共享家宽 · 参与指南
用你的电脑或 NAS 保持在线,即可为海外用户提供大陆网络出口。先按①~③选安装包,再在下方「零基础一步一步」里完成注册与启动。
-
① 登录 Univista 账号
使用已注册邮箱登录。若尚无账号,请先注册并完成套餐购买。
-
② 在个人中心复制订阅(可选 Shadowrocket 专用链接)
打开「个人中心」,复制「Shadowrocket / 通用订阅」链接,导入小火箭或其它客户端。海外用户照常使用;国内贡献者主要关注下一步隧道。
-
③ 安装 frp 客户端并连接新加坡
在需常开的电脑上下载并运行 frpc(仅客户端,与下方表格版本一致)。通过「创收 → 共享家宽」或 API 注册后,将 serverAddr、token、remotePort 填入 frpc.toml。详见运维文档 56。隧道未打通前控制台可能暂无节点,属正常。
通用安装说明(解压、frpc 与 frps 区别等)见 frp 项目文档站: 打开官方文档 · 安装
按你的系统选安装包 (v0.61.0)
点「直链下载」将直接下载压缩包,无需打开 GitHub 发布列表页。若 GitHub 域名访问较慢,可稍后重试或使用网络加速。
你的设备 / 场景 压缩包文件名 操作 Windows 10/11 64 位(多数家用 / 办公 PC) frp_0.61.0_windows_amd64.zip 直链下载 Windows ARM64(如部分 Surface) frp_0.61.0_windows_arm64.zip 直链下载 macOS Apple 芯片(M1 / M2 / M3 / M4) frp_0.61.0_darwin_arm64.tar.gz 直链下载 macOS Intel 芯片(较老款 Mac) frp_0.61.0_darwin_amd64.tar.gz 直链下载 Linux 台式机 / x86 服务器 / 多数 NAS(amd64 / x86_64) frp_0.61.0_linux_amd64.tar.gz 直链下载 Linux ARM64(如 64 位树莓派、部分 ARM NAS) frp_0.61.0_linux_arm64.tar.gz 直链下载 Linux ARM 32 位(较老树莓派 32 位系统等) frp_0.61.0_linux_arm.tar.gz 直链下载 解压后只需使用其中的 frpc;家庭侧不需要部署 frps。下表与 Univista 服务端使用同一发行版本:
v0.61.0
零基础:一步一步(注册隧道 + 写配置 + 启动)
下面假设你已会打开 Mac「终端」。若完全不会,可请家人用同一页里的命令代操作。把 YOUR_EMAIL / YOUR_PASSWORD 换成你的 Univista 登录邮箱与密码。
- 解压上表下载的压缩包,确认里面有 frpc(小写、无后缀)。不要运行 frps(那是机房用的服务端)。
- Mac 若提示「无法验证开发者」:推荐在终端执行一次 xattr -cr,后面跟「解压后的整个文件夹」路径(该文件夹里须有 frpc),可一次清除隔离属性,例如:xattr -cr ~/Downloads/frp_0.61.0_darwin_arm64。也可用访达:对 frpc 右键 → 打开 → 再点打开。
- chmod +x frpc(若需要),保证终端里能执行 ./frpc。
- 用下面命令拿到 JSON。若曾注册过、再调 register 会提示「already registered」,请改用下面的「查询配置」接口(同一 TOKEN)。记下 frps_host、frps_port、virtual_port、frps_token(填进 frpc 的 auth.token)。remotePort 必须等于 virtual_port。
- 在与 frpc 同一文件夹里新建纯文本文件,命名为 frpc.toml(若系统加了 .txt 后缀,请改成 frpc.toml)。
- 把下方示例里的引号内 token、remotePort 数字改成注册返回的 frps_token、virtual_port(必须在 18000~19999)。
- 开一个终端先运行 python3 -m http.server 8765;再开第二个终端在同一目录执行 ./frpc -c frpc.toml,看输出里是否出现 login success / start proxy success。
终端里复制执行(先登录再注册)
需已安装 Python3(Mac 自带)。若尚未开通 Agent 接口,会返回 404,需运维开启 CN_AGENT_ENABLED。
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":""}'
已注册过?直接查询隧道参数(勿重复 register)
先用上一段拿到 $TOKEN,再执行。返回 JSON 含 frps_token、virtual_port,用于填写 frpc.toml。
curl -sS "https://univista.me/api/agent/config" \ -H "Authorization: Bearer $TOKEN"
frpc.toml 示例(把 token 与端口换成注册返回的值)
若注册返回的 frps_host 与下表示例不一致,以 JSON 里的 frps_host 为准填写 serverAddr。
serverAddr = "139.180.184.227" serverPort = 17980 auth.method = "token" auth.token = "粘贴注册返回的 frps_token" [[proxies]] name = "test-tcp" type = "tcp" localIP = "127.0.0.1" localPort = 8765 remotePort = 18000
示例里 remotePort = 18000 仅作格式参考,请改成你的 virtual_port。auth.token 必须一字不差粘贴注册返回的 frps_token(不是 Agent 心跳用的 token)。若报「token in login doesn't match」,就是 auth.token 与机房 frps 不一致。
启动(两个终端窗口)
cd 解压后的文件夹路径 python3 -m http.server 8765 # 另开一个终端窗口再执行: ./frpc -c frpc.toml
常见问题
-
Mac 提示无法验证、打不开 frpc
推荐:终端执行 xattr -cr <放 frpc 的解压目录>,一次即可;或访达对 frpc 右键「打开」。详见上文零基础步骤。
-
报错:token in login doesn't match token from configuration
frpc.toml 里 auth.token 必须与注册接口返回的 frps_token 完全一致(与新加坡 frps 上 auth.token 相同)。不要用 JWT、不要用 Agent 心跳的 token。复制时不要多空格或换行。
-
remotePort 可以写 6000 吗?
不可以。机房只允许 18000~19999,且必须等于系统分配给你的 virtual_port。
-
日志在哪里看?
默认就在运行 frpc 的那个终端窗口里。也可用 ./frpc -c frpc.toml 2>&1 | tee frpc.log 保存到文件。
需要一直开机吗?
需要。frp 反向隧道与本地代理跑在哪台设备上,哪台就需要联网且开机(或用 NAS / 路由器长期运行)。关机或休眠时,海外用户无法经你的线路访问大陆内容。