Commit Graph
40 Commits
Author SHA1 Message Date
Alessandro RosandGitHub a4ad182e4e format imports (#6041) 2026-08-04 22:13:15 +00:00
Alessandro RosandGitHub 58c6099e50 ask for credentials only in case of protocols that support it (#5966)
When clients connect with some protocols (SRT, RTMP), they are unable
to provide credentials even if they are asked to. In this case, it's
useless to wait for credentials, and it's better to immediately log
authentication errors and apply the anti-brute force algorithm.
2026-07-19 16:52:14 +02:00
Alessandro RosandGitHub e14ada6f4b normalize authentication error messages (#5421) (#5959)
Log authentication errors as soon as possible, use the "warn" level,
use the same message whatever the author or protocol.
2026-07-19 10:04:17 +02:00
Alessandro RosandGitHub f5d7ed3138 improve anti-brute force mechanism (#5835)
delay authentication failure responses by a random amount of time, use
the same anti-brute force mechanism with all users.
2026-06-05 17:01:36 +02:00
Alessandro RosandGitHub b5b63d02fc support reading and publishing with Media-over-QUIC (#5815)
Media-over-QUIC is a streaming protocol built upon cutting edge
protocols (QUIC, HTTP3) and browser APIs (WebTransport, WebCodecs).
It's slightly faster than WebRTC, has an advanced data recovery
mechanism (placed at the frame level and not at the packet level), it
supports additional codecs (FLAC) and is less complicated to route.
2026-06-02 23:04:24 +02:00
Alessandro RosandGitHub 67caaea4fe playback: return errors as JSON (#5656)
this is aligned with all other HTTP-based services.
2026-04-09 17:11:03 +02:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub 3bad7045c1 api: add missing enums and move all enums in dedicated components (#5576) 2026-03-15 22:09:00 +01:00
Alessandro RosandGitHub d1fd3df27c api: add user field to RTSP, RTMP, SRT, WebRTC conns and sessions (#5104) (#5565) 2026-03-14 00:03:58 +01:00
Alessandro RosandGitHub 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 RosandGitHub 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
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 RosandGitHub ff187b6d8a update golangci-lint configuration (#5182) 2025-11-11 23:57:52 +01:00
Alessandro RosandGitHub 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 RosandGitHub f987695d9d rtsp: log authentication failure reason (#4641) (#5017) 2025-09-23 10:18:13 +02:00
Alessandro RosandGitHub b517631b8f fix authentication failure reason not being displayed (#5007) 2025-09-22 09:48:51 +02:00
Alessandro RosandGitHub 0c801564fd playback: fix crash during authentication errors (#4960) (#4966) 2025-09-12 15:24: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 RosandGitHub 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
Alessandro RosandGitHub 386be42784 rtsp: rewrite authentication around ServerConn.VerifyCredentials (#4267) 2025-02-18 17:54:13 +01:00
Alessandro RosandGitHub 8f04264fe5 webrtxc: fix MTX_QUERY not set when reading or publishing (#4138) (#3937) (#4141) 2025-01-11 17:29:48 +01:00
Alessandro RosandGitHub b49acb1e00 accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +01:00
Alessandro RosandGitHub d13dc1074a make better use of Gin middleware system (#3849) 2024-10-08 17:02:16 +02:00
Alessandro RosandGitHub 534b637bc7 support using JWT in Authorization header with API, Metrics, PProf (#3630) (#3795) 2024-10-05 21:15:21 +02:00
Alessandro RosandGitHub 73a300afd0 fix cleaning of recordings in case of multiple recordDeleteAfter values (#3557) (#3741) 2024-09-08 20:33:18 +02:00
Alessandro RosandGitHub 3f1d182d2c fix support for HTTP preflight requests (#1792) (#3535) 2024-07-06 21:45:15 +02:00
Alessandro RosandGitHub f4b7f147a5 api, playback: add CORS headers on non-existing pages too (#1792) (#3410) 2024-05-30 14:29:05 +02:00
Alessandro RosandGitHub 0c86dca71a fix 'no segments found' error message (#3323) 2024-05-05 11:43:41 +02:00
Alessandro RosandGitHub 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 RosandGitHub 0a8e6263a8 playback: increase sequence number of fMP4 parts (#3200) 2024-04-07 14:23:02 +02:00
Alessandro RosandGitHub 50322fc14e playback: do not concatenate segments with different tracks (#3197) 2024-04-06 20:01:23 +02:00
Alessandro RosandGitHub 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 RosandGitHub 3161e73a58 rename httpserv into httpp (#3014) 2024-02-13 13:04:56 +01:00
Alessandro RosandGitHub 0332ba59a0 api: add endpoints for recording management (#2901) (#2988) 2024-02-04 23:51:51 +01:00
Alessandro RosandGitHub 695e327a03 playback: make 'format' parameter optional (#2980) 2024-02-03 16:11:09 +01:00
Alessandro RosandGitHub ff70f9022e playback: accept durations written in seconds (#2979) 2024-02-03 16:05:39 +01:00
Alessandro RosandGitHub e6bf095a05 playback: add /list endpoint to list available timespans (#2978) 2024-02-03 15:54:07 +01:00
Alessandro RosandGitHub 57c2d5aecb add playback server (#2452) (#2906)
* add playback server

* add playback switch

* update readme
2024-01-23 20:52:05 +01:00