How to Install Inlets on Void Linux

Inlets is an open-source tool that helps you expose your local HTTP and TCP services servers to the internet. In this tutorial, we will go through the steps required to install Inlets on Void Linux.

Prerequisites

Before we start installing Inlets, make sure you have the following:

Step 1: Install Inlets

First, let's update the system's package repository:

sudo xbps-install -Suv

Next, we need to download the Inlets binary file from the official website. To download the latest version of Inlets, you can use the following command:

wget https://github.com/inlets/inlets/releases/download/0.8.2/inlets-pro-linux-amd64.tgz

Extract the downloaded file using the following command:

tar -xvf inlets-pro-linux-amd64.tgz

Copy the Inlets binary to the /usr/local/bin directory:

sudo cp inlets-pro /usr/local/bin/

Step 2: Create a systemd Service for Inlets

Now that Inlets is installed, let's create a systemd service that will start Inlets automatically when the machine boots up.

Open your text editor and create a new file /etc/systemd/system/inlets.service:

sudo vi /etc/systemd/system/inlets.service

Add the following content to the file:

[Unit]
Description=inlets
After=network.target

[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/inlets-pro client \
    --url "wss://inlets.example.com:8123" \
    --token "YOURTOKENHERE" \
    --upstream "localhost:80"

[Install]
WantedBy=multi-user.target

Replace wss://inlets.example.com:8123 with your desired server's WebSocket URL that is running the inlets-server. Replace YOURTOKENHERE with your token for authentication. Replace localhost:80 with the local HTTP service you want to expose to the internet.

Save and close the file.

Reload the systemd daemon configuration file:

sudo systemctl daemon-reload

Enable the inlets service so it will start automatically on boot:

sudo systemctl enable inlets.service

Start Inlets:

sudo systemctl start inlets.service

Step 3: Verify Inlets Setup

To check if Inlets is running, you can use the following command:

sudo systemctl status inlets.service

You should see the output similar to the following:

● inlets.service - inlets
     Loaded: loaded (/etc/systemd/system/inlets.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-06-11 15:22:53 WITA; 10s ago
   Main PID: 1710 (inlets-pro)
      Tasks: 4 (limit: 19147)
     Memory: 3.6M
        CPU: 23ms
     CGroup: /system.slice/inlets.service
             └─1710 /usr/local/bin/inlets-pro client --url wss://inlets.example.com:8123 --token YOURTOKENHERE --upstream localhost:80

Congratulations! You have successfully installed Inlets on your Void Linux machine and created a systemd service to start it automatically on boot. Now you can expose your local HTTP or TCP services to the internet.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!