[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96226":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":18,"hasPages":18,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":16,"starSnapshotCount":16,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},96226,"OpenFlux","p1neappleXpress\u002FOpenFlux","p1neappleXpress","Network stack research tool. TCP tunnel with pluggable transports.",null,"https:\u002F\u002Fgithub.com\u002Fp1neappleXpress\u002FOpenFlux","Go",1033,83,24,21,0,18.77,false,"main","2026-09-21 02:04:31","# OpenFlux\n\n**English** | [Русский](README.ru.md)\n\nNetwork stack research tool. TCP tunnel with pluggable transports.\n\n\n# Disclaimer\n\nThe author of OpenFlux **does not encourage** the use of this project to bypass restrictions or violate the rules of any platform, and **is not responsible** for the final scenarios of how users apply this tool in real life or on the Internet. Any specific technical features of the application are nothing more than an **architectural coincidence**, created **without any intent**.\n\nThe project is **entirely non-commercial**, contains **no paid features, hidden subscriptions, or commercial benefit**.\n\nThe author **is not responsible** for forks, modifications, or derivative versions of OpenFlux created by third parties. Any changes added to a fork are the responsibility of its author.\n\nThe author **is not responsible** for:\n\n- Any use of OpenFlux by third parties\n- Consequences caused by the use of forks and modifications\n- Damage resulting from derivative versions\n- Violations committed using forks\n\nThe original code is provided **as is**, **without any warranties**.\n\n## Clients\n\n| Platform | Download | Notes |\n|----------|----------|-------|\n| **Android** | [OpenFluxAndroid releases](https:\u002F\u002Fgithub.com\u002Fp1neappleXpress\u002FOpenFluxAndroid) | Standalone APK |\n| **iOS** | [TestFlight beta](https:\u002F\u002Ftestflight.apple.com\u002Fjoin\u002FBwnAcdus) | System-wide VPN via Network Extension |\n\n> **iOS app** built by [@saharev1](https:\u002F\u002Fgithub.com\u002Fsaharev1) — full iOS client, TestFlight pipeline, system VPN support, DNS-over-TLS, and many stability fixes. HUGE thanks! 🙏\n>\n> **Android app** — [p1neappleXpress\u002FOpenFluxAndroid](https:\u002F\u002Fgithub.com\u002Fp1neappleXpress\u002FOpenFluxAndroid).\n\n## Overview\n```\nClient (SOCKS5) --> Transport --> Exit Node --> Internet\n```\n\n## Requirements\n1. Golang v. 1.26.3+ - is required for building desktop client \u002F exit node binary (universal-bypass-tool);\n2. Android Native Development Kit (NDK) v.27.0.12077973+ - is required for building Android client binary;\n3. XCode v. 26.6+ - is required for building iOS client binary;\n4. Linux VPS \u002F VDS exit node.\n\n## Overview\n\nTCP packets are sent via Transport. Currently, there are two transports available:\n1. Yandex - sends packets via Yandex Docs cursor messages;\n2. Max - sends packets via WebRTC DataChannel\n    WARNING:\n   - **Do not use** your primary or important MAX account.\n   - **Do not use** an account whose deletion or loss of access would be critical.   \n   - Usage via an **external VPS** may lead to **account restrictions**.\n   - The **restriction may persist** after stopping OpenFlux.\n   - MAX transport should be considered **experimental** until the blocking mechanism is understood. \n\nClient side runs a SOCKS5 proxy, exit node decapsulates and forwards packets to destination point.\n\n## Structure\n\n```\nOpenFlux\u002F\n├── main.go                     # CLI entry (client \u002F exit-node)\n├── export_ios.go               # cgo bridge for the iOS static library (build tag: ios)\n├── transport\u002F\n│   ├── transport.go            # Transport interface\n│   ├── compressor.go           # Compression wrapper\n│   ├── yandex\u002F                 # Yandex Docs backend\n│   └── oneme\u002F                  # MAX Messenger backend\n├── tunnel\u002F\n│   ├── tunnel.go               # TCP tunnel core\n│   ├── endpoint.go             # Virtual NIC\n│   └── rawsocket_{linux,darwin,windows}.go  # Raw socket (exit node), per-OS\n├── socks5\u002F                     # SOCKS5 server\n├── network\u002F                    # Checksums, packet parsing\n├── utils\u002F                      # Logging\n├── ios-app\u002F                    # SwiftUI iOS client (XcodeGen), links liboflux.a\n├── build_ios.sh                # Build the iOS static library (liboflux.a)\n├── build_ios_app.sh            # Build + archive + export the iOS app IPA\n└── build_android.sh            # Build the Android client binary\n```\n\n## Build (desktop client \u002F exit-node binary)\n\n```bash\ngo mod tidy\ngo build -o universal-bypass-tool .\n```\n\n## Build for Android (client binary)\n```bash\nexport ANDROID_NDK_HOME=\u003Cyour Android NDK path>\n.\u002Fbuild_android.sh\n```\n\n## Build for iOS (client binary)\n```bash\nexport XCODE_PATH=\"\u003Cyour Xcode.app path>\" # optional, defaults to \u002FApplications\u002FXcode.app\n.\u002Fbuild_ios.sh\n```\n\n## Usage\n\n### 1. Setting up exit node\n1. You must have root access on exit node machine;\n2. Only legacy Yandex document editor is supported (you can toggle this setting from the interface).\n\nThe exit node's TCP connections live in a userspace stack (gvisor), so the\nkernel has no socket for them and would send an RST on every reply, tearing\nthe tunnel down. That RST must be suppressed — but do it **scoped**, not\nhost-wide. A blanket `-j DROP` on all outbound RSTs makes every closed port\nanswer with silence (scanners see `filtered` instead of `closed`) and stops\nthe host from resetting unrelated connections.\n\nRecommended (scoped to a dedicated egress IP):\n```bash\n# give the box a second\u002Falias IP for the tunnel, e.g. 203.0.113.10\nsudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -s 203.0.113.10 -j DROP\nsudo .\u002Funiversal-bypass-tool --exit-node --local-ip 203.0.113.10 \\\n    --url \"YOUR_YANDEX_DOC_URL\" --debug\n```\nEven cleaner: run the exit node in its own network namespace \u002F container so the\nrule never touches the host's main services. Note that `-m owner --uid-owner`\ndoes **not** work here — the tunnel-breaking RSTs are generated by the kernel\nwith no owning socket, so the owner match never fires.\n\nHost-wide fallback (only on a single-purpose box, understanding the trade-off):\n```bash\nsudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP\nsudo .\u002Funiversal-bypass-tool --exit-node --url \"YOUR_YANDEX_DOC_URL\" --debug\n```\n\n### 1. Setting up desktop client:\n\nSetup commands for desktop client:\n```bash\n.\u002Funiversal-bypass-tool --client --url \"YOUR_YANDEX_DOC_URL\" --socks5 :1080 --debug\n```\n\nThen set up SOCKS5 proxy in your browser at localhost:1080.\n\n## Flags\n\n| Flag          | Default             | Description                |\n|---------------|---------------------|----------------------------|\n| `--client`    |                     | Run as client              |\n| `--exit-node` |                     | Run as exit node           |\n| `--socks5`    | `:1080`             | SOCKS5 listen address      |\n| `--url`       | `https:\u002F\u002Flocalhost` | Document URL (Yandex Docs) |\n| `--maxToken`  | ``                  | Auth token (Max)           |\n| `--maxUid`    | ``                  | User ID (Max)              |\n| `--debug`     | `false`             | Enable verbose logging     |\n| `--transport` | `yandex`            | Select transport backend   |\n\n## Implementing custom transports\n\nYou are free to implement the `Transport` interface from `transport\u002Ftransport.go` and register your custom transport in main.go switch block.\n\n## License\n\nThis project is licensed under the **GNU General Public License v3.0 or later**.\nSee [LICENSE](LICENSE) for the full text.\n\nThird-party licenses are listed in [NOTICE](NOTICE).\n\n## Disclaimer\n\nEducational use only. Test on your own machines and networks.\n\n## Support the project\n\n**USDT · TRC20**\n\n```\nTXyTj5DqJNcQpd2yWwdVuXdabvQibXgLKC\n```\n","OpenFlux 是一个面向网络协议栈研究的 TCP 隧道工具，支持可插拔传输层（如 Yandex Docs 消息、WebRTC DataChannel），客户端提供 SOCKS5 代理接口，服务端为 Linux VPS 上的出口节点，实现流量封装与解封装。其核心特点是模块化传输抽象、跨平台客户端（Android\u002FiOS\u002FCLI）、零商业功能、无隐藏依赖，适用于学术场景下的传输协议实验、网络隐蔽信道分析及低带宽环境下的隧道机制验证，不适用于生产级代理或规避审查等高风险用途。",2,"2026-09-12 02:30:11","trending"]