一直都是默默的看大家的帖子,今天实在是想发个帖子请教虾各位大佬。就是目前我这边也不算是是需求吧,就是自己想实现解决这个场景的问题。目前遇到的问题就是程序是部署在政务云上面的,服务器不联网然后高德地图初始化需要联网(PS:表示代码不是我写的,用的是很老旧的 JS 了,如果是我开发的话肯定主流 VUE 了)获取一些数据,虽然我告诉那个开发可以参考 vue 。但是人家觉得自己的技术就能吃到老,就是不愿意学习了解新技术,然后就和我说要政务云那边开一个互联网资源的白名单。这个估计是开通不了,不过我是有时候 go 开发一个简易的程序,基于 ws 协议。为啥要这么干,是因为政务云不然外面访问机器,但是我可以通过 ws 协议实现 webssh 以及 webvnc 访问维护(老板嫌弃每次要堡垒机维护麻烦,而且堡垒机巨难用)。然后突发奇想能不能反向通过 ws 协议给主动连入的客户端发送代理请求,由客户端拿到互联网资源之后再走 ws 发回给服务端,比较是全双工的嘛。借助 ai 问了下,说是可行,然后就开始编码,目前就卡在实时双向拷贝上面会出问题了。比如我在服务器本地有个 socks 的代理,这个代理收到的任何请求都直接发送给 ws ,由 ws 发送给连入的 ws 客户端那边的本地 socks 联网拿到资源之后再回传到服务器。结果还是一样,也是出错,双向实时拷贝过不了。以上都是我本地虚拟机模拟测试出现的问题,没有直接上政务云的,毕竟程序都没写好。理论上来说应该是可以的吧,毕竟是双向通信,当然也不会有人像我这么干的,哈哈哈哈。

可以参考下 trojan ,v2ray 等翻墙软件,不联网肯定不行,看你描述,服务器可以出站访问外网,不能入站吧(被访问),或者是反过来的

前人都做过了, gost -L=ss+ws://:8080 就行, 加上 rtcp 也一样, 都是成熟了好几年的东西

wstunnel 就可以,不过这么做不合规吧,慎用

不是,是服务器不能联网,但是部署的服务是可以对外提供服务的

好的,我先了解下看看是什么高科技

看了下,并不是我想要的东西。我的需求恰好相反,服务器只能被动的接收来自外部的连接,现在是想利用 ws 协议将服务器本地需要联网的代理数据包走 ws 传输给当前与服务器建立连接的 ws 客户端处理。毕竟客户端是从外网主动连接无法联网的服务器的,客户端是有外网访问权限的,就想着客户端帮忙访问互联网达到服务网也能联网的情况。

不要这样做,都知道是政务云了就别搞这些违规操作。从原理上来说当然可以而且有很多方法,例如正向代理丢给堡垒机干、自己搓一个假的高德、放弃这个想法,又没人要你做(推荐)。

额,确实这样不太好,不过也是想试试看看能不能实现。如果能实现的话,毕竟代码自己写的,可以考虑只允许本地连接并且加认证防止被查,哈哈哈。当然了,真的实现了的话,也不会一直保持这个通道是开的,肯定是用的时候开启来。

众所周知,合规性不是技术问题。

icmp 都能开出 tunnel ,ws 不是易如反掌?

技术上有解决办法,但是出了安全问题谁背锅?

这不是办法的事,是背锅的事。看清本质

我是想要反过来,但是目前还没有看到有人这么做

我也觉得可以。你想也让坛友帮你可以贴下报错。

#4 如果路由器是自己的可以很方便处理啊,把服务器的 dns 和网关改错不改变网段就没网了 。路由把对应端口映射到服务器完事了。

看懂你需求了

不过你既然都可以服务端开 ws 服务了,为啥不直接开个 tcp 协议的, frp 直接转发一下,就把客户端的代理暴露给服务端了

ws 当然也可以实现,只要有数据交换就可以代理,不过这样玩的人很少

gost.run/tutorials/protocols/ws/

gost 可以基于 ws 来进行多种模式的代理, 可以试试, 应该也可以实现你的需求

好的,我试试,不过服务端这边是不让开端口的,都是走 nginx ssl 反向代理给外界访问的

应该是不能满足我的需求,哈哈。我的需求是服务端收到来自外界的客户端的连接之后,然后服务端将本地 socks 的代理流量主动发送给这个连接的客户端那边,然后客户端那边收到之后完成互联网解析在通过 ws 通道发回给服务端,然后服务端再发回给本地的 socks 达到连接网络的目的。

gost +1

我测试了下,像我这样反过来的好像不行