常见问题
解决使用 YAT 过程中遇到的常见问题
📋 目录
安装问题
Q: YAT 支持哪些操作系统?
支持:
- ✅ macOS 10.15+ (Catalina)
- ✅ Windows 10+
- ✅ Linux (Ubuntu 18.04+, CentOS 7+, Debian 9+)
不支持:
- ❌ macOS 10.14 及以下
- ❌ Windows 7/8
- ❌ 32 位系统
Q: macOS 提示"无法验证开发者"?
原因: macOS Gatekeeper 安全策略
解决:
- 打开 系统设置 > 隐私与安全性
- 找到 仍要打开 按钮
- 点击 仍要打开
- 确认打开
或者使用命令行:
xattr -d com.apple.quarantine /Applications/YAT.appQ: Windows SmartScreen 阻止安装?
解决:
- 点击 更多信息
- 点击 仍要运行
Q: Linux 缺少依赖?
Ubuntu/Debian:
sudo apt install libnss3 libatk1.0-0 libatk-bridge2.0-0 \
libcups2 libdrm2 libxkbcommon0 libxcomposite1 \
libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 \
libcairo2 libasound2CentOS/RHEL:
sudo yum install nss atk at-spi2-atk cups-libs \
libdrm libxkbcommon xorg-x11-util-macros \
libXcomposite libXdamage libXrandr mesa-libgbm \
pango cairo alsa-libQ: 安装后无法启动?
排查步骤:
检查系统要求
- 操作系统版本
- 内存(至少 2GB)
- 磁盘空间(至少 500MB)
查看日志
macOS:
cat ~/Library/Logs/YAT/main.logWindows:
%APPDATA%\YAT\logs\main.logLinux:
cat ~/.config/yat/logs/main.log- 重新安装
- 卸载当前版本
- 清理配置目录
- 重新下载最新版本
登录问题
Q: 无法登录 GitHub?
可能原因:
- 网络问题
- GitHub OAuth 应用配置问题
- 浏览器拦截
解决:
- 检查网络连接
- 尝试在浏览器中访问 GitHub
- 禁用广告拦截插件
- 清除浏览器缓存
Q: 登录后立即退出?
可能原因:
- Token 过期
- 网络断开
- 账户被禁用
解决:
- 重新登录
- 检查网络
- 联系支持团队
Q: 多设备登录冲突?
不会冲突。YAT 支持多设备同时登录。
隧道问题
Q: 创建隧道时提示"没有可用的 Edge"?
原因: 未订阅任何 Edge 服务器
解决:
- 前往 Edges 页面
- 切换到 市场 标签
- 订阅一个 Edge 服务器
- 返回创建隧道
Q: 隧道启动失败?
常见错误:
错误 1: Edge 离线
症状: "Edge is offline"
解决:
- 检查 Edge 状态
- 重启 Edge 服务器
- 等待 Edge 上线
错误 2: 端口被占用
症状: "Port already in use"
解决:
# macOS/Linux
lsof -i :8080
kill -9 <PID>
# Windows
netstat -ano | findstr :8080
taskkill /PID <PID> /F错误 3: 网络超时
症状: "Connection timeout"
解决:
- 检查网络连接
- 检查防火墙设置
- 尝试切换网络
错误 4: 权限不足
症状: "Permission denied"
解决:
- Consumer 角色不能启动隧道
- 联系 Publisher 启动
Q: 隧道启动后立即停止?
可能原因:
- 本地服务未启动
- Edge 连接断开
- 配置错误
排查步骤:
1. 确认本地服务运行
curl http://localhost:8080
2. 检查 Edge 状态
- 查看 Edge 页面
- 状态应为"在线"
3. 查看隧道日志
- 详情页面查看错误信息Q: 远程地址无法访问?
检查清单:
- [ ] 隧道状态是否为"运行中"
- [ ] 本地服务是否正常
- [ ] Edge 是否在线
- [ ] 浏览器是否提示证书错误
- [ ] 防火墙是否阻止连接
测试方法:
# 测试本地服务
curl http://localhost:8080
# 测试远程地址
curl https://xxx.myroxy.dev
# 测试 Edge 连接
ping edge.myroxy.devQ: 如何停止隧道?
- 找到隧道卡片
- 点击 停止 按钮
- 确认停止
Q: 隧道可以重命名吗?
目前不支持重命名。需要:
- 删除旧隧道
- 创建新隧道
Edge 服务器问题
Q: Edge 显示离线?
排查步骤:
# 1. 检查服务器是否运行
ssh user@edge-server
uptime
# 2. 检查 Edge 进程
ps aux | grep yat-edge
# 3. 检查端口
netstat -tlnp | grep 443
# 4. 查看日志
sudo journalctl -u yat-edge -n 100
# 5. 重启服务
sudo systemctl restart yat-edgeQ: 如何更新 Edge?
自动更新(推荐):
# YAT 客户端中点击"更新"按钮手动更新:
# 1. 下载新版本
wget https://github.com/yat/releases/latest/download/yat-edge
# 2. 停止旧版本
sudo systemctl stop yat-edge
# 3. 替换二进制文件
sudo mv yat-edge /opt/yat/yat-edge
sudo chmod +x /opt/yat/yat-edge
# 4. 启动新版本
sudo systemctl start yat-edgeQ: Edge 证书过期?
自动续期(默认): YAT 会在到期前 30 天自动续期。
手动续期:
# 在 Edge 服务器上
./yat-edge certs renew --config config.yaml
# 重启 Edge
sudo systemctl restart yat-edgeQ: 如何查看 Edge 资源使用?
# CPU 和内存
top -p $(pgrep yat-edge)
# 网络流量
iftop -i eth0
# 磁盘使用
du -sh /opt/yat/扩展问题
Q: 扩展安装后没有显示?
排查步骤:
- 检查目录结构
extensions/my-extension/
├── index.js # 必须
├── index.d.ts # 可选
└── manifest.json # 可选- 检查入口文件
// index.js 必须导出 extension
export const extension = { ... }- 查看控制台
打开开发者工具 > Console
查看是否有加载错误- 重启 YAT
Q: ARD 扩展连接失败?
常见错误:
错误 1: VNC 端口不可达
症状: "Target port is unreachable: 127.0.0.1:5900"
解决:
- 确认 macOS 已开启屏幕共享
- 检查防火墙设置
- 测试本地连接:bash
nc -zv 127.0.0.1 5900
错误 2: 角色错误
症状: "当前设备是客户端,不能创建 ARD 通道"
解决:
- 确保 Publisher 设备启动隧道
- Consumer 设备只能连接
错误 3: VNC 客户端未安装
症状: "未找到可用的本地 VNC 客户端"
解决:
- macOS: 使用内置"屏幕共享"应用
- Windows: 安装 RealVNC 或 TightVNC
- Linux: 安装 Remmina 或 Vinagre
Q: 如何卸载扩展?
- 前往 Apps 页面
- 找到扩展
- 点击 卸载
- 确认卸载
⚠️ 注意: 卸载会删除该扩展的所有隧道
性能问题
Q: 隧道延迟高?
优化建议:
选择更近的 Edge
- 中国用户:香港、日本
- 欧美用户:法兰克福、美西
切换传输模式
- Relay → P2P(同地域)
- Relay → WireGuard(大文件)
检查网络质量
bash# 测试延迟 ping edge.myroxy.dev # 测试带宽 speedtest-cli
Q: 带宽限制?
限制因素:
- Edge 服务器带宽
- 本地网络带宽
- 传输模式
建议:
- 小文件:Relay 模式
- 大文件:P2P 或 WireGuard
- 视频流:P2P 模式
Q: CPU 占用高?
优化建议:
减少隧道数量
- 关闭不用的隧道
切换传输模式
- WireGuard CPU 占用最低
检查扩展
- 某些扩展可能消耗较多资源
网络问题
Q: 公司网络无法使用?
可能原因:
- 防火墙阻止连接
- 代理服务器拦截
- 端口被封锁
解决:
使用 HTTPS(443 端口)
- 通常不会被封锁
配置代理
bashexport HTTPS_PROXY=http://proxy.company.com:8080联系 IT 部门
- 申请开放 443 端口
- 将 Edge 域名加入白名单
Q: 移动网络不稳定?
优化建议:
使用 Relay 模式
- P2P 在移动网络下成功率低
启用自动重连
- YAT 默认启用
使用 WireGuard
- 对移动网络优化好
Q: IPv6 支持?
YAT 支持 IPv6:
- Edge 服务器可以配置 IPv6
- 客户端自动选择最佳协议
高级问题
Q: 如何自定义 Edge 配置?
编辑 Edge 配置文件:
# config.yaml
server:
port: 443
tls:
cert_file: certs/edge-tls.crt
key_file: certs/edge-tls.key
captain:
address: captain.myroxy.dev:443
token: "your-token"
edge:
name: "my-edge"
data_dir: ./data
# 高级配置
max_channels: 100
heartbeat_interval: 30
reconnect_interval: 5Q: 如何调试隧道?
启用调试日志:
在客户端中设置日志级别为 DEBUG。
查看日志:
# macOS
tail -f ~/Library/Logs/YAT/main.log
# 过滤隧道相关日志
grep -i tunnel ~/Library/Logs/YAT/main.logQ: 数据备份策略?
自动备份(开发中)
手动备份:
# 备份配置
tar czf yat-backup-$(date +%Y%m%d).tar.gz \
~/Library/Application\ Support/YAT/
# 恢复配置
tar xzf yat-backup-20241210.tar.gz \
-C ~/Library/Application\ Support/YAT/Q: 如何贡献代码?
- Fork 仓库
- 创建分支
- 提交修改
- 提交 Pull Request
💡 通用排查步骤
1. 检查日志
日志是最有用的调试信息。
2. 重启服务
很多问题是临时的,重启可以解决。
3. 更新版本
确保使用最新版本。
4. 搜索 Issue
在 GitHub Issues 中搜索类似问题。
5. 提交 Issue
如果问题未解决,提交 Issue 并附带:
- 操作系统版本
- YAT 版本
- 错误日志
- 复现步骤
- 截图
📚 相关文档
💬 获取帮助
- GitHub Issues: 提交问题
- Discussions: 社区讨论
- Email: [email protected]
YAT Team - 让内网穿透更简单