Bethrou
π Documentation
Read the full documentation β
This README provides a quick overview. For comprehensive guides, tutorials, and API references, visit our documentation site.
What is Bethrou?
Bethrou is a peer-to-peer proxy network that allows you to route your internet traffic through trusted exit nodes using a private network built on libp2p.
Key Features
- Private Networks: Uses pre-shared keys (PSK) for network isolation
- P2P Architecture: Built on libp2p for robust peer-to-peer communication
- SOCKS5 Proxy: Local SOCKS5 server for easy browser/application integration
- NAT Traversal: Support for relay nodes to handle NAT and firewall issues
- Node Discovery: Redis-based pub/sub for dynamic node discovery
- Load Balancing: Multiple routing strategies (random, round-robin, fastest)
How It Works
flowchart LR
App[Your Browser or App] -- SOCKS5 --> Client[Bethrou Client]
Client -- libp2p --> Node[Bethrou Exit Node]
Client -.->|Redis Pub/Sub| Discovery[Node Discovery]
- Client starts and loads exit node addresses (static or via discovery)
- Client creates a SOCKS5 proxy server on
localhost:1080
- Applications connect to the SOCKS5 proxy
- Client establishes libp2p connections to exit nodes
- Proxy requests are forwarded through libp2p streams to exit nodes
- Exit nodes make actual TCP connections to destination addresses
- Traffic flows:
App β SOCKS5 β libp2p β Exit Node β Internet
Use Cases
- Privacy: Route traffic through trusted nodes you control
- Testing: Test applications from different network locations
- Development: Create isolated network environments for testing
- Learning: Understand P2P networking and libp2p architecture
Getting Started
To get started with Bethrou, visit our comprehensive documentation:
Our documentation covers:
- Prerequisites and installation options (source build, Docker, Podman)
- Generating and managing network keys
- Configuring nodes and clients
- Running example setups
- Troubleshooting and best practices
Contributing
This is an early-stage project. Contributions, ideas, and feedback are welcome!
License
MIT License - see LICENSE file for details