Commit Graph

101 Commits

Author SHA1 Message Date
zarazaex69
51e6e8a39c refactor: configuration structures instead of 27 arguments 2026-05-13 16:16:56 +03:00
zarazaex69
dc1fe0f19c refactor: replace -carrier with -auth/-engine/-url/-token (stage E)
Break CLI backwards compatibility as planned for refactor/universal-carrier:

- Drop -carrier flag; add -auth (auth provider name), -engine (engine
  name for -auth none), -url and -token (SFU endpoint + access token for
  direct/none auth mode).
- session.Config.Carrier → Auth + Engine + URL + Token.
- session.Gen() is now generic: auth.Get(cfg.Auth).(auth.RoomCreator)
  replaces the hard-coded switch on carrier names.
- Register a "none" carrier in builtin (registerDirect) that bypasses
  auth and connects directly to any engine with caller-supplied URL+Token.
- auth/telemost.Provider.Issue now accepts a raw room-ID hash in addition
  to a full https://telemost.yandex.ru/j/<id> URL.
- Plumb Engine/URL/Token from session.Config through server.Run,
  client.Run/RunWithReady, bringUpLink, link.Config, transport.Config, and
  carrier.Config so the "none" carrier has access to them end-to-end.
- Update all tests and mobile.go call sites.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 13:31:07 +03:00
zarazaex69
0723ddf2f5 fix: golangci errors 2026-05-11 02:21:41 +03:00
zarazaex69
f6b82da099 feat: remove nolint 2026-05-10 23:02:00 +03:00
zarazaex69
87a546605c fix: golangci 2026-05-07 16:36:30 +03:00
zarazaex69
e4212b346b feat(sei): add sei config 2026-05-07 01:08:35 +03:00
zarazaex69
9ca0e8f57f fix: srv dont leave bug 2026-05-07 00:42:36 +03:00
zarazaex69
63dd61c61d fix(test): fix all test bugs 2026-05-07 00:38:52 +03:00
zarazaex69
a217093b8e feat(test): add e2e 2026-05-07 00:08:22 +03:00
zarazaex69
aa49808e68 feat(test): init base test 2026-05-06 22:33:29 +03:00
zarazaex69
0cae2d0b8f fix: golangci errors 2026-05-06 19:55:09 +03:00
zarazaex69
1965cff5cf fix: -client-id bug 2026-05-06 19:23:16 +03:00
zarazaex69
8be56493f0 feat: add clientid key 2026-05-06 19:23:16 +03:00
zarazaex69
3c816a38e8 fix: state 2026-05-03 11:54:13 +03:00
zarazaex69
ee4afe6f07 fix: reconnect keepalive DONT work 2026-05-03 10:44:06 +03:00
zarazaex69
fce4d12fbc fix: waitForNewSession spam 2026-05-03 10:33:40 +03:00
zarazaex69
dd606ddfb2 fix: fix all golangci errors 2026-05-03 06:10:48 +03:00
zarazaex69
5bb8178e50 feat(smux): replace internal/mux with smux over KCP
Replace the hand-rolled multiplexer (internal/mux) with xtaci/smux v2
running on top of the existing KCP-reliable vp8channel transport.

- Add internal/muxconn: io.ReadWriteCloser adapter bridging link.Link
  (message-oriented) into the byte-stream smux expects; applies AEAD
  on every write and inverts it on every received message
- Rewrite client: smux.Client session over muxconn; OpenStream per
  SOCKS5 connection; reconnect handler tears down and rebuilds session
- Rewrite server: smux.Server session; AcceptStream loop dispatches
  each stream to a proxy handler; tolerates session bounces on reconnect
- Delete internal/mux: all sequence/reorder/buffer logic is now
  handled by smux + KCP
2026-05-03 00:45:58 +03:00
zarazaex69
602c8a7b0d refactor: remove telemetry and metrics collection 2026-05-02 14:39:49 +03:00
zarazaex69
1101528cf6 refactor: add comprehensive diagnostics and flow control to data pumping 2026-05-02 02:18:45 +03:00
zarazaex69
ad7c9a5c3e feat: add tile as videochannel visual codec via -video-codec tile 2026-04-30 06:55:34 +03:00
zarazaex69
9025ba9b81 refactor: remove byte tracking from pumpToMux 2026-04-30 00:20:18 +03:00
zarazaex69
b83b334472 Remove periodic progress logging in pumpToMux 2026-04-28 19:18:23 +03:00
zarazaex69
689441a7f4 Add configurable QR error correction level for video transpor 2026-04-27 18:53:39 +03:00
zarazaex69
a2d1b95ffa feat: add support for 'b' visual codec in videochannel 2026-04-22 21:26:50 +03:00
zarazaex69
6379fa527e feat: add vp8-fps and vp8-batch settings for vp8channel throughput tuning 2026-04-22 17:17:08 +03:00
zarazaex69
af34cdbd8e feat: add video-qr-size configuration for videochannel transport 2026-04-21 22:32:01 +03:00
zarazaex69
f6cfaf8081 refactor: implement explicit shutdown logic for client connections and server stream pumps 2026-04-21 02:30:18 +03:00
zarazaex69
73fb1227d9 feat: implement strict configuration validation and remove default values for required CLI flags 2026-04-21 02:12:54 +03:00
zarazaex69
513e2bdd9d feat: refactor client connection handling and error management 2026-04-21 01:51:48 +03:00
zarazaex69
9e09975165 feat: implement video channel transport 2026-04-21 01:32:17 +03:00
zarazaex69
2cad1b0e87 refactor: align tunnel runtime terminology 2026-04-20 20:20:02 +03:00
zarazaex69
ea249091c4 refactor: make link selectable at runtime 2026-04-20 20:18:23 +03:00
zarazaex69
9bd9503daa refactor: add direct link layer 2026-04-20 20:13:49 +03:00
zarazaex69
fffb90e321 refactor: introduce transport layer 2026-04-20 20:05:23 +03:00
zarazaex69
a0b6ef0f35 refactor(server): replace log.Printf with logger and clean up 2026-04-20 05:27:35 +03:00
zarazaex69
35994565c6 refactor(provider): fix golangci 2026-04-14 02:26:28 +03:00
zarazaex69
acf0bad227 style(server,mobile): format function signatures and add provider name 2026-04-14 02:12:27 +03:00
zarazaex69
6e6265799a feat(provider): abstract provider interface and add jazz support 2026-04-14 01:10:57 +03:00
zarazaex69
1509f28e23 fix(reconnect): guard mux operations behind data channel validity check 2026-04-14 00:24:22 +03:00
zarazaex69
0aa73f72ef fix(peer): remove unused reconnect callback from data channel close handler 2026-04-14 00:19:02 +03:00
zarazaex69
f43bea1680 fix(server): remove unused peer reconnect callback 2026-04-13 15:35:32 +03:00
zarazaex69
17e8e52e43 refactor: simplify and clean up logging messages 2026-04-12 23:56:51 +03:00
zarazaex69
d3ee8101f6 refactor: suppress safe gosec warnings and fix revive 2026-04-12 23:43:14 +03:00
zarazaex69
89e17d334f refactor: fix last perfsprint and revive issues 2026-04-12 23:42:53 +03:00
zarazaex69
66363974e1 refactor: address final revive and complexity issues 2026-04-12 23:42:06 +03:00
zarazaex69
222a2de5c5 refactor: suppress remaining revive warnings 2026-04-12 23:40:19 +03:00
zarazaex69
a31a7a53ea refactor: final polish of linter issues 2026-04-12 23:39:50 +03:00
zarazaex69
d0fdf0f91d refactor: final golangci-lint fixes (complexity, unused, whitespace, etc.) 2026-04-12 23:39:03 +03:00
zarazaex69
b89fdd45cc refactor: fix revive exported return and Run comment 2026-04-12 23:34:06 +03:00