BetterWire Installation Guide
Follow these steps to get your secure tunnel up and running.
Cross-Platform by Design: You can mix and match operating systems. For example, run the server on a Linux machine and connect with a Windows client, or vice-versa. The process is nearly identical.
Server Setup
The server is the core of your setup. It runs on a machine with a public IP address (like a VPS) and manages client connections. We recommend using a Linux server for optimal stability.
1. Download & File Placement
- Download the appropriate package (e.g.,
Linux.zip
orWindows.zip
). - Unzip the archive. You will have three essential files:
server
,server_config.yml
, andindex.html
.
Crucial: The index.html
file MUST be in the exact same directory as your server
executable (server.exe
on Windows). The server application needs this file to serve the web dashboard.
2. Configuration (server_config.yml
)
Open the server_config.yml
file in a text editor to configure your server:
# IP and port for clients to connect to.
# "0.0.0.0" allows connections from any IP.
listen_address: "0.0.0.0:8090"
# IP and port for the web dashboard.
web_interface_address: "0.0.0.0:8080"
# A strong, unique password your clients will use to authenticate.
client_secret: "change-this-to-a-very-secure-password"
# A password to log in to the web dashboard.
# If you leave this empty, a new one will be generated on the first run.
server_identifier: "change-this-to-your-dashboard-login"
3. Firewall Configuration
Your server's firewall must allow incoming traffic on the ports you've configured:
- The
listen_address
port (e.g.,8090/TCP
) for client connections. - The
web_interface_address
port (e.g.,8080/TCP
) for the web dashboard. - Any public ports you intend to forward (e.g.,
25565/TCP
and19132/UDP
for game servers).
4. Running the Server
On Linux (Recommended)
First, make the server file executable:
chmod +x server
To ensure the server keeps running even after you close your terminal, we strongly recommend using screen
. If you don't have it, install it with sudo apt-get install screen
(Debian/Ubuntu) or sudo yum install screen
(CentOS).
- Start a new screen session: Give it a memorable name.
screen -S betterwire
- Run the server:
./server
- Detach from the session: Press
Ctrl+A
thenD
. The server is now running in the background.
To re-attach to the session later (to see logs or stop the server), use: screen -r betterwire
On Windows
Simply double-click server.exe
or run it from the Command Prompt. A window will open showing the server logs. Keep this window open for the server to remain active.
Client Setup
The client runs on your local machine (e.g., your PC at home) and connects to your server.
1. Download & Prepare
Download and unzip the package for your OS. You'll find a client
executable and a client_config.yml
file.
2. Configuration (client_config.yml
)
Edit client_config.yml
to point to your server:
# Your server's public IP and the 'listen_address' port.
server_address: "YOUR_SERVER_IP:8090"
# The 'client_secret' from your server_config.yml. This MUST match perfectly.
secret: "change-this-to-a-very-secure-password"
# A list of local ports you want to forward.
# The public port will match the local port.
ports_to_forward:
- "tcp:25565"
- "udp:19132"
3. Running the Client
On Windows
Double-click client.exe
. A command prompt window will appear and show the connection status. Keep it running to maintain the tunnel.
On Linux
Make the client executable (chmod +x client
) and run it from the terminal (./client
). You can also run it inside a screen
session, just like the server.
Accessing the Web Dashboard
Once your server is running and a client is connected, you can manage everything from the web UI.
- Open a browser and go to
http://YOUR_SERVER_IP:8080
(using theweb_interface_address
port). - Log in using the
server_identifier
you set in the server config. - You can now view client status and manage port rules in real-time.