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

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:

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

  1. Start a new screen session: Give it a memorable name.
    screen -S betterwire
  2. Run the server:
    ./server
  3. Detach from the session: Press Ctrl+A then D. 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.