Commit Graph

383 Commits

Author SHA1 Message Date
zarazaex69
cefd260e5d fix(vp8channel): support multiple simultaneous clients in same room
Implement PeerTransport interface (SendTo/SupportsPeerRouting) so the
server can route KCP traffic to individual peers by their epoch.

When OnPeerData is set (server mode), each remote epoch gets its own
KCP runtime instead of triggering a reconnect loop.

Also add DNS retry in protect.NewHTTPClient to handle transient
resolver failures.

Fixes #67
2026-05-24 17:27:02 +03:00
zarazaex69
cb6fe0980d feat(protect): add DNS retry logic to HTTP client 2026-05-24 17:27:02 +03:00
zarazaex69
98c6dec4a0 docs: normalize em dash to hyphen in Russian documentation and code comments 2026-05-24 05:31:55 +03:00
zarazaex69
cfe9565c21 test(e2e): remove standalone pion loopback PoC after integration into memoryStream 2026-05-24 04:46:53 +03:00
zarazaex69
4d22169be6 test(e2e): add in-memory WebRTC loopback for video transport testing 2026-05-24 04:45:06 +03:00
zarazaex69
f63aa0bc43 refactor(e2e): extract local soak transport error constants 2026-05-24 02:57:30 +03:00
zarazaex69
bb2e1ee1c8 test(e2e): allow multiple transports in local soak test via comma-separated list or 'all' 2026-05-24 02:42:13 +03:00
spkprsnts
5e4c2e27ee refactor(server): split socks5 connect logic
- Extract auth logic to helper functions
- Add linter directives for gosec and globals
2026-05-24 02:18:34 +05:00
spkprsnts
d5973cf2c7 feat(server): add username/password auth for outbound SOCKS5 proxy (RFC 1929) 2026-05-23 05:14:25 +05:00
zarazaex69
fb5ce90e61 refactor(e2e): extract soak pump helpers and modernize range lnt 2026-05-22 20:51:46 +03:00
zarazaex69
d8139a7178 refactor(muxconn): recycle plaintext buffers via sync.Pool 2026-05-22 20:37:17 +03:00
zarazaex69
99a7b12538 refactor(muxconn): replace mutex/cond buffer with channel pipeline 2026-05-22 19:55:13 +03:00
zarazaex69
e9373aabd8 perf(crypto): replace random nonces with salt+counter scheme 2026-05-22 19:38:29 +03:00
zarazaex69
d0b5074072 test(e2e): add local throughput soak test 2026-05-22 18:27:20 +03:00
zarazaex69
c45e12d5c6 chore: replace default Jitsi URL with meet.cryptopro.ru 2026-05-21 19:07:31 +03:00
zarazaex69
9bf81248c4 docs: replace 1.1.1.1 with 8.8.8.8 as default DNS server 2026-05-21 19:01:10 +03:00
zarazaex69
0ec244e0dc docs: update docs and remove wbstream room creation support 2026-05-21 18:51:38 +03:00
zarazaex69
19dba1691d test(e2e): handle clean exits in tunnel startup 2026-05-21 17:12:30 +03:00
zarazaex69
618b210926 fix: golangci 2026-05-21 14:30:18 +03:00
zarazaex69
5839b05763 fix: cancel go t -> startControlLoop 2026-05-21 14:17:39 +03:00
zarazaex69
4b7185f411 fix(client): survive liveness loss without killing SOCKS listener 2026-05-21 13:42:22 +03:00
zarazaex69
bfa6d73ad1 feat(vp8channel): batch multiple KCP packets per RTP sample 2026-05-20 00:12:01 +03:00
zarazaex69
74bb402289 fix(runtime): account for smux frame overhead in wire payload cap 2026-05-19 23:34:37 +03:00
zarazaex69
ccf3ff0988 fix: golangci 2026-05-19 22:02:56 +03:00
zarazaex69
2b6f77f0f6 refactor(vp8channel): add ResetPeer with epoch rotation and mutex #60 2026-05-19 21:58:12 +03:00
zarazaex69
085aadcad7 refactor: remove SaluteJazz carrier support 2026-05-19 21:39:07 +03:00
zarazaex69
d84fb78eef test(e2e): mark jitsi video and vp8 transports as unstable 2026-05-19 09:29:19 +03:00
zarazaex69
3bee3ddbe6 chore(vp8channel): update default fps to 60 and batch size to 64 2026-05-19 09:08:01 +03:00
zarazaex69
31796efe15 docs: replace meet.cryptopro.ru with meet.small-dm.ru as default 2026-05-18 23:37:10 +03:00
zarazaex69
d872f3c900 docs: replace jitsi.etudevs.ru with meet.cryptopro.ru 2026-05-18 22:30:51 +03:00
zarazaex69
65611d903e docs: replace meet.cryptopro.ru with jitsi.etudevs.ru as default 2026-05-18 22:20:02 +03:00
zarazaex69
535c3b75d1 refactor(server): replace context with done channel for stop signal 2026-05-18 08:14:39 +03:00
zarazaex69
4ce5d0356e refactor(logger): extract DisableNoisyPionLogs helper 2026-05-18 05:41:04 +03:00
zarazaex69
143f6dd8a6 feat: add peer-addressed routing across transport and engine layers 2026-05-18 02:38:45 +03:00
zarazaex69
95b73750c9 fix: golangci 2026-05-18 00:46:26 +03:00
zarazaex69
4adea8824f feat(config,script): validate UTF-8 config and hex encryption keys 2026-05-17 22:20:14 +03:00
zarazaex69
f1cad5d6a2 fix(logger): suppress noisy Pion TURN refresh logs 2026-05-17 20:40:42 +03:00
zarazaex69
c6c301c058 fix: handle graceful control shutdown and reconnects 2026-05-17 18:35:05 +03:00
zarazaex69
9a2bbfd44e feat(videochannel): add per-fragment ack tracking 2026-05-17 05:45:43 +03:00
zarazaex69
33cccbc906 fix(e2e): pace stress bulk echo by chunk roundtrip 2026-05-17 05:07:00 +03:00
zarazaex69
7657b3c7b2 test(e2e): time-box stress bulk phase by duration 2026-05-17 00:28:37 +03:00
zarazaex69
b4dc6d2531 test: add nightly stress and churn coverage 2026-05-16 23:49:22 +03:00
zarazaex69
5347c80db5 fix(jitsi): guard reconnect counter with mutex 2026-05-16 22:24:03 +03:00
zarazaex69
f51889ac52 fix(jitsi): keep bytestream endpoints alive 2026-05-16 20:25:54 +03:00
zarazaex69
5d4592f055 fix(jitsi): reset reconnect limit by window start 2026-05-16 19:28:28 +03:00
zarazaex69
cae76a6c34 fix(jitsi): reset peer epoch before reconnect announce 2026-05-16 19:09:29 +03:00
zarazaex69
032151be98 fix(server): reset peer binding on handshake failure 2026-05-16 18:57:04 +03:00
zarazaex69
acac1121a7 fix(jitsi): add epoch-based bridge frame filtering 2026-05-16 18:46:58 +03:00
zarazaex69
07b86a7559 test(jitsi): guard session type assertions in tests 2026-05-16 18:38:14 +03:00
zarazaex69
a329b1fd56 feat(jitsi): add automatic bridge reconnection 2026-05-16 18:33:24 +03:00