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复杂的配置,使用起来更加便捷,对小白用户友好,易于上手。目前已经适配开箱即用的反向隧道模式,可以无缝使用异地局域网模拟内网互相访问。

相关推荐
秋说4 天前
从局域网到全球访问:GoLand+cpolar 让开发协作无距离
go·内网穿透·goland
专家大圣8 天前
从宅家到随行!Plex+cpolar 解锁影音库远程访问新玩法
网络·内网穿透·cpolar
袁煦丞 cpolar内网穿透实验室10 天前
精准模拟各种弱网场景!树莓派+ATC打造便携弱网网关。cpolar 内网穿透实验室第781个成功挑战
远程工作·树莓派·内网穿透·cpolar·弱网网关
袁煦丞 cpolar内网穿透实验室10 天前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
tzy23310 天前
内网穿透技术 -- NAT ngrok 花生壳
内网穿透·nat·ngrok·花生壳
小明_GLC13 天前
用户登录验证Demo
内网穿透·前端界面
袁煦丞 cpolar内网穿透实验室15 天前
Blackbox Exporter告别用户投诉!从外部揪出服务断连问题: cpolar 内网穿透实验室第 701 个成功挑战
运维·服务器·远程工作·内网穿透·cpolar
袁煦丞 cpolar内网穿透实验室24 天前
mysql_exporter+cpolar远程监控 MySQL 不卡壳!cpolar 内网穿透实验室第 712 个成功挑战
服务器·数据库·mysql·远程工作·内网穿透·cpolar
凉云生烟25 天前
cpolar助力Grafana告别局域网束缚!让数据监控触手可及
服务器·网络·信息可视化·gitlab·内网穿透