From 8026d9cf7aee0911dc234e53b310cf00af6163d9 Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Sun, 12 Apr 2026 23:11:42 +0300 Subject: [PATCH 1/2] refactor: remove dual channel (duo) mode functionality --- cmd/olcrtc/main.go | 4 ---- internal/client/client.go | 15 ++++----------- internal/server/server.go | 6 +----- mobile/mobile.go | 4 +--- 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/cmd/olcrtc/main.go b/cmd/olcrtc/main.go index 775d7c5..846f4e4 100644 --- a/cmd/olcrtc/main.go +++ b/cmd/olcrtc/main.go @@ -28,7 +28,6 @@ type config struct { keyHex string debug bool dataDir string - duo bool dnsServer string socksProxyAddr string socksProxyPort int @@ -94,7 +93,6 @@ func parseFlags() config { flag.StringVar(&cfg.keyHex, "key", "", "Shared encryption key (hex)") flag.BoolVar(&cfg.debug, "debug", false, "Enable verbose logging") flag.StringVar(&cfg.dataDir, "data", "data", "Path to data directory") - flag.BoolVar(&cfg.duo, "duo", false, "Use dual channels for 2x throughput") flag.StringVar(&cfg.dnsServer, "dns", "1.1.1.1:53", "DNS server (default: Cloudflare 1.1.1.1)") flag.StringVar(&cfg.socksProxyAddr, "socks-proxy", "", "SOCKS5 proxy address (server only)") flag.IntVar(&cfg.socksProxyPort, "socks-proxy-port", 1080, "SOCKS5 proxy port (server only)") @@ -158,7 +156,6 @@ func runMode(ctx context.Context, cfg config, errCh chan<- error) { ctx, roomURL, cfg.keyHex, - cfg.duo, cfg.dnsServer, cfg.socksProxyAddr, cfg.socksProxyPort, @@ -169,7 +166,6 @@ func runMode(ctx context.Context, cfg config, errCh chan<- error) { roomURL, cfg.keyHex, cfg.socksPort, - cfg.duo, cfg.socksHost, "", "", diff --git a/internal/client/client.go b/internal/client/client.go index f89ccc1..9d5bf67 100644 --- a/internal/client/client.go +++ b/internal/client/client.go @@ -49,12 +49,11 @@ func Run( roomURL, keyHex string, socksPort int, - duo bool, socksHost, socksUser, socksPass string, ) error { - return RunWithReady(ctx, roomURL, keyHex, socksPort, duo, socksHost, socksUser, socksPass, nil) + return RunWithReady(ctx, roomURL, keyHex, socksPort, socksHost, socksUser, socksPass, nil) } // RunWithReady starts the client and invokes onReady once the local SOCKS5 listener is accepting connections. @@ -63,7 +62,6 @@ func RunWithReady( roomURL, keyHex string, socksPort int, - duo bool, socksHost, socksUser, socksPass string, @@ -90,12 +88,12 @@ func RunWithReady( c := &Client{ cipher: cipher, clientID: uint32(time.Now().UnixNano() & 0xFFFFFFFF), - peers: make([]*telemost.Peer, 0, peerCount(duo)), + peers: make([]*telemost.Peer, 0, 1), } c.mux = mux.New(c.clientID, c.sendFrame) - for peerID := range peerCount(duo) { + for peerID := range 1 { if err := c.addPeer(runCtx, roomURL, peerID, cancel); err != nil { return err } @@ -113,12 +111,7 @@ func RunWithReady( return err } -func peerCount(duo bool) int { - if duo { - log.Println("Duo mode: using 2 parallel channels") - return 2 - } - +func peerCount() int { return 1 } diff --git a/internal/server/server.go b/internal/server/server.go index 1616cc5..ebd9650 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -45,7 +45,7 @@ type ConnectRequest struct { Port int `json:"port"` } -func Run(ctx context.Context, roomURL, keyHex string, duo bool, dnsServer, socksProxyAddr string, socksProxyPort int) error { +func Run(ctx context.Context, roomURL, keyHex string, dnsServer, socksProxyAddr string, socksProxyPort int) error { runCtx, cancel := context.WithCancel(ctx) defer cancel() var key []byte @@ -100,10 +100,6 @@ func Run(ctx context.Context, roomURL, keyHex string, duo bool, dnsServer, socks } peerCount := 1 - if duo { - peerCount = 2 - log.Println("Duo mode: using 2 parallel channels") - } s.mux = mux.New(0, func(frame []byte) error { for { diff --git a/mobile/mobile.go b/mobile/mobile.go index e60cac7..4ed9ad7 100644 --- a/mobile/mobile.go +++ b/mobile/mobile.go @@ -77,9 +77,8 @@ func SetDebug(enabled bool) { // roomID: Telemost room ID (e.g. "xxx-xxx-xxx") // keyHex: 64-char hex encryption key // socksPort: local SOCKS5 proxy port (e.g. 10808) -// duo: use dual channels for higher throughput // socksUser/socksPass: SOCKS5 credentials (empty = no auth). -func Start(roomID, keyHex string, socksPort int, duo bool, socksUser, socksPass string) error { +func Start(roomID, keyHex string, socksPort int, socksUser, socksPass string) error { mu.Lock() defer mu.Unlock() @@ -110,7 +109,6 @@ func Start(roomID, keyHex string, socksPort int, duo bool, socksUser, socksPass roomURL, keyHex, socksPort, - duo, "", socksUser, socksPass, From 80c31fe95f22b3a10d04ef4726021279c3c4be92 Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Sun, 12 Apr 2026 23:14:17 +0300 Subject: [PATCH 2/2] refactor(peer): remove debug logging from send queue worker --- internal/telemost/peer.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/internal/telemost/peer.go b/internal/telemost/peer.go index 13b54c3..2cfceab 100644 --- a/internal/telemost/peer.go +++ b/internal/telemost/peer.go @@ -1041,8 +1041,6 @@ func (p *Peer) WatchConnection(ctx context.Context) { } func (p *Peer) processSendQueue(workerID int, sessionCloseCh <-chan struct{}) { - log.Printf("[WORKER-%d] Started", workerID) - defer log.Printf("[WORKER-%d] Stopped", workerID) for { select {