How to Install Inlets on Fedora Server Latest

Inlets is a tool for creating secure, publicly accessible tunnels for connecting servers with each other. It allows you to expose a local service hosted on your private network to the public internet via websockets without opening a port on your firewall.

In this tutorial, we'll show you how to install Inlets on the latest version of Fedora Server.

Prerequisites

Before we begin, ensure that you've fulfilled the following requirements:

Step 1: Install Go

Inlets is built with Go programming language, so we'll need to install it first. Fedora has a prebuilt package of Go in its default repository. Run the following command to install Go:

$ sudo dnf install -y go

After the installation finishes, verify that Go is installed correctly by checking the version:

$ go version

You should see output similar to:

go version go1.17.4 linux/amd64

Step 2: Download Inlets

Next, download the Inlets binary from the official Inlets GitHub repository using the following command:

$ curl -SLsf https://github.com/inlets/inlets/releases/download/{version}/inlets-{version}-linux-amd64.tar.gz | tar xz

Replace {version} with the latest release version of Inlets. For example:

$ curl -SLsf https://github.com/inlets/inlets/releases/download/0.10.4/inlets-0.10.4-linux-amd64.tar.gz | tar xz

This command will download and extract inlets into the current directory.

Step 3: Install Inlets as a System Service

To run Inlets as a system service, we'll create a systemd unit file.

Create a new file named /etc/systemd/system/inlets.service using a text editor:

$ sudo nano /etc/systemd/system/inlets.service

Paste the following contents into the file:

[Unit]
Description=Inlets
After=network.target

[Service]
ExecStart=/path/to/inlets server \
  --port 80 \
  --token abcdefg \
  --upstream http://localhost:8080
User=nobody
Group=nobody
Restart=always

[Install]
WantedBy=multi-user.target

Replace /path/to/inlets with the actual path to the Inlets binary that you downloaded in Step 2.

The --port flag specifies the port on which inlets should listen for incoming connections.

The --token flag is a secret shared between the client and server that is used for authentication.

The --upstream flag specifies the URL of the local service that inlets should tunnel traffic to.

Save and close the file. Then, reload the systemd daemon:

$ sudo systemctl daemon-reload

Step 4: Start and Enable the Inlets Service

Now that the inlets.service file is created, start and enable the Inlets service to automatically start on boot:

$ sudo systemctl start inlets
$ sudo systemctl enable inlets

You can verify that the Inlets service is running correctly by checking its status:

$ sudo systemctl status inlets

You should see output similar to:

● inlets.service - Inlets
   Loaded: loaded (/etc/systemd/system/inlets.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2022-01-19 22:03:26 UTC; 29s ago
 Main PID: 12345 (inlets)
    Tasks: 8 (limit: 2054)
   Memory: 14.2M
   CGroup: /system.slice/inlets.service
           └─12345 /path/to/inlets server --port 80 --token abcdefg --upstream http://localhost:8080

This indicates that the Inlets service is running correctly and ready to accept connections.

Conclusion

In this tutorial, you learned how to install Inlets on Fedora Server Latest and configure it as a system service. You can now use Inlets to connect your private network services to the public internet securely.

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!

Alternatively, for the best virtual desktop, try Shells!