p1neappleXpress/OpenFluxPublic

Network stack research tool. TCP tunnel with pluggable transports.

AI summary: A network stack research tool that provides a TCP tunnel with pluggable transports for analyzing traffic flows.

Stars
1.2K
+30 today
Forks
88
Watchers
24
Open issues
16
Open PRs
4
Contributors
~6
Commits
28
Branches
2

GoGPL-3.0Created Jun 21, 2026Last push todayLatest release 0.0.1+30 stars this week+30 this month

Star history

since Sep 11, 2026
05001KSep 2026Sep 2026Sep 2026Sep 2026
1.2K stars as of Sep 12, 2026, tracked back to Sep 11, 2026.

Signals and awards

derived from tracked data
  • Actively maintained

    Pushed within 48 hours

What OpenFlux does

OpenFlux serves as a dedicated research tool for investigating network stacks and building custom TCP tunnels. It facilitates the routing of client traffic through a SOCKS5 interface, passing it through various pluggable transports before reaching an exit node. This architecture allows researchers to experiment with different obfuscation or transmission methods over the internet. The project strictly maintains a non-commercial stance and explicitly disclaims responsibility for misuse, focusing purely on architectural exploration. It provides compilation support across major platforms, including desktop operating systems and mobile environments.

Network researchers, cybersecurity analysts, and system engineers investigating TCP tunneling and transport obfuscation. Users must have strong technical skills, including familiarity with Golang, Android NDK, or XCode for compilation.

  • Pluggable transports: Supports hot-swapping different transport mechanisms to analyze various network routing behaviors.
  • TCP tunneling: Establishes robust TCP connections to securely route traffic from a client to a designated exit node.
  • SOCKS5 integration: Provides a standard SOCKS5 interface for clients to easily connect to the tunnel architecture.
  • Cross-platform compilation: Includes build support for Linux, Android (via NDK), and iOS (via XCode) environments.
  • Research focused design: Avoids commercial features or hidden subscriptions, maintaining a pure focus on network stack analysis.

Where teams use it

Analyzing network protocols

Utilize the pluggable transports to observe how different routing methods affect TCP traffic flow and latency.

Developing custom obfuscation

Experiment with new transport layers to research techniques for bypassing deep packet inspection.

Building experimental VPNs

Deploy the client and exit node binaries to test custom tunneling architectures across different operating systems.

Cross-platform network testing

Compile the client for Android or iOS to research mobile network stack behavior under various transport conditions.

Getting started: https://github.com/p1neappleXpress/OpenFlux

README

main branch

OpenFlux

English | Русский

Network stack research tool. TCP tunnel with pluggable transports.

Disclaimer

The 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.

The project is entirely non-commercial, contains no paid features, hidden subscriptions, or commercial benefit.

The 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.

The author is not responsible for:

  • Any use of OpenFlux by third parties
  • Consequences caused by the use of forks and modifications
  • Damage resulting from derivative versions
  • Violations committed using forks

The original code is provided as is, without any warranties.

Overview

Client (SOCKS5) --> Transport --> Exit Node --> Internet

Requirements

  1. Golang v. 1.26.3+ - is required for building desktop client / exit node binary (universal-bypass-tool);
  2. Android Native Development Kit (NDK) v.27.0.12077973+ - is required for building Android client binary;
  3. XCode v. 26.6+ - is required for building iOS client binary;
  4. Linux VPS / VDS exit node.

Overview

TCP packets are sent via Transport. Currently, there are two transports available:

  1. Yandex - sends packets via Yandex Docs cursor messages;
  2. Max - sends packets via WebRTC DataChannel WARNING:
    • Do not use your primary or important MAX account.
    • Do not use an account whose deletion or loss of access would be critical.
    • Usage via an external VPS may lead to account restrictions.
    • The restriction may persist after stopping OpenFlux.
    • MAX transport should be considered experimental until the blocking mechanism is understood.

Client side runs a SOCKS5 proxy, exit node decapsulates and forwards packets to destination point.

Structure

universal-bypass-tool/
├── main.go
├── transport/
│   ├── transport.go      # Transport interface
│   └── yandex/           # Yandex Docs backend
│   └── oneme/            # MAX Messenger backend
├── tunnel/
│   ├── tunnel.go         # TCP tunnel core
│   ├── endpoint.go       # Virtual NIC
│   └── rawsocket.go      # Raw socket (exit node)
├── socks5/               # SOCKS5 server
├── network/              # Checksums, packet parsing
└── utils/                # Debug logging

Build (desktop client / exit-node binary)

go mod tidy
go build -o universal-bypass-tool .

Build for Android (client binary)

export ANDROID_NDK_HOME=<your Android NDK path>
./build_android.sh

Build for iOS (client binary)

export XCODE_PATH="<your Xcode.app path>" # optional, defaults to /Applications/Xcode.app
./build_ios.sh

Usage

1. Setting up exit node

  1. You must have root access on exit node machine;
  2. Only legacy Yandex document editor is supported (you can toggle this setting from the interface).

Setup commands for exit node:

sudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP
sudo ./universal-bypass-tool --exit-node --url "YOUR_YANDEX_DOC_URL" --debug

1. Setting up desktop client:

Setup commands for desktop client:

./universal-bypass-tool --client --url "YOUR_YANDEX_DOC_URL" --socks5 :1080 --debug

Then set up SOCKS5 proxy in your browser at localhost:1080.

Flags

Flag Default Description
--client Run as client
--exit-node Run as exit node
--socks5 :1080 SOCKS5 listen address
--url https://localhost Document URL (Yandex Docs)
--maxToken `` Auth token (Max)
--maxUid `` User ID (Max)
--debug false Enable verbose logging
--transport yandex Select transport backend

Implementing custom transports

You are free to implement the Transport interface from transport/transport.go and register your custom transport in main.go switch block.

License

This project is licensed under the GNU General Public License v3.0 or later. See LICENSE for the full text.

Third-party licenses are listed in NOTICE.

Disclaimer

Educational use only. Test on your own machines and networks.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

1 total
  1. rel 0.0.10.0.1Sep 10, 20261K downloads

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 2 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 1 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 0 commitsMon 12:00 — 0 commitsMon 13:00 — 0 commitsMon 14:00 — 0 commitsMon 15:00 — 0 commitsMon 16:00 — 0 commitsMon 17:00 — 0 commitsMon 18:00 — 0 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 1 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 0 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 0 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 2 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 1 commitsWed 21:00 — 0 commitsWed 22:00 — 1 commitsWed 23:00 — 1 commitsThu 0:00 — 0 commitsThu 1:00 — 1 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 2 commitsThu 5:00 — 2 commitsThu 6:00 — 0 commitsThu 7:00 — 1 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 3 commitsThu 12:00 — 2 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 2 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 1 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 1 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 0 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 1 commitsSat 15:00 — 1 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits7 (26%)
Community commits20 (74%)

27 commits in total over the last year.

DateListRankStars gained
Sep 12, 2026daily#11+201
Sep 11, 2026daily#11+201
  • avelino/awesome-go

    A curated list of awesome Go frameworks, libraries and software

    183.9K stars · Go

  • kubernetes/kubernetes

    Production-Grade Container Scheduling and Management

    127.4K stars · Go

  • microsoft/TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    111K stars · Go

  • JuliusBrussee/caveman

    🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

    105.1K stars · Go

  • infiniflow/ragflow

    RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs

    90.5K stars · Go

  • usememos/memos

    Open-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours.

    62.9K stars · Go