NekoBox proxy setup (Android)
Published: 26 August 2026 · 7 min read
TL;DR: Tap + → Manual Settings → SOCKS, point it at gw.roamproxy.com:41080 with your dashboard username and password, tap the profile to select it, set Route to Global, and connect. Do not use the HTTP type — it leaves non-HTTP traffic and DNS outside the proxy while an IP-check page still looks correct. If your network cannot reach the gateway directly, build a Chain profile with your upstream node first and Roam last. Verify on ip.sb and two or three real apps before you trust it.
What you need before you start
Everything in this tutorial uses the same four values. Get them from your Roam dashboard and keep that tab open — you type them once into NekoBox and once more if you verify from a computer.
| Field | Value |
|---|---|
| Server | gw.roamproxy.com |
| Port | 41080 |
| Username | generated in the dashboard |
| Password | generated in the dashboard |
Read this first if your network is restricted. Roam is an exit-IP layer: it changes the address the destination site sees. It is not a tunnel out of a network that blocks outbound connections. If your phone is on a carrier or Wi-Fi network that cannot reach gw.roamproxy.com:41080 directly, the connection will fail, and it will fail in a way that looks like a broken product. On such a network you need NekoBox's Chain profile from Step 5 — it is the one thing that makes NekoBox a better fit than most other Android clients for this situation.
Step 1 — Install NekoBox
NekoBox for Android is a free, open-source client built on sing-box. Install it from the releases page of the MatsuriDayo/NekoBoxForAndroid project on GitHub — pick the arm64-v8a build for almost any phone sold in the last several years. It is not reliably available on Google Play, and copies on third-party app stores are frequently out of date or repackaged; use the GitHub release. If your menus differ from what is described here, update first.
Step 2 — Add the Roam server
- Open NekoBox and tap + in the top right.
- Choose Manual Settings → SOCKS.
- Fill in the fields from the table below.
- Tap the ✓ (save) in the top right.
| Field | Enter |
|---|---|
| Name | anything, e.g. Roam |
| Server address | gw.roamproxy.com |
| Server port | 41080 |
| Username | your username |
| Password | your password |
| Protocol version | 5 (SOCKS5) |
Type the address as the hostname shown above — do not replace it with an IP address you looked up. The gateway's address can change, the hostname does not. Leave UDP and other options at their defaults.
Why SOCKS and not HTTP
The same menu offers an HTTP profile type. Use SOCKS. An HTTP outbound only carries HTTP and HTTPS; anything else your apps do — and, depending on your DNS settings, the name lookups themselves — goes out over your normal connection instead. The symptom is confusing: an IP-check page reports the new address, so the proxy looks fine, while other apps hang or time out. A SOCKS outbound carries the whole connection and removes that class of failure.
Step 3 — Select the profile and connect
- On the main screen, tap the Roam profile once so it is highlighted. Adding a profile does not select it; whatever was selected before stays active until you do this.
- Tap the round connect button in the bottom right.
- The first time, Android asks for permission to set up a VPN connection. Tap OK. This is how Android hands all traffic to NekoBox; nothing is tunneled anywhere except to the server you configured.
The button changes state and the notification bar shows NekoBox as running. That means the local service started — it does not yet prove the Roam gateway accepted your credentials. Step 4 does that.
Routing: use Global while you verify
Open Settings → Route and set the mode to Global rather than one of the bypass presets (Bypass LAN, Bypass LAN and China, and similar). The bypass presets deliberately send part of your traffic direct. That is useful once everything works; while you are still verifying, it makes a genuine misconfiguration look intermittent. Switch back after Step 4.
Step 4 — Verify (properly)
Open https://ip.sb in your browser and confirm it shows a Roam exit IP in the region you expect. You can also long-press the Roam profile and choose URL test (or tap the test icon on the main screen): a number in milliseconds means the gateway answered through the full path; a timeout or error means it did not.
Checking ip.sb alone is not enough. An IP-check page is one small HTTPS request; it succeeds under conditions where real apps do not. Open two or three apps or sites you actually use as well. If ip.sb reports the new IP but everything else stalls, the configuration is wrong — almost always the HTTP-vs-SOCKS issue from Step 2, or a bypass routing preset — and you should go straight to connected but not working.
Optional: verify the credentials from a computer
Testing outside the app tells you whether a problem is with your credentials or with NekoBox. Note the form: -x takes the proxy address and -U passes the credentials separately.
curl -v -x socks5h://gw.roamproxy.com:41080 -U 'username:password' https://ip.sb
If curl returns a Roam IP but the phone does not, the credentials are fine and the problem is in the app. If curl fails too, re-copy the username and password from the dashboard. For a desktop walkthrough, see macOS proxy setup.
Step 5 — Chaining behind an upstream hop
Skip this step if Step 4 already works. You need it when your network cannot reach the gateway directly. Android runs only one VPN service at a time, so you cannot turn on another VPN app and then NekoBox on top of it. NekoBox solves this inside one profile: a Chain sends traffic through several of your existing profiles in sequence, so the path becomes: your phone → your upstream node → Roam gateway → destination. The destination still sees the Roam exit IP.
- Add your upstream node as its own profile first — whatever egress already works for you on this network. Select it, connect, and confirm you have working internet before chaining anything to it.
- Tap + → Manual Settings → Chain.
- Give it a name, then add the profiles that make up the chain: your upstream node and the Roam profile from Step 2. The list order is the order traffic travels — the upstream node is the first hop, Roam is the last.
- Save, select the new Chain profile on the main screen, and connect.
If the chain fails, test the two hops separately: connect with the upstream node alone and confirm you have working internet, then re-select the chain. A chain that fails at hop one looks identical to one that fails at hop two. If the upstream works alone but the chain does not, swap the order of the two entries once — that rules out an inverted chain before you look anywhere else.
Per-app proxy and everyday use
Once the setup is verified, Settings → Apps VPN mode lets you choose which apps go through Roam and which use your normal connection. Two practical notes: metered residential traffic is charged per gigabyte, so keep video and app-store downloads off the proxy; and any app that already had an open connection when you connected keeps that connection until it reconnects — force-close it to be sure.
Plans and what a session costs
Rotating residential traffic is billed at $2/GB with no monthly minimum, so a phone used for testing costs cents rather than a subscription. If you need one address that stays the same across sessions — anything with a login that reacts badly to a changing IP — a static residential IP is $4/IP/month. New accounts receive 300MB of trial traffic on their first top-up (from $2), which is more than enough to complete this tutorial and confirm the exit IP behaves the way your target site expects.
FAQ
The connect button changes state but nothing loads.
That only means the local VPN service started. Either the profile was added but never tapped to select it — adding and selecting are separate actions — or the gateway is rejecting the credentials. Long-press the Roam profile and choose URL test: a millisecond value means the gateway answered, so re-check routing and the SOCKS/HTTP choice; a timeout means it did not, so re-copy the username and password from the dashboard, and if your network is restricted, go to Step 5.
It connects, but only some apps or sites work.
Open Settings → Route and set the mode to Global. The bypass presets deliberately route part of your traffic direct rather than through the proxy, so anything matching those rules keeps using your normal connection. While you are verifying a new setup you want everything on the proxy; switch back to a bypass preset once you know it works.
My dashboard shows traffic being used, but pages will not load.
Billed traffic means authentication succeeded and the gateway is carrying data — your credentials are fine. The failure is in what is being carried: the profile type or DNS. Delete the profile and re-add it as Manual Settings → SOCKS as in Step 2; an HTTP profile leaves non-HTTP traffic and, depending on settings, DNS outside the proxy. If SOCKS is already set and pages still fail, see connected but not working.
What is the difference between NekoBox and v2rayNG for this?
Both work with the same SOCKS5 fields. The practical difference is chaining: NekoBox has a Chain profile type in the interface, while v2rayNG needs a hand-edited custom configuration to send one outbound through another. If your network cannot reach the gateway directly, NekoBox is the easier choice; otherwise use whichever you already have. The v2rayNG guide covers the other client.
Roam is the exit-IP layer for this setup: rotating residential at $2/GB, static residential at $4/IP/month, no monthly minimum. Create an account and get 300MB of trial traffic on your first top-up — enough to finish this tutorial and confirm the exit IP behaves the way your target site expects.