Skip to content

Install a client ​

Install the client on your computer or Android phone from a package file or in the mainland edition, then join it to your hub.

Before you start ​

  • The device runs one of these systems:
    • Linux with a desktop session: Debian 12 or newer, Ubuntu 22.04 or newer, Fedora 41 or newer, or the RHEL 9 family
    • macOS 12.3 or newer
    • Windows 10 1809 or newer on x86-64
    • Android 8.0 or newer on a 64-bit ARM phone
  • On a computer, you run the client from your own account, never as root.
  • The device reaches the hub's port 8443, on your network or through a way in on Access.

Install the desktop client with one command ​

The install script checks the client package against the release's SHA256SUMS and installs it.

Linux and macOS ​

For the full edition, run:

bash
curl -fsSL https://github.com/iffiX/neutrino/releases/latest/download/install.sh | sh -s -- client

For the mainland edition, run:

bash
curl -fsSL https://gitee.com/iffiX/neutrino/raw/main/packaging/install/install.sh | sh -s -- client

Windows ​

In PowerShell, run the command for your edition, then accept the administrator prompt. For the full edition:

powershell
& ([scriptblock]::Create((irm https://github.com/iffiX/neutrino/releases/latest/download/install.ps1))) client

For the mainland edition:

powershell
& ([scriptblock]::Create((irm https://gitee.com/iffiX/neutrino/raw/main/packaging/install/install.ps1))) client

Install the desktop client from the package file ​

Download the client's file from the releases page, or for the mainland edition from the Gitee releases page, then install it:

bash
sudo apt install ./neutrino-client_0.5.2_amd64.deb
bash
sudo dnf install ./neutrino-client-0.5.2-1.x86_64.rpm
powershell
msiexec /i neutrino-client-0.5.2-windows-amd64.msi
bash
sudo installer -pkg neutrino-client-0.5.2-macos-arm64.pkg -target /

On 64-bit ARM Linux the file name says arm64 for the .deb and aarch64 for the .rpm. On an Intel Mac the file is neutrino-client-0.5.2-macos-amd64.pkg.

WARNING

dpkg -i and rpm -i install none of the dependencies. After either one, run sudo apt -f install on Debian, or sudo dnf install with the missing packages on Fedora and RHEL.

On Windows, opening the .msi from File Explorer runs the same installer. Its Add the Neutrino Client to PATH box puts the nclient command in every terminal.

The Windows installer of the client

On macOS, Gatekeeper asks for a confirmation the first time Neutrino Client opens.

Every package also installs the services for the virtual networks; the mainland edition's package joins EasyTier networks only.

Install the Android app ​

  1. On the phone, download neutrino-client-0.5.2-android.apk from the release.
  2. Open the file. If Android shows a prompt, allow your browser or file manager to install apps.
  3. Select Install.
  4. Open Neutrino.

The mainland edition's apk is on the Gitee releases page. It has no NetBird and joins EasyTier networks only.

Every release apk is signed with the project's key. To check a downloaded apk on a computer with the Android SDK build tools, run:

bash
apksigner verify --print-certs neutrino-client-0.5.2-android.apk
text
Signer #1 certificate SHA-256 digest: 0e20b8b4542f329c4d3ed91632f3ea90730cb99472c46c31585780d046ee612d
...

Build tools 37 and newer print the line as V2 Signer: certificate SHA-256 digest:.

DANGER

If the digest differs, delete the apk without installing it.

  1. In the hub's panel, open Clients.
  2. Select New client link.
  3. Type a name for the device.
  4. Select Create link.

The client link with its QR code on the Clients page

The notice shows the link, Copy, and a QR code of the same link. The link is valid for 30 minutes.

Creating another client link before this one is used makes this one stop working. Every link puts its row on Clients when you create it. The row of a replaced link never connects; remove it with Delete.

Join from a computer ​

  1. Open the client: Neutrino Client in the application menu on Linux or the Start menu on Windows, or the app on macOS. Hubs reads No hub joined yet.
  2. Paste the link into the field of the Join a hub row.
  3. Select Join.

The client window joined to a hub

The hub's row appears at once and reads Connecting…, then Connected · LAN or the name of another way in. In a terminal, nclient join '<client-link>' does the same, with the copied link in place of <client-link>. When the join fails, the cause is on Troubleshooting.

Join from a phone ​

  1. In the app, on Hubs, select Join a hub.
  2. Select Allow the camera, then allow it in Android's prompt.
  3. Point the camera at the QR code on the hub's Clients page.

The QR scanner on the Join a hub screen

To paste the link instead, put it into the field under or and select Join. The hub's row reads Connecting… until the phone reaches the hub.

Android 13 and newer show a notification prompt at the first Open on Web, Connect on Ports or AI, or Panel on a hub row. With notifications allowed, the app shows one line there with the number of hubs it is connected to.

Join another hub ​

Make a client link in the other hub's panel, and join with it through Join a hub again. Each hub publishes its own services. One client, several hubs shows what the client lists once it has joined two hubs.

Neutrino · personal developer infrastructure