English 简体中文

How to use a free VPN with sing-box (cross-platform, free)

Run a free VPN subscription through sing-box on Windows, macOS, Linux, iOS, or Android. Completely free.

sing-box Windows, macOS, Linux, iOS, Android updated · 2026-04-28 14:18 UTC

⬇ Download sing-box

📋 Subscription URL

Copy this URL and paste it into sing-box's profile import:

🪜 Steps

  1. Pick a client

    sing-box ships as a CLI (Windows/macOS/Linux) and native apps for iOS/Android. For desktop GUIs try Hiddify Next. On iOS grab the free sing-box app; on Android grab it from GitHub releases.

  2. Copy the sing-box subscription URL

    On the homepage, copy the sing-box URL (ends in singbox.json).

  3. Import (GUI route)

    In Hiddify Next or the sing-box app: ProfilesAdd Profile → paste the URL. Enable the profile, toggle the VPN switch.

  4. Import (CLI route)

    Save the JSON locally: curl -o config.json <subscription URL>. Run: sing-box run -c config.json. By default this starts a SOCKS5 + HTTP proxy on 127.0.0.1:2080/2081.

  5. Enable TUN (optional, CLI route)

    For full-system routing, edit config.json and add a TUN inbound (see docs). Run sing-box as root/admin. All TCP+UDP routes through the selected node.

  6. Verify

    curl --proxy socks5://127.0.0.1:2080 https://ipinfo.io (CLI) or open a browser (GUI). Country should match your picked node.

💡 Tips & Troubleshooting

Why use sing-box over Clash?

sing-box has first-class support for modern protocols (VLESS+Reality, Hysteria2, TUIC) and is lighter. Clash Meta supports them too but sing-box's implementation tends to be closer to upstream specs.

Can I auto-update the subscription?

In GUI: enable auto-update in profile settings, set 1 hour. For CLI: add a cron entry — 0 * * * * curl -o /etc/sing-box/config.json <URL> && systemctl reload sing-box.

macOS menu bar client?

Try Hiddify Next or ClashX Meta.

Android has no system proxy — how does sing-box route traffic?

The sing-box Android app uses VPNService, same as v2rayNG. All traffic goes through it when the toggle is on.

📚 Other guides