Configuring Our Service on Linux

Linux is widely used on developer workstations, homelab servers, and cloud VMs. You can connect to our infrastructure with a graphical client (recommended on desktops) or with a headless sing-box core under systemd (recommended on servers).

We strongly recommend v2rayN as your primary Linux client. For headless setups, we recommend sing-box with a JSON profile from your Product Details Page. Always confirm filenames and versions on official release pages; projects update frequently.


Below are recommended graphical clients. Prefer assets from each project’s official GitHub Releases page.

1. v2rayN Primary Recommendation

v2rayN is a cross-platform GUI client that bundles multiple cores (including Xray, sing-box, and mihomo) and supports advanced routing. On Linux it ships as .deb, .rpm, and portable .zip for x64 and arm64. Upstream documents support for Debian 12+, Ubuntu 22.04+, Fedora 36+, and RHEL 9+.

  • License: Open-Source / Free
  • Official GitHub Repository: 2dust/v2rayN
  • Release files (names and meanings): v2rayN Wiki — Release files introduction
  • Download Instructions:
    • Debian / Ubuntu (x64): download v2rayN-linux-64.deb, then sudo apt install -y ./v2rayN-linux-64.deb
    • Fedora / RHEL-style (x64): download v2rayN-linux-rhel-x64.rpm, then sudo dnf install -y ./v2rayN-linux-rhel-x64.rpm
    • Portable .zip (x64): extract v2rayN-linux-64.zip, run chmod +x v2rayN, then ./v2rayN
    • arm64: use v2rayN-linux-arm64.deb, v2rayN-linux-rhel-arm64.rpm, or v2rayN-linux-arm64.zip instead of the x64 filenames
    • Download the Latest Release from GitHub

2. Clash Verge Rev User-Friendly Alternative

Clash Verge Rev is a Tauri-based client with a modern UI. Upstream publishes .deb, .rpm, and .AppImage builds. For AppImage downloads, run chmod +x on the file before launching it.

3. Hiddify Modern Multi-Platform Alternative

Hiddify (formerly Hiddify-Next) provides a streamlined experience on top of sing-box. Linux builds commonly ship as Hiddify-Linux-x64.AppImage or similar; check the release page for the exact filename.

4. Flclash Lightweight Client

Flclash is a Flutter-based client for Clash-compatible subscriptions. Linux assets may appear as Flclash-linux-amd64.deb or .AppImage, depending on the release.


Finalizing Your Setup (Graphical Clients)

To connect with v2rayN, Clash Verge Rev, Hiddify, or Flclash:

  1. Log into your Client Area and open your Product Details Page.
  2. Copy your Subscription URL (or use a QR code if the client supports it).
  3. Open your client, add or import the subscription, and refresh the node list.
  4. Select a node and enable system proxy or TUN mode as needed.

For Advanced Users: sing-box (headless CLI)

For servers or environments without a desktop, run sing-box as a systemd service. Use a sing-box .json profile from your Product Details Page.

The stable release line is currently in the v1.13.x series (for example v1.13.3). Always substitute the version in URLs with the tag shown on the releases page.

Install (repository, script, or tarball)

Debian / Ubuntu: follow the “Debian / APT” block on the Package Manager page, then sudo apt-get install sing-box. Fedora / RHEL: use the DNF instructions on the same page, then sudo dnf install sing-box. Alternatively, curl -fsSL https://sing-box.app/install.sh | sh installs the release the script resolves.

Package installs usually use the unit name sing-box and config path /etc/sing-box/config.json. If unsure, run systemctl cat sing-box after installation.

Manual binary (example, x86-64 v1.13.3):

mkdir -p /tmp/sing-box-install && cd /tmp/sing-box-install
curl -fL -o sing-box.tar.gz \
  https://github.com/SagerNet/sing-box/releases/download/v1.13.3/sing-box-1.13.3-linux-amd64.tar.gz
tar -xvf sing-box.tar.gz
sudo install -m 0755 sing-box-1.13.3-linux-amd64/sing-box /usr/local/bin/sing-box
sing-box version
    

On Alpine or other musl-based systems, download the -linux-amd64-musl.tar.gz (or matching arch) asset instead of the default glibc build.

Configuration and check

Place your JSON profile at /etc/sing-box/config.json (typical for packages) or /usr/local/etc/sing-box/config.json (typical for a manual /usr/local/bin install). Restrict permissions (for example chmod 600).

sudo sing-box check -c /etc/sing-box/config.json
    

systemd (manual install under /usr/local)

sudo nano /etc/systemd/system/sing-box.service
    

Example unit:

[Unit]
Description=sing-box service
Documentation=https://sing-box.sagernet.org
After=network-online.target
Wants=network-online.target

[Service]
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW
ExecStart=/usr/local/bin/sing-box run -c /usr/local/etc/sing-box/config.json
Restart=on-failure
RestartSec=10s
LimitNOFILE=infinity

[Install]
WantedBy=multi-user.target
    

If your distribution already ships a sing-box.service unit, use systemctl edit sing-box to adjust ExecStart instead of replacing the packaged file.

Start the service and logs

sudo systemctl daemon-reload
sudo systemctl enable sing-box
sudo systemctl start sing-box
sudo systemctl status sing-box
sudo journalctl -u sing-box --output cat -f
    

Proxy environment (optional)

If your config exposes a local HTTP/SOCKS port (adjust the port to match your inbound):

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export all_proxy="socks5://127.0.0.1:7890"
curl -fsS https://1.1.1.1/cdn-cgi/trace
    

To persist exports, add them to ~/.bashrc or ~/.zshrc.

Note: TUN-style routing needs the capabilities in the unit above and may interact with host firewalld or nftables rules. YAML-oriented clients (for example Clash-family GUIs) remain appropriate for subscription workflows; sing-box CLI here expects JSON from the Product Details Page.


Was this article helpful?

mood_bad Dislike 37
mood Like 12
visibility Views: 5080