Repository navigation
Adding Proxies
This guide shows how to load your proxy list into the provider. The core command is identical on every OS. What differs is the file path, the shell syntax, and a couple of platform-specific pitfalls.
The command is urnet-tools proxy add <file>, where <file> points to a text
file with one proxy per line. Each line is host:port or host:port:user:pass.
Install the provider and authenticate first. Then load your proxy file:
urnet-tools proxy add <path-to-your-proxy-file>
urnet-tools proxy refresh
proxy add merges the file contents (it never replaces what is already there).
proxy refresh reloads the file into the running provider.
Verify a moment later with one of:
urnet-tools proxy traffic
urnet-tools proxy health
If it has been under 8-12 hours since a provider restart, proxy refresh may
refuse to load (a warmup lockout). Add --force to bypass it:
urnet-tools proxy refresh --force
Two CLIs exist. urnet-tools runs alongside a provider installed as a process
(systemd / launchd / a Windows service). urnet-docker runs on the Docker host,
outside the containers, and delegates into them via docker exec.
The clean one-liner, served from the GitHub raw source:
curl -fSsL https://raw.githubusercontent.com/full-bars/meso-miner/refs/heads/main/scripts/install-urnet-docker.sh | shBoth install only the urnet-docker CLI on the Docker host. They resolve the
latest release, download the binary for your OS and architecture (amd64 / arm64),
verify its SHA-256 against the release API, and install it to /usr/local/bin
(or ~/.local/bin when not run as root). The tool self-updates afterwards with
urnet-docker update. Neither fetches the provider nor a systemd unit.
The installer supports Linux and macOS hosts. On a Windows Docker host, download the matching release asset directly instead:
Invoke-WebRequest -Uri "https://github.com/full-bars/meso-miner/releases/latest/download/urnet-docker-windows-amd64" -OutFile "urnet-docker.exe"Same installer, passing the tool name:
curl -fSsL https://raw.githubusercontent.com/full-bars/meso-miner/refs/heads/main/scripts/install-urnet-docker.sh | sh -s -- urnet-toolsThe command is the same everywhere, but the file path and syntax are not.
Put the list in your home directory and point at it with a tilde or full path:
urnet-tools proxy add ~/proxies.txt
urnet-tools proxy refreshBoth ~/proxies.txt and /home/you/proxies.txt work.
Identical to Linux. urnet-tools and the proxy commands behave exactly the same
as on Linux. Only the startup mechanism differs: launchd instead of systemd.
urnet-tools proxy add ~/proxies.txt
urnet-tools proxy refreshThe command is the same, but you must use the correct Windows path and watch out for two traps.
Use $env:USERPROFILE so the command works for whoever runs it, without
needing to know your own username. If you prefer, you can type your real path
instead, for example C:\Users\yourname\Downloads\proxies.txt.
urnet-tools proxy add "$env:USERPROFILE\Downloads\proxies.txt"
urnet-tools proxy refreshTwo Windows-only pitfalls:
-
The hidden
.txt.txtextension. Explorer hides extensions by default, so a file you think isproxies.txtmay really beproxies.txt.txton disk. If you getproxy file not found, check the real on-disk name:dir "$env:USERPROFILE\Downloads\proxies.txt*" -
Backslash paths and spaces. The path must be quoted if it contains spaces.
"$env:USERPROFILE\Downloads\proxies.txt"handles both cases.
The provider runs inside a container. The container cannot see files on the
Docker host, so the plain urnet-tools proxy add /host/path/list.txt command
does not work by itself. You have two options.
urnet-docker runs on the Docker host and handles the copy for you. It copies
your host file into the container and runs the add there. Point it at your
host-side file directly:
urnet-docker proxy add --unit urfix ~/proxies.txt
urnet-docker proxy refresh --unit urfixYou can pass straight file paths (with automatic ~ home directory expansion),
straight URLs (urnet-docker proxy add https://example.com/proxies.txt), or
flag aliases (--file= / --proxy_file=).
--unit urfix selects the container by name. If you have one container, the
name is optional; if you have several, pass the one you want.
You can pipe proxies straight into the container without saving a file to disk:
cat proxies.txt | urnet-docker proxy paste --unit urfixCopy the file into the container, then run the add inside it:
# 1. copy your host file into the container
docker cp ~/proxies.txt urfix:/tmp/proxies.txt
# 2. add it from inside the container
docker exec -it urfix urnet-tools proxy add /tmp/proxies.txt
docker exec -it urfix urnet-tools proxy refreshurnet-tools proxy add accepts straight file paths directly (as well as --file= and --proxy_file=).
All options trigger immediate reload or can be followed by a refresh (use --force if the warmup
lockout applies). Verify with urnet-docker proxy traffic --unit urfix or
docker exec -it urfix urnet-tools proxy traffic.
Note
You can also mount your proxy file straight into the container at creation
time with a bind mount, for example -v /path/to/proxy.txt:/app/proxy.txt.
That is useful when the list already exists before you start the container.
For a running container, whether its list is mounted or not, urnet-docker proxy add (Option A) or urnet-docker proxy paste (Option B) is the simplest way to add or replace proxies.
- To see live traffic:
urnet-tools proxy traffic. - To see proxy health:
urnet-tools proxy health. - To remove a proxy or clear the list: see the
proxysubcommand help withurnet-tools proxy --help. -
urnet-tools proxy clearremoves all proxies AND any URL proxy sources you have configured. If you use URL sources, set them again afterwards.