跨越内外网的
星之桥梁

星桥(XingQiao)是一个轻量、易用、自建可控的内网穿透与端口映射工具。把家里、办公室的网站、SSH、远程桌面等服务,通过一条加密隧道暴露到公网服务器,随时随地访问。

一键连接信息 多用户管理面板 连接池加速 Windows 托盘 单文件部署 自建可控
星桥 - 连接内网与公网
Features

为简单而生

不需要复杂配置,复制一段「一键连接信息」粘贴到客户端,即可建立隧道。

一键连接信息

管理后台生成加密连接串(XQ1.xxxx…),客户端粘贴即自动填入服务器地址、端口和令牌,告别手动抄写配置。

Web 管理面板

浏览器即可管理客户端、端口映射与系统配置;配置在线修改、保存即生效,无需重启服务器。

多用户隔离

支持创建多个管理账号,每个客户端归属指定用户,各管各的隧道,权限清晰互不干扰。

连接池加速

客户端预建加密数据连接,新访问直接复用,省去握手延迟,高延迟网络下提速明显。

安全加固

数据连接使用 128 位随机 ID + 令牌校验,防劫持;管理面板支持 HTTPS 与登录限流防爆破。

全平台支持

服务端支持 Linux(命令行)与 Windows(托盘)部署;客户端同样双平台,内网机器放哪都能跑。

How it works

工作原理

一条控制通道指挥,无数数据通道穿梭。

🌍

互联网用户

浏览器 / 客户端软件
🛰️

星桥服务端

公网服务器(Linux/Win)
隧道端口 7000 · 面板 7500
🏠

星桥客户端

内网机器(Windows 托盘/Linux)
💻

内网服务

网站 / SSH / 远程桌面 …
💡 用户访问 公网服务器:远程端口,流量经加密隧道抵达内网客户端,再转给本地服务——对外就像服务直接跑在公网服务器上一样。
Tutorial

使用教程

按顺序走完「服务端 → 管理面板 → 客户端 → 验证」四个阶段即可上线。
服务端提供宝塔面板与纯命令行两种部署方式,任选其一。

1

准备服务器与文件

需要一台有公网 IP 的服务器(推荐 CentOS / Ubuntu / Debian),并安装好宝塔面板。在程序目录 /服务端/ 中拿到两个文件:

文件说明
jiuLinux 服务端程序(64 位,静态编译,无任何依赖)
server.json服务端配置文件(默认端口 7000 / 7500,开箱即用)
📁 建议统一放在服务器的 /opt/xingqiao/ 目录,本教程均以此路径为例。
2

上传文件

宝塔面板左侧菜单 → 文件 → 进入 /opt/ → 新建文件夹 xingqiao → 进入后点击左上角「上传」,把 jiu 与 server.json 两个文件都传上去。

3

放行端口(关键!)

星桥默认需要两个端口,任何一处没放行都会连接失败:

端口用途必须放行的位置
7000隧道端口:客户端与服务端通信宝塔安全 + 云厂商安全组
7500管理面板:浏览器后台管理宝塔安全 + 云厂商安全组

宝塔放行:左侧菜单 → 安全 → 防火墙 → 添加端口规则,依次放行 7000/TCP 与 7500/TCP。

云安全组放行:登录阿里云 / 腾讯云等控制台 → 安全组 → 入方向规则,放行同样的两个端口。

⚠️ 后续每新增一个「端口映射」(对外提供服务的端口),都需要在宝塔与云安全组同步放行对应端口。
4

配置守护进程(开机自启 + 崩溃自动拉起)

宝塔 → 网站→ Go项目 → 添加项目

项目执行文件选择刚才上传的执行文件jiu
项目名称随意
项目端口7000
执行命令保持自动填充的即可不用改
环境变量保持默认
运行用户选择root
开机启动勾选
项目备注随意

保存后进程会自动启动,状态显示「运行中」即可。以后服务器重启、程序意外退出都会自动恢复。

💡 如果需要设置域名可以点击域名管理添加,然后点击外网映射开启即可
✓

服务端完成

宝塔部署到此结束。接下来请前往 ② 管理面板配置 创建客户端与端口映射。

1

在客户端/ 中拿到:

文件说明
jiu.exeWindows 托盘版客户端,双击即用,无需安装
server.json客户端配置文件(可先保持默认,后面一键导入会覆盖)

把两个文件放在同一目录,例如 D:\xingqiao\。建议在桌面建个快捷方式。

2

启动并一键导入连接信息

双击 jiu.exe,任务栏右下角出现托盘图标。右键图标 → 打开管理面板:

1

登录面板并修改默认密码

浏览器访问 http://服务器IP:7500,使用默认账号登录:

用户名密码
adminadmin

登录后点击右上角用户名 → 修改密码,把默认密码改掉(服务对外开放后这一步务必执行)。

2

创建客户端

左侧菜单 → 客户端管理 → 右上角「添加客户端」:

· 名称:给这台内网机器起个好认的名字,如「公司电脑」「家里NAS」
· 最大连接数:允许同时存在的数据连接数,一般 100 够用

创建完成后列表会出现该客户端,同时生成唯一的「客户端令牌(Token)」。

3

添加端口映射(后端转发规则)

在客户端列表点击名称进入 客户端详情 → 「端口映射」→ 「+ 添加映射」:

字段填写说明示例
名称这条映射的备注名公司网站
远程端口公网服务器上开放的端口(记得防火墙放行)8080
本地信息(备注)转发到内网哪个服务,写清楚便于排查127.0.0.1:80
💡 「本地地址:端口」在客户端侧配置(见下一步),此处备注仅用于面板展示与提醒。
4

复制一键连接信息(推荐)

客户端详情 → 「基本信息」→ 一键连接信息 → 点击「复制」,得到形如 XQ1.eyJ0aW1lI… 的加密串。

把这段文字发给要部署客户端的机器(微信/邮件都行),客户端粘贴即可自动填入服务器地址、端口和令牌,无需手抄任何配置。

5

系统设置(可选)

左侧菜单 → 系统设置(仅超级管理员可见)可在线修改全部服务端配置:隧道端口、面板端口、HTTPS 证书、会话超时、登录限流等。

✅ 除数据目录需重启程序外,其余配置保存即生效——改端口会自动重启对应监听,已连接的客户端不受影响。
6

多用户(可选)

左侧菜单 → 用户管理(仅超管可见)可创建普通管理员账号并分配可管理的客户端。适合多人共用一台服务器、各管各自隧道的场景。

接下来:Windows 机器请看 ③ 客户端·Windows;Linux 机器请看 ③ 客户端·Linux。

1

准备文件

在客户端/ 中拿到:

文件说明
jiu.exeWindows 托盘版客户端,双击即用,无需安装
client.json客户端配置文件(可先保持默认,后面一键导入会覆盖)

把两个文件放在同一目录,例如 D:\xingqiao\。建议在桌面建个快捷方式。

2

启动并一键导入连接信息

双击 jiu.exe,任务栏右下角出现托盘图标。右键图标 → 设置:

① 在顶部「一键导入」输入框中粘贴管理后台复制的 XQ1 连接信息
② 点击「导入」→ 服务器地址、服务器端口、令牌自动填入
③ 无需任何手抄配置,也不会抄错

💡 若手动配置也可以:直接填写服务器地址(公网 IP / 域名)、端口 7000、面板里该客户端的令牌。
3

配置端口映射(前端转发规则)

在设置页「端口映射」中添加一条规则,与面板中创建的映射远程端口保持一致:

字段填写说明示例
名称备注名公司网站
远程端口与面板添加的映射相同8080
本地地址内网服务的地址127.0.0.1
本地端口内网服务的端口80
4

保存并连接

点击「保存」→「连接」。托盘图标悬停提示「已连接」,管理后台客户端状态变为 在线 即成功。

开机自启:右键托盘图标 → 勾选「开机自启」,以后开机自动连。

✅ 完成!前往 ④ 验证连接 测试访问。
1

上传客户端程序(注!如果你有宝塔可以参考服务端.宝塔部署方式)

在本地把 客户端 中的 jiu 与 client.json 上传到内网 Linux 机器(NAS / 树莓派 / 服务器均可),例如 /opt/xingqiao/:

bash(本地执行)
scp build/客户端/client root@内网机器IP:/opt/xingqiao/
scp build/客户端/client.json root@内网机器IP:/opt/xingqiao/
2

编辑配置文件

编辑 /opt/xingqiao/client.json:

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=关闭
}
💡 token 在管理后台 → 客户端详情 → 「客户端令牌」处一键复制(或直接用一键连接信息里的值)。
3

前台测试启动

bash
cd /opt/xingqiao
chmod +x client
./client

日志出现「已连接」且管理后台客户端状态变为 在线 即成功,Ctrl+C 停止后配置守护。

4

systemd 开机自启(推荐)

bash
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 &(不开机自启)。

✅ 完成!前往 ④ 验证连接 测试访问。
1

浏览器访问验证

按上面示例(远程端口 8080、本地 80),在任意联网设备浏览器访问:

URL
http://服务器IP:8080

看到内网机器 80 端口上的网站内容,说明整条链路(用户 → 服务端 → 隧道 → 客户端 → 本地服务)全部打通。

2

面板状态验证

管理后台 → 仪表盘:客户端在线数 +1、活跃连接随访问变化;客户端详情页的流量(入/出)、总连接次数会实时累计,可以确认数据走了星桥隧道。

3

常见排查

· 访问不通:检查远程端口是否在宝塔/云安全组放行;检查客户端映射的远程端口与面板一致
· 客户端连不上服务端:确认 7000 端口放行、token 正确、server_addr 是公网 IP
· 面板打不开:确认 7500 端口放行;服务端日志有无端口占用报错

🎉

上线!

至此星桥搭建完成。之后在面板上随时增删映射、在线调整配置,把更多内网服务安全地暴露到公网。

FAQ

常见问题

忘记管理面板密码怎么办?▾
面板账号保存在服务端 data/admin_users.json 中,可直接打开查看/修改,改完重启服务端即可。
支持 HTTPS 管理面板吗?▾
支持。在「系统设置」或 server.json 中同时填写 tls_cert_file 与 tls_key_file 两个证书路径,保存后面板自动切换为 HTTPS 并启用 Secure Cookie。
修改了隧道端口,客户端要跟着改吗?▾
需要。在面板「系统设置」中改隧道端口会立即生效,但客户端的 server_port 也要同步改成新端口(重新用一键连接信息导入最方便)。
一键连接信息泄露了怎么办?▾
一键连接信息包含服务器地址、端口与该客户端令牌,请像密码一样保管。若泄露:在面板删除该客户端并重建(令牌会重新生成),再用新的连接信息重新导入。
面板套了 Nginx 反向代理,登录总被锁定?▾
反代场景下所有请求 IP 都是 Nginx,触发限流。在「系统设置」开启「信任反向代理头(X-Forwarded-For)」,同时在 Nginx 配置 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 即可恢复正常。
Windows 客户端托盘图标不显示 / 是旧的?▾
先退出旧实例(托盘右键 → 退出)再启动新版;Windows 会缓存托盘图标,任务栏右键 → 任务管理器 → 重启「Windows 资源管理器」即可刷新。
内网服务跑在别的机器上,客户端还能转发吗?▾
可以。映射里的 local_addr 填内网那台机器的 IP(如 192.168.1.20)即可,客户端只要求与目标服务网络可达,不必同机。