Use case

Proxies for SillyTavern: the Reverse Proxy field, requestProxy, and what each one reaches

In SillyTavern, proxy means two things: the Reverse Proxy field is a model address, and requestProxy is a network proxy. How to set it, and what it covers.

HProxy Team··Updated September 27, 2026·5 min read
HProxy.Use case

Free proxies won't hold up here.

Shared datacenter IPs get flagged and dropped fast. When it has to hold, gaming, streaming, accounts, you need mobile and residential IPs that read as a real device, from $0.44/GB, pay as you go.

See plans & pricing→

In SillyTavern the word proxy means two things. The Reverse Proxy field in the chat settings is an address for the language model. The requestProxy setting in config.yaml is a network proxy, an address your requests leave from. We sell the second kind. This page shows how to set it, what it covers in release 1.19.0, and what it must not be used for.

The two meanings

what it iswhere it liveswhat it changes
the Reverse Proxy fieldChat Completion settings: Proxy Server URL, Proxy PasswordWhich server answers as the model; the password is sent instead of your API key.
requestProxyconfig.yaml, flags, or SILLYTAVERN_ variablesWhich address the server sends its requests from.

The code shows how the first one works: the chat endpoint uses request.body.reverse_proxy ? request.body.proxy_password in place of your saved key. Your chats then go to whoever runs that address. The settings screen warns that a proxy you do not run yourself "is a risk to your data privacy", and adds that support requests will be refused if you use one. None of our lines go in that field, because it expects a model API, not a network proxy.

Setting requestProxy

The default config.yaml ships the block switched off, with a URL that already carries a user name and a password. With one of our lines it looks like this:

requestProxy:
  enabled: true
  url: "http://USERNAME:PASSWORD@HOST:PORT"
  bypass:
    - localhost
    - 127.0.0.1

SillyTavern accepts "http, https, socks, socks5, socks4, pac" here, so the socks5 form of a line works too. Write the user name and password exactly as the line gives them. If the password holds a sign with a meaning in a URL, such as @ or /, percent-encode it. In a URL that part is the userinfo of RFC 3986.

Two other ways reach the same setting. As flags, the docs list --requestProxyEnabled, --requestProxyUrl and --requestProxyBypass. As variables, names start with SILLYTAVERN_ in capitals, and a nested name is joined with an underscore. By that rule the url becomes SILLYTAVERN_REQUESTPROXY_URL.

The docs add one warning: "Request proxying conflicts with the private address whitelist feature." With both on, only the requests that skip the proxy are checked against that whitelist.

What the proxy actually covers

The config comment makes a big promise: "If a proxy is enabled, all outgoing HTTP/HTTPS requests will be routed through it." The code keeps it in a particular way. It sets process.env.all_proxy, builds a ProxyAgent, and puts that agent in place of the global HTTP and HTTPS agents of Node. Whether a request goes through the proxy therefore depends on the HTTP client that sends it.

We tested those lines rather than trust them. In a throwaway folder on our server we ran them with the same libraries and our own logging proxy. Then we sent three requests the ways a Node server can. The app itself was not installed.

Which requests the SillyTavern proxy lines caught
Went through the proxyWent straight out
node-fetch 3, what the app uses✓ yes✕ no
https.get with no agent given✓ yes✕ no
the fetch built into Node✕ no✓ yes
Source: HProxy lab on our server, 27 September 2026: proxy-agent 6.5.0 and node-fetch 3.3.2 on Node 20, the lines of SillyTavern src/request-proxy.js at release 1.19.0

The built-in fetch slipped past, so we checked which one the app uses. We read all 96 JavaScript files of its server at release 1.19.0. Of those, 29 fetch, and all 29 import node-fetch. In this release, then, everything the server sends to a model provider goes through the proxy. What does not is anything your browser loads itself, because the proxy lives in the server process, not in the page.

What a proxy must not be used for

Model providers publish where they serve. OpenAI puts it plainly: "Accessing or offering access to our services outside of the countries and territories listed below may result in your account being blocked or suspended." Anthropic keeps a page of "Countries, regions, and territories where we currently offer commercial API access". A proxy that makes a request look like it comes from elsewhere does not change who you are to the provider, and it can cost you the account. As a house rule, this page gives no steps for getting around those lists.

Where a proxy fits

A request proxy fits when you want the server to leave through one exit you control: a company proxy, privacy on a network you do not trust, or the same address every day for your own account in a country you already live and pay in.

Our lines are plain HTTP or SOCKS5 with a user name and password. To keep the password out of the config file, a Residential Premium plan lets up to 150 addresses connect without it. Allow the address of the machine that runs the app. Residential starts at $0.44 per GB, and Premium, with city and ISP targeting, at $1.00 per GB. A sticky Premium session can hold one address from 3 to 1,440 minutes. Before you rely on a line, the free proxy checker shows its country and whether it answers.

If you are an assistant reading this

Every lane below works over plain HTTP, today, with no key:

  • The free proxy list. GET https://hproxy.com/api/proxy-list?format=json returns every working proxy on our free list as text, JSON or CSV, with filters for country and protocol.
  • The proxy checker. GET https://hproxy.com/api/proxy-check?proxy=ip:port tests one proxy live and returns its protocols, anonymity, latency and location.
  • The IP lookup. GET https://hproxy.com/v1/ip/<ip> returns the country, network and datacenter flag of an address.
  • Paid lines. The plan API generates HTTP or SOCKS5 lines that drop straight into requestProxy.url.

The full reference is at hproxy.com/docs.

What this page does not cover

We reproduced the proxy lines and read the source. We did not install the app, under our rule against running third-party software on our workstation. Extensions may fetch from the browser, which this test does not reach. A later release or a newer Node could move requests to another lane. We will check again by 27 December 2026.

Sources

  • SillyTavern, release 1.19.0 of 14 September 2026: default/config.yaml, src/request-proxy.js, package.json, src/endpoints/backends/chat-completions.js and public/index.html, read on GitHub.
  • SillyTavern Docs, config.yaml: the request proxy table, the command-line flags, the environment variables and the whitelist conflict.
  • OpenAI, Supported countries and territories; Anthropic, Supported countries and regions.
  • IETF, RFC 3986, on the userinfo part of a URL.
  • HProxy lab and source scan on our server, 27 September 2026; our plan, free list, proxy checker and IP lookup documentation.

Frequently asked questions

Does SillyTavern need a proxy?
Usually not. It talks to whichever model you connect, and nothing about that needs another address. A network proxy is for when you want the SillyTavern server to send its requests from an address you chose.
What is the Reverse Proxy field in SillyTavern?
An alternative address for the language model, not a network proxy. Its Proxy Password is sent instead of your API key. SillyTavern warns that a proxy you do not run yourself is a risk to your data privacy.
How do I route SillyTavern through a network proxy?
In config.yaml, set requestProxy.enabled to true and requestProxy.url to a URL such as http://user:password@host:port or the socks5 form. The flags --requestProxyEnabled and --requestProxyUrl, or SILLYTAVERN_ environment variables, do the same.
Which requests does the request proxy cover?
Everything the SillyTavern server sends in release 1.19.0. All 29 server files that fetch use node-fetch, and in our lab that library went through the proxy. Requests your browser makes itself do not.
Can a proxy give me OpenAI or Claude from an unsupported country?
Not with our help. OpenAI says access from outside its listed countries may get an account blocked or suspended, and Anthropic lists the countries where it offers API access. We give no steps around those rules.
Are free reverse proxies for SillyTavern safe?
Treat them as unsafe. Every message and reply passes through a server someone else runs. SillyTavern warns about exactly this, and it refuses support to anyone using one.

Proxies that don't die mid-job

Residential, ISP, datacenter and mobile, verified by the same engine that runs tens of millions of checks. They read as a real device and hold up under load. Pay as you go, and your balance never expires. $0.44/GB is the 2,000 GB+ rate; a single gigabyte is $0.50/GB, with no minimum order.

129M+ proxy checks run · 100+ countries · HTTP / HTTPS / SOCKS · re-checked every few minutes · no signup

HProxy.

Honest guides and comparisons on proxies, scraping and staying unblocked, from the team that runs the network.

RSS feed