Commit Graph

699 Commits

Author SHA1 Message Date
zarazaex69
4f4c99032c docs: move "read before ask" link earlier in readme 2026-05-21 14:50:48 +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
9e7d0836a3 docs: translate docs to Russian and remove project-map 2026-05-19 22:46:39 +03:00
zarazaex69
2fc9caac6c ci: remove jazz from real carrier e2e test matrix 2026-05-19 22:08:51 +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
1cc5046231 chore: bump github.com/zarazaex69/j to 20260518222913 2026-05-19 08:20:06 +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
d74b10a38d chore: bump zarazaex69/j to latest version 2026-05-18 21:47:24 +03:00
zarazaex69
92fbe7edda refactor: move stderr filter to unix build-tagged file 2026-05-18 10:58:04 +03:00
zarazaex69
535c3b75d1 refactor(server): replace context with done channel for stop signal 2026-05-18 08:14:39 +03:00
zarazaex69
7ca82dfa74 feat: filter noisy log lines from stderr at the fd level 2026-05-18 08:05:24 +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
bbcf8f6ed1 docs(cnc): replace proxy test hint with curl socks5 command 2026-05-17 21:53:18 +03:00
zarazaex69
b2583d327c refactor(cnc): use host network and enforce SOCKS auth for non-loopback 2026-05-17 21:50:42 +03:00
zarazaex69
e7667136b0 feat(script): improve Jitsi room configuration in cnc and srv 2026-05-17 21:45:58 +03:00
zarazaex69
97ea7c23fb feat(scripts): add jitsi as default auth/carrier option 2026-05-17 21:43:04 +03:00
zarazaex69
32b8c8ef3e feat(script): add cnc mode and Go build caching 2026-05-17 20:56:07 +03:00
zarazaex69
6db5a53351 feat(docker): add ffmpeg and media env config 2026-05-17 20:55:42 +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
zarazaex69
2fdbe5c0ca fix(session): apply custom DNS before connect 2026-05-16 18:22:02 +03:00
zarazaex69
a321413f83 fix: golangci 2026-05-16 16:44:36 +03:00
zarazaex69
60e731c4bb fix(salutejazz): bound session close on wedged pc shutdown 2026-05-16 16:39:07 +03:00
zarazaex69
6df6ecb3c6 Merge branch 'refactor/bigrefactor'
Big structural refactor in 9 atomic commits:
- internal/framing: shared length-prefix codec for handshake/control
- typed per-transport options replace flat tunables in transport/link/server/client/session Configs
- remove internal/link layer (one-to-one proxy over transport.Transport)
- collapse internal/carrier into engine; transports go through enginebuiltin.Open + engine.VideoTrackCapable
- internal/transport/common: shared RandomID/FragmentPayload/Reassembler/AckRegistry
- internal/runtime: shared SetupCipher/SmuxConfig/HealthTracker between server and client
- session.Config: typed Video/VP8/SEI subsections instead of flat fields
- chore: drop abusive header comment in vp8channel
- chore: satisfy golangci-lint (cyclop/exhaustive/gosec/lll/wrapcheck)

Net: 57 files changed, -330 lines, 5 packages deleted (link, link/direct,
carrier, carrier/builtin), 4 new (framing, transport/common, runtime,
engine/builtin). All 33 packages green on each commit; golangci-lint clean.
2026-05-16 15:10:01 +03:00
zarazaex69
80cc3bafe4 chore(lint): satisfy golangci-lint after big refactor
Address 25 issues reported by golangci-lint following the structural
refactor:

- cyclop: split common.Reassembler.Push into upsert/storeChunk/deliver
  helpers (12→5). Move seichannel option-default fill into Options.
  withDefaults so New stays under the limit.
- exhaustive: enumerate ResultPartial / ResultIgnore explicitly in
  seichannel and videochannel switches over common.Result.
- gosec G115: annotate the test-fixture int→uint16/uint32 conversions
  in common_test.go with //nolint:gosec.
- lll: break up the 130+ character one-liners in transport
  unit/integration tests and the videochannel track-ID construction.
- nolintlint: drop the stale //nolint:cyclop in mobile_test.go where
  the underlying complexity already cleared the limit.
- wrapcheck: wrap errors returned from internal/framing and
  internal/runtime in their public callers (handshake, control,
  server.setupCipher, client.setupCipher) so they carry the layer name.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 14:38:03 +03:00