Proxies and routes
On this page
Some platforms turn the address of a server away. YouTube does it often: "Sign in to confirm you're not a bot", or files that stop after the first minute. The site then asks again another way and remembers which way worked. Such a way out of the server is called a route.
The routes
| Route | What it is |
|---|---|
direct | the server's own address |
direct4, direct6 | the same, IPv4 or IPv6 only |
proxy:<id> | a proxy from Downloads → Proxies (proxy:<id>:<session> for a gateway with {session} in its user name) |
bind:<id> | another address of this server, or a fresh one out of an IPv6 block each time |
For each link the site walks the routes of the platform in order:
- the route that worked last is asked first;
- a refused server address rests for Ask this server again after (min); a refused proxy rests 5 minutes, then 10, 20 and so on up to 4 hours;
- an answer about the link itself (not found, private) ends the walk at once, because it would be the same from anywhere;
- at most Routes tried for one link are tried, within 45 seconds in all (
route_time_budget, no field in the panel). A proxy that does not answer is given up after 12 seconds.
A result remembers its route, and the download leaves through the same one, because YouTube refuses a file to any other address. When that route is gone, the link is fetched again over another one.
When a platform uses the pool
Every platform has Go through a proxy (use_proxy): Platforms → edit, or the table on the Proxy pool screen.
| Choice | Value | Meaning |
|---|---|---|
| Never: always from this server | 0 | no proxy, ever |
| When the server is refused (automatic) | 2 | the server first, the pool only while the server is refused |
| Always through a proxy | 1 | only proxies |
YouTube starts on "When the server is refused", the right choice for it. When a platform refuses the server, the bell tells you: YouTube refuses this server, ... and there is no proxy to go through, or every route was refused.
Admin → Proxies
The list shows Host, Type, From (Yours or Finder), User, Platforms, Active, Last check (with "rests until" for a resting one) and Used (how often it worked and was refused). The plug button beside a row tests it at once. New proxy has:
- Host / IP and Port.
- Type: HTTP, HTTPS, SOCKS4, SOCKS5, or Server address (no proxy).
- Username and Password. For a rotating gateway that keeps one exit address per session, write
{session}where the session name goes, for exampleuser-session-{session}: the site fills in a name per fetched link, so the download leaves from the same address as the fetch. - Active, and Platforms: leave all unchecked to use the proxy for every platform.
Your own proxies are never removed; a failing one only rests.
Server addresses and IPv6
A Server address is another IP address of this server, or an IPv6 block such as 2001:db8:1:2::/64: every fetch then leaves from a new address of the block. Try the server's other address family (IPv4 / IPv6) (route_families, on) asks again on the other family before any proxy, which is free and often enough. The Proxy pool screen says whether the server has IPv6.
The Proxy pool screen
Downloads → Proxies → Proxy pool shows four numbers (working proxies, your own, from the finder, server addresses) and the table How the platforms are reached right now: for YouTube and every platform that uses the pool, whether this server is refused, the working route and the Go through a proxy choice. Ask this server again forgets that the server was refused: the next link of every platform is asked for from this server first.
Paste a list of proxies takes one per line: host:port, host:port:user:password, user:password@host:port or socks5://user:password@host:port; choose the type for lines without one and press Add them.
The card Ways that cost nothing or little, best first explains the options: Cloudflare WARP on a VPS (add 127.0.0.1:40000 as SOCKS5), another address of the server, a paid rotating proxy, and the free finder.
The free-proxy finder
The finder reads public lists of open proxies, tests every address against YouTube (a real video, and a piece from the middle of a file) and keeps the ones that pass. It is off until you start it.
- Find free proxies now runs it while the page is open; Stop ends it; Check all proxies tests the whole list again.
- Keep the pool filled automatically from now on beside the button also switches on Find free proxies automatically.
- Remove the found ones deletes what the finder added; your own stay.
Expect little: of 500 listed addresses, about 8 passed, at 7 to 190 kB/s, and they live for hours. A proxy of your own is much faster and steadier, and is always asked before the found ones.
Settings of the pool
| Label | Key | Default |
|---|---|---|
| Find free proxies automatically | proxy_auto_find | off |
| Try the server's other address family (IPv4 / IPv6) | route_families | on |
| Working proxies to keep | proxy_pool_size | 6 (1 to 40) |
| Slowest proxy accepted (kB/s) | proxy_min_kbps | 40 |
| Check every proxy again after (min) | proxy_recheck_minutes | 20 |
| Remove a found proxy after failures | proxy_drop_after | 3 |
| Ask this server again after (min) | route_direct_retry | 10 |
| Routes tried for one link | route_max_tries | 5 (1 to 15) |
| YouTube video used for the checks | proxy_test_video | Big Buck Bunny |
| Lists the finder reads | proxy_sources | five public lists |
In Lists the finder reads, put one https address per line; write socks5| or http| in front when the list does not name the type.
Cron keeps it in order
The scheduled task proxies looks again at proxies that were not checked for a while, removes dead found ones and, with the automatic finder on, fills the gaps. It does so only while a platform needs the pool (set to Always, or refused during the last day). See Scheduled jobs. To try the pool before you need it, use Pretend this server is refused on Test a link.