chirp+sunshine+moonlight+反向隧道实现远程串流

chirp+sunshine+moonlight+反向隧道实现远程串流

在chirp 1.1.6版本时,突然收到一个网友发来的消息,网友想要Sunshine搭配 Moonlight进程远程游戏串流。于是在1.1.7版本时,chirp果断适配了udp。1.1.8版本实现了udp/tcp共存,1.2.0版本实现了反向隧道,彻底摆脱udp被丢包的问题。

在chirp 1.1.7版本刚刚支持udp的时候,当我通过局域网测试正常通过Moonlight访问了Sunshine,但是通过chirp内网穿透之后,我的公网ip还是无法到访问到内网的Sunshine,Moonlight 显示 RTSP handshake failed 。

经过多轮测试发现

  1. 服务器udp服务正常通讯,但是对于我的本地 moonlight rtsp始终无法通讯。
  2. 服务器udp服务正常通讯,普通udp发送消息正常通讯
  3. 程序在纯内网udp时连接正常,普通udp消息通讯正常,rtsp连接正常

最终结论,运营商对音视频的udp流量进行了无差别限制。想到这里又揣测了Tailscale的原理,于是产生了一个大胆的想法。

能否模仿像Tailscale这样,两边都是局域网进行访问,中间建立一条无形的隧道,这样一来有两个好处。

  • 服务器不再需要暴露更多的端口
  • 公网只做数据转发,不必在遵守通用的udp、tcp的套路

最终效果如上图,我们可以从局域网a的内网ip端口,直接访问内网b的ip端口。当然,chirp也是支持自定义任意内网a和内网b的ip和端口,两边的局域网不必保持相同的ip和端口。

sunshine配置

登录sunshine后台,在应用处增加一个Desktop的应用

在配置页面,记录所有的端口和协议

chirp客户端配置

如果您是首次使用chirp,可以参考这篇文章进行安装部署https://mp.weixin.qq.com/s/FZsrcp1F3LI5FvA2GfFfIg。

首先在sunshine所在的局域网,打开chirp客户端,在隧道管理页面,依次添加隧道。

注意,内网ip软件默认为127.0.0.1,可根据实际局域网ip灵活调整

添加完,所有的ip、端口、协议。然后,依次启动多有的通道

然后我们找到另一个局域网的电脑,安装chirp客户端。

在反向隧道栏,点击刷新按钮,列表就会自动显示出sunshine穿透出来的所有ip

我们可以依次启动这些反向隧道,如果端口冲突,还可以点击编辑按钮,修改为新的端口。

moonlight

我们现在可以打开moonlight,输入反向隧道的所在的局域网ip。

最终查看这个画质,还不错。

结束语

chirp 还是一个比较年轻的穿透工具,原生的网页操作页面就做的很好,比起frp复杂的配置,使用起来更加便捷,对小白用户友好,易于上手。目前已经适配开箱即用的反向隧道模式,可以无缝使用异地局域网模拟内网互相访问。

相关推荐
cpolar技术支持2 天前
磁盘明明没满,服务却写不进去?做个 inode 与分区占用只读报表页,cpolar 给异地同事看
linux·内网穿透·cpolar·inode·运维排障
承渊政道5 天前
极空间部署Portainer实战:Docker Socket、9000端口、容器管理与固定地址访问
运维·docker·容器·内网穿透·cpolar·portainer
SoStraw5 天前
没有公网IP怎么远程SSH?设备只装 p2pssh-server,File2File 一键连回去
ssh·内网穿透·远程ssh·webrpc·无公网ip·file2file·p2pssh
cpolar技术支持6 天前
把配置发出去怕带出密钥?先把含凭据配置转成脱敏只读快照,用 cpolar 给同事核对差异
运维·python·内网穿透·cpolar·配置脱敏
cpolar技术支持7 天前
端口被谁占了、这台机上开了哪些监听?本机起一个端口占用只读清单,cpolar 给异地同事远程看谁在监听
运维·python·内网穿透·cpolar·端口占用
todoitbo8 天前
本来只想给内网开个口子,Natapp 却多给了一道防护
前端·javascript·vue.js·内网穿透·网络防护·natapp
ZeroNews内网穿透10 天前
内网穿透公网暴露防护:边缘网关 IP 黑白名单运维实践
运维·网络协议·tcp/ip·内网穿透·api安全·企业网络安全·运维实践
云泽80810 天前
ESXi+飞牛NAS实战:N5105小主机一机多用还能远程管理
esxi·虚拟化·内网穿透·小主机·飞牛nas·n5105
cpolar技术支持12 天前
第三方平台回调总说收不到?把本机 Webhook 收单页跑通,用 cpolar 固定二级子域名给对面看实时请求
node.js·内网穿透·webhook·cpolar·回调对接
承渊政道12 天前
CentOS 7单机部署Elasticsearch 7.17.29:从启动报错、CRUD验证到固定公网地址的完整过程
linux·elasticsearch·centos·内网穿透·cpolar·单机部署