Alessandro Ros and GitHub
f453b59cd6
improve listener labels ( #5635 )
...
add a label after every "listener opened on :XXX" message that mentions
protocols of every listener.
2026-04-03 16:35:31 +02:00
Alessandro Ros and GitHub
7418e51031
prevent directory traversal attacks ( #5602 )
...
Path names are used as part of paths in several components: in the
recorder, in the playback server and in every HTTP-based component
(WebRTC, HLS, API). Special characters that allow to escape from the
intended directory are now forbidden in order to prevent directory
traversal attacks.
2026-03-23 20:16:12 +01:00
Alessandro Ros and GitHub
3381b196fb
solve codec labels internally ( #5603 )
...
stop using gortsplib format.Format.Codec() for getting codec names.
2026-03-21 18:22:49 +01:00
Alessandro Ros and GitHub
c8e07b55d5
api: add new stats ( #5582 )
...
- RTSPSession.outboundRTPPacketsDiscarded
- Path.inboundFramesInError
- SRTConn.outboundFramesDiscarded
- WebRTCSession.outboundFramesDiscarded
- RTMPConn.outboundFramesDiscarded
- HLSMuxer.outboundFramesDiscarded
2026-03-17 17:22:15 +01:00
Alessandro Ros and GitHub
adf45596a3
api: rename WebRTC stats to match RTSP ones ( #5581 )
2026-03-16 23:29:25 +01:00
Alessandro Ros and GitHub
dfce20fefa
api: add RTSP reported lost packets ( #5198 ) ( #5579 )
...
The new outboundRtpPacketsReportedLost property allows to track RTP
packets that have been reported lost by readers. Furthermore, stats now
have a "inbound" or "outbound" prefix to improve readability.
2026-03-16 22:10:18 +01:00
Alessandro Ros and GitHub
3bad7045c1
api: add missing enums and move all enums in dedicated components ( #5576 )
2026-03-15 22:09:00 +01:00
Alessandro Ros and GitHub
d1fd3df27c
api: add user field to RTSP, RTMP, SRT, WebRTC conns and sessions ( #5104 ) ( #5565 )
2026-03-14 00:03:58 +01:00
Alessandro Ros and GitHub
a6856e9e58
tests: fix race conditions ( #5571 )
2026-03-13 22:32:06 +01:00
Alessandro Ros and GitHub
35e1f486c9
add integrated packet dumper ( #5488 )
...
this allows to dump any incoming and outgoing packet, to disk, in
pcapng format.
2026-02-22 13:34:05 +01:00
Alessandro Ros and GitHub
46b4293e35
api: improve openapi definition ( #5380 )
...
add uint64, uint, uuid, move WebRTCICEServer into dedicated schema
2026-01-25 19:35:43 +01:00
Alessandro Ros and GitHub
1a53e40bdc
switch to reflect.Pointer ( #5377 )
2026-01-25 13:51:49 +01:00
Alessandro Ros and GitHub
3de05c1330
api: always reply with JSON in case of success or failure ( #5252 )
...
Reply with "status": "ok" in case of success, and with "status":
"error" in case of error. This makes the API more accessible and user
friendly.
2025-12-07 10:37:55 +01:00
Alessandro Ros and GitHub
8d3c4074d8
api: split implementation into multiple files ( #5251 )
2025-12-06 22:50:06 +01:00
ade0cddeb3
support multiple CORS origins ( #5150 )
...
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2025-11-21 02:00:46 +01:00
Alessandro Ros and GitHub
ff187b6d8a
update golangci-lint configuration ( #5182 )
2025-11-11 23:57:52 +01:00
Alessandro Ros and GitHub
7634370818
add read and write timeouts in HTTP servers ( #5056 )
...
this prevents zombie connections from piling up.
2025-10-04 10:01:21 +02:00
Alessandro Ros and GitHub
2690ef8e71
api: add /info endpoint ( #945 ) ( #5045 )
2025-09-30 10:39:27 +02:00
Alessandro Ros and GitHub
f987695d9d
rtsp: log authentication failure reason ( #4641 ) ( #5017 )
2025-09-23 10:18:13 +02:00
Alessandro Ros and GitHub
5240bcb8ff
log authentication errors of API, metrics, pprof ( #4641 ) ( #5015 )
2025-09-23 09:51:22 +02:00
Alessandro Ros and GitHub
b517631b8f
fix authentication failure reason not being displayed ( #5007 )
2025-09-22 09:48:51 +02:00
6ffa07e8e8
Add support for HTTP over unix sockets ( #4241 )
...
This adds support for using unix scheme in xxxAddress config options.
For example `hlsAddress: "unix://hls.sock"`.
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2025-08-03 12:30:26 +02:00
Alessandro Ros and GitHub
74bfb988d7
allow disabling JWT in HTTP query parameters ( #4518 )
2025-05-11 10:21:08 +02:00
Alessandro Ros and GitHub
f97213ae6e
support passing JWTs through the password field ( #4516 )
...
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
7360981aa7
Feat: Add JWKS rotation API endpoint ( #4463 )
...
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2025-05-10 13:44:02 +02:00
Alessandro Ros and GitHub
defee1eed9
hls: fix toggling hlsAlwaysRemux after server is started ( #4503 )
...
When hlsAlwaysRemux was switched from false to true, through API or hot
reloading, muxers of existing paths were not created. This fixes the
issue.
2025-05-09 22:50:11 +02:00
Alessandro Ros and GitHub
386be42784
rtsp: rewrite authentication around ServerConn.VerifyCredentials ( #4267 )
2025-02-18 17:54:13 +01:00
Alessandro Ros and GitHub
7ade2896e5
warn users when non-existent fields are used in conf ( #4261 )
2025-02-18 15:23:44 +01:00
Alessandro Ros and GitHub
8f04264fe5
webrtxc: fix MTX_QUERY not set when reading or publishing ( #4138 ) ( #3937 ) ( #4141 )
2025-01-11 17:29:48 +01:00
Alessandro Ros and GitHub
b49acb1e00
accept durations expressed as days (i.e. '1d') ( #4094 )
2025-01-02 12:44:15 +01:00
Alessandro Ros and GitHub
d38b7e95fc
playback: allow filtering timespans by start and end date ( #3637 ) ( #3489 ) ( #4085 )
2025-01-02 12:43:18 +01:00
Alessandro Ros and GitHub
df3362aef8
warn users if deprecated parameters are being used ( #4080 )
2024-12-25 19:28:54 +01:00
Alessandro Ros and GitHub
576a117c7c
bump Golang to 1.23 ( #3702 )
2024-11-04 14:02:05 +01:00
Alessandro Ros and GitHub
d13dc1074a
make better use of Gin middleware system ( #3849 )
2024-10-08 17:02:16 +02:00
Alessandro Ros and GitHub
534b637bc7
support using JWT in Authorization header with API, Metrics, PProf ( #3630 ) ( #3795 )
2024-10-05 21:15:21 +02:00
Alessandro Ros and GitHub
73a300afd0
fix cleaning of recordings in case of multiple recordDeleteAfter values ( #3557 ) ( #3741 )
2024-09-08 20:33:18 +02:00
Alessandro Ros and GitHub
3f1d182d2c
fix support for HTTP preflight requests ( #1792 ) ( #3535 )
2024-07-06 21:45:15 +02:00
Alessandro Ros and GitHub
9554fc4ba0
prevent mixing together legacy and current auth mechanism ( #3258 ) ( #3460 )
2024-06-12 17:38:55 +02:00
Alessandro Ros and GitHub
efb51044db
api: fix crash when itemsPerPage is zero and there are items ( #3425 )
2024-06-04 23:09:50 +02:00
Alessandro Ros and GitHub
f4b7f147a5
api, playback: add CORS headers on non-existing pages too ( #1792 ) ( #3410 )
2024-05-30 14:29:05 +02:00
Bouke van der Bijl and GitHub
6793a12aff
api: make replace paths idempotent ( #3362 )
...
Don't return a 404 error if the path doesn't exist yet
2024-05-19 14:40:50 +02:00
Alessandro Ros and GitHub
85dd81698b
support HTTPS, Allow-Origin and trusted proxies in API, playback server, metrics server and pprof server ( #2658 ) ( #2491 ) ( #3235 ) ( #3280 )
2024-04-21 17:10:35 +02:00
2bd8ac7e19
fix support for JWT authentication in API, metrics, playback, pprof ( #3253 )
...
Co-authored-by: Rafael Scheidt <rafaelscheidt@Rafaels-MacBook-Air.local >
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2024-04-18 23:55:48 +02:00
Alessandro Ros and GitHub
b84f0b90d0
add JWT authentication tests ( #3272 )
2024-04-18 22:58:37 +02:00
Alessandro Ros and GitHub
0b5519d30c
deprecate path.playback parameter ( #3217 )
...
this has become useless after the introduction of the new
authentication system, that already allows to select which paths are
available for playback
2024-04-09 10:04:12 +02:00
Alessandro Ros and GitHub
24cc62e344
hls: decrease number of idle connections kept open after a reconnection ( #3128 )
2024-03-10 11:51:15 +01:00
Alessandro Ros and GitHub
9c6ba7e2c7
New authentication system ( #1341 ) ( #1992 ) ( #2205 ) ( #3081 )
...
This is a new authentication system that covers all the features exposed by the server, including playback, API, metrics and PPROF, improves internal authentication by adding permissions, improves HTTP-based authentication by adding the ability to exclude certain actions from being authenticated, adds an additional method (JWT-based authentication).
2024-03-04 14:20:34 +01:00
Alessandro Ros and GitHub
9e5de737f0
move SRT tests into internal/servers/srt ( #3037 )
2024-02-17 20:42:41 +01:00
Alessandro Ros and GitHub
3161e73a58
rename httpserv into httpp ( #3014 )
2024-02-13 13:04:56 +01:00
Alessandro Ros and GitHub
fcf649cdaf
tests: make sure that dates with decimal seconds can be parsed correctly ( #3007 )
2024-02-12 00:20:35 +01:00