一个基于 frp 的本地服务发布工具,将本机 Web、TCP 或 UDP 服务发布到自己的公网服务器。服务端和客户端使用独立的命令与运行目录。
| 命令 | 职责 | 安装脚本默认目录 |
|---|---|---|
tayd |
服务端,管理 frps |
~/.tayd |
tayc |
客户端,管理 frpc 和端口映射 |
~/.tayc |
Android 客户端名为 TayC,内置 frpc、本地代理与事件转发模块。
将 HOST 替换为客户端可访问的服务器域名或 IP,默认连接端口为 7000:
curl -fsSL https://raw.githubusercontent.com/ccobcode/tayd/main/scripts/install-server.sh | sh -s -- HOST需要按域名发布 HTTP/HTTPS 服务时,声明对应的服务端监听端口:
curl -fsSL https://raw.githubusercontent.com/ccobcode/tayd/main/scripts/install-server.sh | sh -s -- HOST --http-port 80 --https-port 443多个 HTTP/HTTPS 映射可以共享对应的监听端口,由 frp 按域名路由。
安装完成后会打印连接信息、Linux/macOS 与 Windows PowerShell 客户端安装命令,以及 Android 扫码配置用的二维码。
tayd info # 再次显示连接信息、安装命令和二维码
tayd restart # 重启 frps在客户端执行服务端输出的对应平台安装命令,安装后使用 tayc 管理映射。Unix 命令入口为 ~/.local/bin/tayc,Windows 为 $HOME\.local\bin\tayc.cmd。
tayc add web 3000 18080对应的访问关系:
http://HOST:18080 -> 127.0.0.1:3000
服务端需已启用 --http-port,并将域名解析到服务端:
tayc add site 3000 http://site.example.comHTTPS 映射使用 https:// 远端地址,服务端需启用 --https-port。
tayc add dns udp://5353 5353tayc list # 列出映射
tayc show web # 查看指定映射
tayc remove web # 删除映射
tayc verify # 校验 frpc 配置
tayc install # 直接启动 frpc,不注册系统服务
tayc restart # 重启 frpc
tayc help # 查看完整命令和参数add / remove 会保存映射并重新生成配置;如果客户端已在运行,会尝试重启以应用修改。未运行时只保存配置。使用 --no-restart 可跳过自动重启。
需要系统自启动时使用独立的服务命令,支持 Linux systemd、macOS launchd 与 Windows 启动项:
tayc service install
tayc service status
tayc service uninstallservice uninstall 用于移除系统服务或启动项,保留客户端安装目录。
使用 Jetpack Compose / Material 3 界面,支持 Android 8.0+(API 26),提供英文和简体中文,主导航为 首页 / 服务 / 设置(Home / Services / Settings)。
扫码连接服务端:
- 在服务端运行
tayd info显示二维码。 - 在 TayC 的 服务 → FRPC 页面点击 扫描服务器二维码(Scan server QR)。
- 扫码导入服务端地址、端口与 Token。
| 模块 | 用途 |
|---|---|
| FRPC | 内置 frpc 客户端,配置服务端与端口映射 |
| WebHook | 配置 WebHook 通道,转发订阅的事件 |
| HTTP Proxy | 本机 HTTP / CONNECT 代理 |
| SOCKS5 | 本机 SOCKS5 代理 |
| Event Listener | 订阅来电、短信与应用通知事件 |
Android 源码结构见 Android 文档。
- 安装脚本默认将服务端放在
~/.tayd,客户端放在~/.tayc;可通过INSTALL_DIR指定安装目录。 - 直接运行二进制时,可通过
TAYD_HOME/TAYC_HOME指定对应的运行目录;未设置时按二进制所在位置推导。 - 服务端通过
server-install.json保存连接参数,重装时保留已保存的地址、Token 和端口;已有服务端配置缺少有效元数据时停止更新。 - 客户端安装标记为
.tayc,卸载时校验该标记;显式强制卸载使用TAYC_FORCE_UNINSTALL=1。 - Android 应用标识为
com.cclilshy.tayc,二维码格式为tayc://server?addr=HOST&port=7000&token=TOKEN,由tayd info生成。
服务端的 uninstall 只停止 frps,保留安装目录、配置和命令入口;需要恢复运行时执行 tayd install:
~/.local/bin/tayd uninstall客户端的 uninstall 会停止 frpc、移除当前 TayC 自启动项和命令入口,并删除整个客户端安装目录及其中的配置。
Unix:
~/.local/bin/tayc uninstallWindows PowerShell:
& "$HOME\.local\bin\tayc.cmd" uninstall本机构建两个 CLI 并运行 Rust 单元测试;Shell 集成测试需要可用的 Docker 环境,脚本会自动在容器中运行。
cargo build --release --bins
cargo test
bash tests/tayd-tayc.sh多平台 CLI 构建使用 build.sh,输出 tayd-* 和 tayc-* 两组二进制。