Share bandwidth · Setup guide
Keep a PC or NAS online to provide a mainland egress. Follow steps ①–③ for the download, then the beginner walkthrough below.
-
① Sign in to Univista
Use your registered email. Register and purchase a plan if you don’t have an account yet.
-
② Copy your subscription (optional Shadowrocket link)
Open Dashboard and copy the “Shadowrocket / universal” link. Overseas users use it as usual; contributors focus on the tunnel step next.
-
③ Install frp client and connect to Singapore
On the always-on machine, download and run frpc only (client — match the table version below). After registering via Earn → Share bandwidth or the API, put serverAddr, token, and remotePort in frpc.toml. See ops doc 56. “No active nodes” is normal until the tunnel is up.
General install notes (unpack, frpc vs frps) are on the project docs site: Open official docs — Setup
Choose the archive for your system (v0.61.0)
“Direct download” fetches the file immediately (no GitHub releases page). If downloads are slow, retry or use your usual network path.
Device / scenario Archive filename Action Windows 10/11 64-bit (most PCs) frp_0.61.0_windows_amd64.zip Direct download Windows ARM64 (e.g. some Surface models) frp_0.61.0_windows_arm64.zip Direct download macOS Apple Silicon (M1 / M2 / M3 / M4) frp_0.61.0_darwin_arm64.tar.gz Direct download macOS Intel (older Macs) frp_0.61.0_darwin_amd64.tar.gz Direct download Linux desktop / x86 server / many NAS (amd64) frp_0.61.0_linux_amd64.tar.gz Direct download Linux ARM64 (e.g. 64-bit Raspberry Pi, some ARM NAS) frp_0.61.0_linux_arm64.tar.gz Direct download Linux ARM 32-bit (older 32-bit Pi images, etc.) frp_0.61.0_linux_arm.tar.gz Direct download Use frpc from the archive; you do not run frps at home. This table matches the Univista server release:
v0.61.0
Beginner walkthrough: register, config, run
This assumes you can open Terminal on macOS. Ask someone to run the commands for you if needed. Replace YOUR_EMAIL / YOUR_PASSWORD with your Univista credentials.
- Unpack the archive and locate the frpc binary. Do not run frps at home — that binary is for the server side.
- If macOS says the developer cannot be verified: run once: xattr -cr /path/to/the/extracted/folder (the folder must contain frpc), e.g. xattr -cr ~/Downloads/frp_0.61.0_darwin_arm64. Or in Finder: right-click frpc → Open → Open again.
- Run chmod +x frpc if needed so ./frpc works in Terminal.
- Use the commands below. If you already registered, POST /register returns an error — use GET /api/agent/config with the same Bearer token instead. Save frps_host, frps_port, virtual_port, frps_token for auth.token; remotePort must equal virtual_port.
- Create a plain-text file named frpc.toml next to frpc (rename if the editor added .txt).
- Edit the sample: set auth.token to frps_token and remotePort to virtual_port (must be between 18000 and 19999).
- In one terminal run python3 -m http.server 8765; in another, run ./frpc -c frpc.toml and look for login success / start proxy success.
Run in Terminal (login, then register)
Requires Python 3. If you get 404, CN_AGENT_ENABLED may be off on the server.
curl -sS -X POST "https://univista.me/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email":"YOUR_EMAIL","password":"YOUR_PASSWORD"}'
TOKEN=$(curl -sS -X POST "https://univista.me/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email":"YOUR_EMAIL","password":"YOUR_PASSWORD"}' \
| python3 -c "import sys,json; print(json.load(sys.stdin)['access_token'])")
curl -sS -X POST "https://univista.me/api/agent/register" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"device_name":"home","region":""}'
Already registered? Fetch tunnel settings (no second register)
Use the same $TOKEN from login. The JSON includes frps_token and virtual_port for frpc.toml.
curl -sS "https://univista.me/api/agent/config" \ -H "Authorization: Bearer $TOKEN"
Sample frpc.toml (use values from the register response)
If frps_host in the JSON differs from the sample, use the JSON value for serverAddr.
serverAddr = "139.180.184.227" serverPort = 17980 auth.method = "token" auth.token = "PASTE_frps_token_FROM_REGISTER_RESPONSE" [[proxies]] name = "test-tcp" type = "tcp" localIP = "127.0.0.1" localPort = 8765 remotePort = 18000
Replace 18000 with your virtual_port. auth.token must exactly match frps_token (not the Agent heartbeat token). Error “token in login doesn't match” means auth.token ≠ server token.
Run (two terminal windows)
cd /path/to/extracted/folder python3 -m http.server 8765 # Second terminal: ./frpc -c frpc.toml
Troubleshooting
-
macOS says frpc cannot be verified
Best: run xattr -cr once on the folder that contains frpc. Or Finder → right-click frpc → Open. See the beginner steps above.
-
Error: token in login doesn't match token from configuration
auth.token must exactly match frps_token from the register API (same as frps server). Do not use the JWT or the Agent heartbeat secret. Watch for extra spaces.
-
Can I use remotePort 6000?
No. Only 18000–19999, and it must equal your assigned virtual_port.
-
Where are logs?
By default, in the same terminal where you run frpc. Or: ./frpc -c frpc.toml 2>&1 | tee frpc.log
Does the PC need to stay on?
Yes. Whatever runs frpc and the local proxy must stay online (PC, NAS, or router). When it sleeps or powers off, others cannot use your line.