@@ -11,10 +11,8 @@ Another high-performance VPN tunnel implementation written in Rust.
1111
1212## ✨ Features
1313
14- - 🌍 ** Multi-Platform Support** - Android, iOS, Windows, macOS, Linux
14+ - 🌍 ** Multi-Platform Support** - Linux, macOS, Windows
1515- 🏢 ** Multi-Tenancy** - Cluster-based isolation for different organizations
16- - 🔄 ** P2P Communication** - Direct peer-to-peer tunneling
17- - 🌐 ** IPv6 Ready** - Full IPv6 support for modern networks
1816- ⚡ ** High Performance** - Asynchronous I/O with Tokio runtime
1917- 🔐 ** Multiple Encryption Methods**
2018 - ** ChaCha20-Poly1305** (Default, Recommended)
@@ -25,10 +23,10 @@ Another high-performance VPN tunnel implementation written in Rust.
2523## 📋 Table of Contents
2624
2725- [ Quick Start] ( #quick-start )
28- - [ Installation ] ( #installation )
26+ - [ Download ] ( #download )
2927- [ Configuration] ( #configuration )
3028- [ Usage] ( #usage )
31- - [ Build Instructions ] ( #build-instructions )
29+ - [ Build from Source ] ( #build-from-source )
3230- [ Architecture] ( #architecture )
3331- [ Security] ( #security )
3432- [ Contributing] ( #contributing )
@@ -37,71 +35,71 @@ Another high-performance VPN tunnel implementation written in Rust.
3735
3836### Prerequisites
3937
40- - Rust 1.70 or higher
41- - TUN/TAP driver installed on your system
42- - Docker (for cross-compilation with ` cross ` )
38+ ** All Platforms:**
39+ - TUN/TAP driver support
4340
44- ### Build from Source
41+ ** Windows:**
42+ - Download [ Wintun driver] ( https://www.wintun.net/ ) (required for TUN device)
43+ - Administrator privileges
4544
46- ``` bash
47- # Clone the repository
48- git clone https://github.com/ICKelin/rustun.git
49- cd rustun
45+ ** Linux/macOS:**
46+ - Root/sudo privileges (or set capabilities on Linux)
5047
51- # Build release binaries (server and client)
52- cargo build --release
48+ ### Download Pre-built Binaries
5349
54- # Binaries will be in target/release/
55- # - server
56- # - client
57- ```
50+ ** Download from [ GitHub Releases] ( https://github.com/smartethnet/rustun/releases/latest ) **
5851
59- ### Cross-Compilation for All Platforms
52+ Available for:
53+ - ** Linux** - x86_64 (glibc/musl), ARM64 (glibc/musl)
54+ - ** macOS** - Intel (x86_64), Apple Silicon (ARM64)
55+ - ** Windows** - x86_64 (MSVC)
6056
61- Use the provided build script to compile for all supported platforms:
57+ Each release includes:
58+ - ` server ` - VPN server binary
59+ - ` client ` - VPN client binary
60+ - ` server.toml.example ` - Configuration example
61+ - ` routes.json.example ` - Routes example
6262
63+ ### Installation
64+
65+ ** Linux/macOS:**
6366``` bash
64- # Install build tools
65- cargo install cross --git https://github.com/cross-rs/cross
66- cargo install cargo-xwin
67-
68- # Run the build script
69- ./build.sh v1.0.0
70-
71- # Find binaries in dist/
72- # - rustun-v1.0.0-x86_64-unknown-linux-gnu.tar.gz
73- # - rustun-v1.0.0-aarch64-unknown-linux-gnu.tar.gz
74- # - rustun-v1.0.0-x86_64-unknown-linux-musl.tar.gz (static)
75- # - rustun-v1.0.0-x86_64-apple-darwin.tar.gz
76- # - rustun-v1.0.0-aarch64-apple-darwin.tar.gz
77- # - rustun-v1.0.0-x86_64-pc-windows-msvc.zip
78- # - SHA256SUMS
79- ```
67+ # Download and extract (example for Linux x86_64)
68+ wget https://github.com/smartethnet/rustun/releases/download/v1.0.0/rustun-v1.0.0-x86_64-unknown-linux-gnu.tar.gz
69+ tar xzf rustun-v1.0.0-x86_64-unknown-linux-gnu.tar.gz
70+ cd rustun-v1.0.0-x86_64-unknown-linux-gnu
8071
81- ### Supported Platforms
72+ # Make binaries executable
73+ chmod +x server client
74+ ```
8275
83- | Platform | Architecture | Target Triple | Notes |
84- | ----------| -------------| ---------------| -------|
85- | Linux | x86_64 | ` x86_64-unknown-linux-gnu ` | glibc |
86- | Linux | x86_64 | ` x86_64-unknown-linux-musl ` | static binary |
87- | Linux | ARM64 | ` aarch64-unknown-linux-gnu ` | glibc |
88- | Linux | ARM64 | ` aarch64-unknown-linux-musl ` | static binary |
89- | macOS | Intel | ` x86_64-apple-darwin ` | macOS 10.12+ |
90- | macOS | Apple Silicon | ` aarch64-apple-darwin ` | M1/M2/M3 |
91- | Windows | x86_64 | ` x86_64-pc-windows-msvc ` | MSVC runtime |
76+ ** Windows:**
77+ ``` powershell
78+ # 1. Download rustun-v1.0.0-x86_64-pc-windows-msvc.zip from releases
79+ # 2. Extract to a directory
80+ # 3. Download Wintun from https://www.wintun.net/
81+ # 4. Extract wintun.dll to the same directory as client.exe
82+ ```
9283
93- ### Quick Build for Current Platform
84+ ### Quick Test
9485
86+ ** Start Server:**
9587``` bash
96- # Build for current platform only (faster)
97- ./build-quick.sh v1.0.0
88+ # Linux/macOS
89+ sudo ./server server.toml.example
9890
99- # Or build single binary
100- cargo build --release --bin server
101- cargo build --release --bin client
91+ # Windows (as Administrator)
92+ .\s erver.exe server.toml.example
10293```
10394
104- For detailed build instructions, see [ BUILD.md] ( BUILD.md ) .
95+ ** Connect Client:**
96+ ``` bash
97+ # Linux/macOS
98+ sudo ./client -s SERVER_IP:8080 -i client-001
99+
100+ # Windows (as Administrator)
101+ .\c lient.exe -s SERVER_IP:8080 -i client-001
102+ ```
105103
106104## ⚙️ Configuration
107105
@@ -387,13 +385,18 @@ Frame Header (8 bytes):
387385
388386** Issue: "Failed to initialize TUN device"**
389387``` bash
390- # Solution : Run with elevated privileges
388+ # Linux/macOS : Run with elevated privileges
391389sudo ./client -s SERVER:8080 -i client-001
392390
393391# Or configure TUN permissions (Linux)
394392sudo setcap cap_net_admin=eip ./client
395393```
396394
395+ ** Windows: "Wintun driver not found"**
396+ - Download Wintun from https://www.wintun.net/
397+ - Extract ` wintun.dll ` to the same directory as ` client.exe `
398+ - Run as Administrator
399+
397400** Issue: "Connection failed: Connection refused"**
398401``` bash
399402# Check server is running
@@ -417,54 +420,38 @@ sudo ufw allow 8080/tcp
417420- ** CPU Usage** : ~ 5% per 100 Mbps throughput (Intel i7)
418421- ** Memory** : ~ 20 MB per client connection
419422
420- ## 🔨 Build Instructions
423+ ## 🔨 Build from Source
421424
422- ### Quick Build
425+ > ** Note ** : For most users, we recommend downloading pre-built binaries from [ Releases ] ( https://github.com/smartethnet/rustun/releases ) . Only build from source if you need to modify the code or target an unsupported platform.
423426
424- ``` bash
425- # Build for current platform
426- cargo build --release
427-
428- # Or use the quick build script
429- ./build-quick.sh v1.0.0
430- ```
431-
432- ### Cross-Platform Build
433-
434- Build for all supported platforms at once:
427+ ### Prerequisites
435428
436- ``` bash
437- # Install required tools
438- cargo install cross --git https://github.com/cross-rs/cross
439- cargo install cargo-xwin
440-
441- # Build all platforms
442- ./build.sh v1.0.0
443-
444- # Output in dist/ directory:
445- # - Linux (glibc & musl static)
446- # - macOS (Intel & Apple Silicon)
447- # - Windows (MSVC)
448- # - SHA256 checksums
449- ```
429+ - Rust 1.70 or higher
430+ - Git
450431
451- ### Build Specific Platform
432+ ### Build Steps
452433
453434``` bash
454- # Linux (static, no dependencies)
455- cross build --release --target x86_64-unknown-linux-musl
435+ # Clone the repository
436+ git clone https://github.com/smartethnet/rustun.git
437+ cd rustun
456438
457- # macOS Apple Silicon
458- cargo build --release --target aarch64-apple-darwin
439+ # Build release binaries
440+ cargo build --release
459441
460- # Windows MSVC
461- cargo xwin build --release --target x86_64-pc-windows-msvc
442+ # Binaries will be in target/release/
443+ # - server
444+ # - client
462445```
463446
464- For detailed build instructions, troubleshooting, and CI/CD integration, see [ BUILD.md] ( BUILD.md ) .
447+ ### Cross-Compilation
448+
449+ For cross-platform builds, see [ BUILD.md] ( BUILD.md ) for detailed instructions.
465450
466451## 🗺️ Roadmap
467452
453+ - [ ] IPv6 support
454+ - [ ] P2P direct connection
468455- [ ] Windows service support
469456- [ ] systemd integration for Linux
470457- [ ] Web-based management dashboard
@@ -477,14 +464,14 @@ For detailed build instructions, troubleshooting, and CI/CD integration, see [BU
477464- [ ] Pre-built binary releases
478465- [ ] Auto-update mechanism
479466
480- ## 📦 Binary Releases
467+ ## 📦 Download
481468
482- Pre-built binaries are available for :
469+ Pre-built binaries are available from [ GitHub Releases ] ( https://github.com/smartethnet/rustun/releases ) :
483470- Linux (x86_64, ARM64, static musl builds)
484471- macOS (Intel, Apple Silicon)
485472- Windows (x86_64 MSVC)
486473
487- Download from [ Releases ] ( https://github.com/ICKelin/rustun/releases ) or build from source .
474+ ** Windows users ** : Remember to download [ Wintun driver ] ( https://www.wintun.net/ ) separately .
488475
489476## 🤝 Contributing
490477
@@ -526,8 +513,8 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
526513
527514## 📞 Contact
528515
529- - Issues: [ GitHub Issues] ( https://github.com/ICKelin /rustun/issues )
530- - Discussions: [ GitHub Discussions] ( https://github.com/ICKelin /rustun/discussions )
516+ - Issues: [ GitHub Issues] ( https://github.com/smartethnet /rustun/issues )
517+ - Discussions: [ GitHub Discussions] ( https://github.com/smartethnet /rustun/discussions )
531518
532519---
533520
0 commit comments