星桥(XingQiao)是一个轻量、易用、自建可控的内网穿透与端口映射工具。把家里、办公室的网站、SSH、远程桌面等服务,通过一条加密隧道暴露到公网服务器,随时随地访问。
不需要复杂配置,复制一段「一键连接信息」粘贴到客户端,即可建立隧道。
管理后台生成加密连接串(XQ1.xxxx…),客户端粘贴即自动填入服务器地址、端口和令牌,告别手动抄写配置。
浏览器即可管理客户端、端口映射与系统配置;配置在线修改、保存即生效,无需重启服务器。
支持创建多个管理账号,每个客户端归属指定用户,各管各的隧道,权限清晰互不干扰。
客户端预建加密数据连接,新访问直接复用,省去握手延迟,高延迟网络下提速明显。
数据连接使用 128 位随机 ID + 令牌校验,防劫持;管理面板支持 HTTPS 与登录限流防爆破。
服务端支持 Linux(命令行)与 Windows(托盘)部署;客户端同样双平台,内网机器放哪都能跑。
一条控制通道指挥,无数数据通道穿梭。
按顺序走完「服务端 → 管理面板 → 客户端 → 验证」四个阶段即可上线。
服务端提供宝塔面板与纯命令行两种部署方式,任选其一。
需要一台有公网 IP 的服务器(推荐 CentOS / Ubuntu / Debian),并安装好宝塔面板。在程序目录 /服务端/ 中拿到两个文件:
| 文件 | 说明 |
|---|---|
| jiu | Linux 服务端程序(64 位,静态编译,无任何依赖) |
| server.json | 服务端配置文件(默认端口 7000 / 7500,开箱即用) |
宝塔面板左侧菜单 → 文件 → 进入 /opt/ → 新建文件夹 xingqiao → 进入后点击左上角「上传」,把 jiu 与 server.json 两个文件都传上去。
星桥默认需要两个端口,任何一处没放行都会连接失败:
| 端口 | 用途 | 必须放行的位置 |
|---|---|---|
| 7000 | 隧道端口:客户端与服务端通信 | 宝塔安全 + 云厂商安全组 |
| 7500 | 管理面板:浏览器后台管理 | 宝塔安全 + 云厂商安全组 |
宝塔放行:左侧菜单 → 安全 → 防火墙 → 添加端口规则,依次放行 7000/TCP 与 7500/TCP。
云安全组放行:登录阿里云 / 腾讯云等控制台 → 安全组 → 入方向规则,放行同样的两个端口。
宝塔 → 网站→ Go项目 → 添加项目
| 项目执行文件 | 选择刚才上传的执行文件jiu |
|---|---|
| 项目名称 | 随意 |
| 项目端口 | 7000 |
| 执行命令 | 保持自动填充的即可不用改 |
| 环境变量 | 保持默认 |
| 运行用户 | 选择root |
| 开机启动 | 勾选 |
| 项目备注 | 随意 |
保存后进程会自动启动,状态显示「运行中」即可。以后服务器重启、程序意外退出都会自动恢复。
宝塔部署到此结束。接下来请前往 ② 管理面板配置 创建客户端与端口映射。
在客户端/ 中拿到:
| 文件 | 说明 |
|---|---|
| jiu.exe | Windows 托盘版客户端,双击即用,无需安装 |
| server.json | 客户端配置文件(可先保持默认,后面一键导入会覆盖) |
把两个文件放在同一目录,例如 D:\xingqiao\。建议在桌面建个快捷方式。
双击 jiu.exe,任务栏右下角出现托盘图标。右键图标 → 打开管理面板:
浏览器访问 http://服务器IP:7500,使用默认账号登录:
| 用户名 | 密码 |
|---|---|
| admin | admin |
登录后点击右上角用户名 → 修改密码,把默认密码改掉(服务对外开放后这一步务必执行)。
左侧菜单 → 客户端管理 → 右上角「添加客户端」:
· 名称:给这台内网机器起个好认的名字,如「公司电脑」「家里NAS」
· 最大连接数:允许同时存在的数据连接数,一般 100 够用
创建完成后列表会出现该客户端,同时生成唯一的「客户端令牌(Token)」。
在客户端列表点击名称进入 客户端详情 → 「端口映射」→ 「+ 添加映射」:
| 字段 | 填写说明 | 示例 |
|---|---|---|
| 名称 | 这条映射的备注名 | 公司网站 |
| 远程端口 | 公网服务器上开放的端口(记得防火墙放行) | 8080 |
| 本地信息(备注) | 转发到内网哪个服务,写清楚便于排查 | 127.0.0.1:80 |
客户端详情 → 「基本信息」→ 一键连接信息 → 点击「复制」,得到形如 XQ1.eyJ0aW1lI… 的加密串。
把这段文字发给要部署客户端的机器(微信/邮件都行),客户端粘贴即可自动填入服务器地址、端口和令牌,无需手抄任何配置。
左侧菜单 → 系统设置(仅超级管理员可见)可在线修改全部服务端配置:隧道端口、面板端口、HTTPS 证书、会话超时、登录限流等。
左侧菜单 → 用户管理(仅超管可见)可创建普通管理员账号并分配可管理的客户端。适合多人共用一台服务器、各管各自隧道的场景。
接下来:Windows 机器请看 ③ 客户端·Windows;Linux 机器请看 ③ 客户端·Linux。
在客户端/ 中拿到:
| 文件 | 说明 |
|---|---|
| jiu.exe | Windows 托盘版客户端,双击即用,无需安装 |
| client.json | 客户端配置文件(可先保持默认,后面一键导入会覆盖) |
把两个文件放在同一目录,例如 D:\xingqiao\。建议在桌面建个快捷方式。
双击 jiu.exe,任务栏右下角出现托盘图标。右键图标 → 设置:
① 在顶部「一键导入」输入框中粘贴管理后台复制的 XQ1 连接信息
② 点击「导入」→ 服务器地址、服务器端口、令牌自动填入
③ 无需任何手抄配置,也不会抄错
在设置页「端口映射」中添加一条规则,与面板中创建的映射远程端口保持一致:
| 字段 | 填写说明 | 示例 |
|---|---|---|
| 名称 | 备注名 | 公司网站 |
| 远程端口 | 与面板添加的映射相同 | 8080 |
| 本地地址 | 内网服务的地址 | 127.0.0.1 |
| 本地端口 | 内网服务的端口 | 80 |
点击「保存」→「连接」。托盘图标悬停提示「已连接」,管理后台客户端状态变为 在线 即成功。
开机自启:右键托盘图标 → 勾选「开机自启」,以后开机自动连。
在本地把 客户端 中的 jiu 与 client.json 上传到内网 Linux 机器(NAS / 树莓派 / 服务器均可),例如 /opt/xingqiao/:
scp build/客户端/client root@内网机器IP:/opt/xingqiao/ scp build/客户端/client.json root@内网机器IP:/opt/xingqiao/
编辑 /opt/xingqiao/client.json:
{
"server_addr": "1.2.3.4", // 公网服务器 IP 或域名
"server_port": 7000, // 隧道端口,与服务端一致
"token": "面板客户端详情里的令牌",
"mappings": [
{
"name": "公司网站",
"remote_port": 8080, // 远程端口,与面板一致
"local_addr": "127.0.0.1", // 本地服务地址
"local_port": 80 // 本地服务端口
}
],
"pool_size": 5 // 预建连接池大小(加速),0=默认5,-1=关闭
}cd /opt/xingqiao chmod +x client ./client
日志出现「已连接」且管理后台客户端状态变为 在线 即成功,Ctrl+C 停止后配置守护。
cat > /etc/systemd/system/xingqiao-client.service << 'EOF' [Unit] Description=XingQiao Tunnel Client After=network.target [Service] Type=simple WorkingDirectory=/opt/xingqiao ExecStart=/opt/xingqiao/client Restart=always RestartSec=5 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now xingqiao-client systemctl status xingqiao-client
临时后台运行也可以用:nohup ./client > client.log 2>&1 &(不开机自启)。
按上面示例(远程端口 8080、本地 80),在任意联网设备浏览器访问:
http://服务器IP:8080
看到内网机器 80 端口上的网站内容,说明整条链路(用户 → 服务端 → 隧道 → 客户端 → 本地服务)全部打通。
管理后台 → 仪表盘:客户端在线数 +1、活跃连接随访问变化;客户端详情页的流量(入/出)、总连接次数会实时累计,可以确认数据走了星桥隧道。
· 访问不通:检查远程端口是否在宝塔/云安全组放行;检查客户端映射的远程端口与面板一致
· 客户端连不上服务端:确认 7000 端口放行、token 正确、server_addr 是公网 IP
· 面板打不开:确认 7500 端口放行;服务端日志有无端口占用报错
至此星桥搭建完成。之后在面板上随时增删映射、在线调整配置,把更多内网服务安全地暴露到公网。
data/admin_users.json 中,可直接打开查看/修改,改完重启服务端即可。proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 即可恢复正常。