Alessandro Ros and GitHub
f87d9e659e
hls: track sessions ( #962 ) ( #5683 )
...
sessions are now tracked through cookies or query parameters.
This provides the ability to inspect sessions through logs, metrics and
API, allows more precise tracking of outbound bytes, decreases load on
external HTTP authentication URLs since they are now called once per
session and not once per request.
2026-04-25 21:10:34 +02:00
Alessandro Ros and GitHub
2589c99639
return a custom error when body size limit is exceeded ( #5675 )
2026-04-21 19:00:30 +02:00
Alessandro Ros and GitHub
caeccdceff
prevent out-of-memory errors ( #5674 )
...
impose a maximum size on body of incoming HTTP requests and responses.
2026-04-19 21:39:08 +02:00
Alessandro Ros and GitHub
c7826d406b
hls: return JSON with error message in case path conf is not available ( #5655 )
...
this behavior is aligned with WebRTC one.
2026-04-08 23:26:04 +02:00
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