Modern tunnel management built on GOST and Rathole, featuring an intuitive WebUI, fast CLI, and open-source freedom.
- Multiple Tunnel Types: Support for TCP, UDP, gRPC, TCPMux, and Rathole
- Docker-First: Easy deployment with Docker Compose
- Web UI: Modern, intuitive web interface for tunnel management
- CLI Tools: Powerful command-line tools for management
- Node Support: Easy reverse tunnel setup with Rathole nodes
- GOST Forwarding: Direct forwarding without nodes for better performance
- Docker and Docker Compose installed
- For Iran servers, install Docker first:
curl -fsSL https://raw.githubusercontent.com/manageitir/docker/main/install-ubuntu.sh | sh
sudo bash -c "$(curl -sL https://raw.githubusercontent.com/zZedix/Smite/master/scripts/install.sh)"- Clone the repository:
git clone https://github.com/zZedix/Smite.git
cd Smite- Copy environment file and configure:
cp .env.example .env
# Edit .env with your settings- Install CLI tools:
sudo bash cli/install_cli.sh- Start services:
docker compose up -d- Create admin user:
smite admin create- Access the web interface at
http://localhost:8000
Note: Nodes are used for Rathole tunnels, providing easy reverse tunnel functionality. For GOST tunnels (TCP, UDP, gRPC, TCPMux), you can forward directly without a node.
sudo bash -c "$(curl -sL https://raw.githubusercontent.com/zZedix/Smite/master/scripts/smite-node.sh)"The installer will prompt for:
- Panel CA certificate path
- Panel address (host:port)
- Node API port (default: 8888)
- Node name (default: node-1)
- Navigate to node directory:
cd node- Copy Panel CA certificate:
mkdir -p certs
cp /path/to/panel/ca.crt certs/ca.crt- Create
.envfile:
cat > .env << EOF
NODE_API_PORT=8888
NODE_NAME=node-1
PANEL_CA_PATH=/etc/smite-node/certs/ca.crt
PANEL_ADDRESS=panel.example.com:443
EOF- Start node:
docker compose up -dsmite admin create # Create admin user
smite admin update # Update admin password
smite status # Show system status
smite update # Update and restart
smite logs # View logssmite-node status # Show node status
smite-node update # Update node
smite-node logs # View logs- TCP: Simple TCP forwarding
- UDP: UDP packet forwarding
- gRPC: gRPC protocol forwarding
- TCPMux: TCP multiplexing for multiple connections
These tunnels work directly without requiring a node - they forward traffic from the panel to the target server.
Rathole tunnels require a node and provide easy reverse tunnel functionality. The node connects to the panel, allowing you to expose services running on the node's network through the panel.
This project is licensed under the MIT License - see the LICENSE file for details.
If you find Smite useful and want to support its development, consider making a donation:
- Bitcoin (BTC):
bc1q637gahjssmv9g3903j88tn6uyy0w2pwuvsp5k0 - Ethereum (ETH):
0x5B2eE8970E3B233F79D8c765E75f0705278098a0 - Tron (TRX):
TSAsosG9oHMAjAr3JxPQStj32uAgAUmMp3 - USDT (BEP20):
0x5B2eE8970E3B233F79D8c765E75f0705278098a0 - TON:
UQA-95WAUn_8pig7rsA9mqnuM5juEswKONSlu-jkbUBUhku6
- ⭐ Star the repository if you find it useful
- 🐛 Report bugs and suggest improvements
- 📖 Improve documentation and translations
- 🔗 Share with others who might benefit
Made with ❤️ by zZedix
Securing the digital world, one line of code at a time!