Skip to content

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.

Billal AinaouiAugust 24, 2026Updated November 7, 20267 min read

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

SillyTavern has two settings called proxy: the Reverse Proxy field replaces the model's address, and requestProxy in config.yaml is a network proxy. In release 1.19.0, requestProxy carries everything the server sends to a model provider, and nothing your browser loads itself. We sell the network kind.

The Reverse Proxy field sits in the chat settings and decides which server answers as the model. requestProxy decides only the address your requests leave from. The sections below show how to set it, what it covers, 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 the address of a model API.

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 usesyesno
https.get with no agent givenyesno
the fetch built into Nodenoyes
Source: HProxy lab on our server, September 27, 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 · hproxy.comProxy.

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.

The SillyTavern server files that send requests, release 1.19.0Files that call fetch, by folder; every one imports node-fetch, the client our lab saw go through the proxy
src/​endpointsopenai, anthropic, google, openrouter and 13 more
17 files
src/​vectorscohere, google, ollama, openai and 4 more
8 files
src/​endpoints/​backendschat-⁠completions, text-⁠completions, kobold
3 files
src/​middlewarecorsProxy, off by default
1 file
29 of the 96 server files send requests, and all 29 use node-fetch.
Source: HProxy scan of the 96 JavaScript files under src/ at SillyTavern release 1.19.0, September 27, 2026 · hproxy.comProxy.

Seventeen of the files are endpoints. Among them are the ones named after OpenAI, Anthropic, Google and OpenRouter, and the ones for search, translation, speech and image generation. Eight sit in the vectors folder, and three in the backends folder: chat completions, text completions and Kobold.

What does not go through the proxy is anything your browser loads itself, because the proxy lives in the server process, not in the page. The server's own CORS proxy, src/middleware/corsProxy.js, fetches any address the page names. The default config ships it switched off (enableCorsProxy: false). Switched on, it fetches the requested address with node-fetch, so what the page sends through it leaves through the request proxy too.

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. It can be a company proxy, or a line for privacy on a network you do not trust. It can also give your own account the same address every day, in the country you already live and pay in.

Our lines are plain HTTP or SOCKS5 with a user name and password. A Residential Premium plan can keep the password out of the config file: it lets up to 150 of your own machines' addresses connect without one. Add the address of the machine that runs the app. Residential starts at $0.23 per GB, and Premium, with city and ISP targeting, at $0.65 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 could not check

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. The scan counted files that call fetch; a request made another way, such as a child process, is outside it. On November 7, 2026, 1.19.0 was still the newest release on GitHub. A later release or a newer Node could move requests to another lane. We will check again by January 7, 2027, or at the next release.

Sources

  • SillyTavern, release 1.19.0 of September 14, 2026: default/config.yaml, src/request-proxy.js, src/middleware/corsProxy.js, package.json, src/endpoints/backends/chat-completions.js and public/index.html, read on GitHub; the release list read again on November 7, 2026.
  • 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, September 27, 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.23/GB is the 10,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