Commit Graph

82 Commits

Author SHA1 Message Date
zarazaex69
efd1d5ff16 fix: test dont work 2026-05-10 22:51:51 +03:00
Alexander Anisimov
c4b67e704b fix lint 2026-05-10 18:27:00 +03:00
Alexander Anisimov
8348c3d026 fix socks5 2026-05-10 18:20:10 +03:00
zarazaex69
7aec207603 fix: integer overflow conversion in client 2026-05-10 14:11:58 +03:00
zarazaex69
7128dafda2 feat(socks, test): add test for socks5 user and password 2026-05-10 13:56:20 +03:00
zarazaex69
af49d17e8e feat(socks): add socks5 user and password 2026-05-10 13:56:03 +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
63dd61c61d fix(test): fix all test bugs 2026-05-07 00:38:52 +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
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
ad7c9a5c3e feat: add tile as videochannel visual codec via -video-codec tile 2026-04-30 06:55:34 +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
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
a58e343331 refactor: improve SOCKS5 error handling, refactor client connection logic, and add documentation to internal packages. 2026-04-20 05:46:27 +03:00
zarazaex69
d1d82ff6a3 refactor(client): replace log.Printf with logger and standardize 2026-04-20 05:29:27 +03:00
zarazaex69
35994565c6 refactor(provider): fix golangci 2026-04-14 02:26:28 +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
17e8e52e43 refactor: simplify and clean up logging messages 2026-04-12 23:56:51 +03:00
zarazaex69
e153ad2cb0 refactor: bulk fix golangci-lint issues (perfsprint, revive, errcheck, gosec, etc.) 2026-04-12 23:33:45 +03:00
zarazaex69
15795c0da1 refactor: pass context to NewPeer 2026-04-12 23:29:52 +03:00
zarazaex69
5a1a0c5453 refactor(logger): rename logger methods to Verbosef/Debugf 2026-04-12 23:29:27 +03:00
zarazaex69
d92e7f0158 refactor(client): fix linter issues in client.go 2026-04-12 23:26:14 +03:00
zarazaex69
8026d9cf7a refactor: remove dual channel (duo) mode functionality 2026-04-12 23:11:42 +03:00
Qtozdec
245c6688ca Address PR review feedback 2026-04-11 20:07:22 +03:00
Qtozdec
2067635ecb Fix olcRTC reconnect loop handling 2026-04-10 23:41:59 +03:00
Qtozdec
11b57071f2 Update olcRTC mobile bridge 2026-04-10 22:21:04 +03:00
Qtozdec
913cabe222 Add mux control frames 2026-04-10 16:26:15 +03:00
Qtozdec
ca0191d0de Improve Telemost session behavior 2026-04-10 16:03:42 +03:00
Qtozdec
6c4e79a7d0 Merge upstream master 2026-04-10 15:31:26 +03:00
zarazaex69
484e5160a9 perf(client): Replace event-driven data polling with ticker-based approach 2026-04-10 15:04:47 +03:00
zarazaex69
a758b6fb2d perf(client,mux,server,peer): Remove verbose logging and optimize buffer thresholds 2026-04-10 14:54:21 +03:00
Qtozdec
f48a63a0b9 feat(mobile,client,mux): Android integration + SOCKS5 auth + reliability fixes
- mobile/: gomobile-bindable entry point for Android (combined libgojni.so)
- internal/protect/: Android socket protect via VpnService for olcRTC sockets
- internal/names/data/: embedded name pools for client identity generation
- client: add SOCKS5 USER/PASS auth (RFC 1929) and bind to 127.0.0.1
- mux: infinite backpressure via waitForBufferSpace, raise buffer to 32MB,
  remove close-on-overflow (was corrupting reliable TCP streams over DC)
- peer: remove 3-second drop in send worker — wait for SCTP buffer to drain
  instead of dropping packets (broke large HTTP/2 transfers like Instagram/X)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 13:45:33 +03:00
zarazaex69
ec26cce3dd feat(client,server,peer): Add backpressure handling and optimize buffer thresholds 2026-04-09 20:49:23 +03:00