用 chrome 插件开发一个内网穿透工具

2022 年 3 月 17 日
 bugfan

如题,使用 chrome 插件开发个内网穿透工具,对外提供 https 服务,把内网服务转出去,给其他用户使用,比如远程调试,微信 api 调试,异地办公等

3588 次点击
所在节点    程序员
15 条回复
lisongeee
2022 年 3 月 17 日
chrome 插件 如果 提供 https 服务 ?哪个 api 有这个功能?
lisongeee
2022 年 3 月 17 日
如果 -> 如何
nimei31
2022 年 3 月 17 日
貌似只能 chrome app 可以实现
bugfan
2022 年 3 月 17 日
@lisongeee 嗯,在 chrome app 的开发文档里面有一章节是 tcp/udp 编程,如果与服务器建立长链接,然后在服务器提供 https 服务器,然后把服务器的 https 流量通过这个 socket 链接送进来,不就实现内网穿透了。。理论上可行
oldshensheep
2022 年 3 月 17 日
其实不用插件一个网页就可以内网穿透了(限 http 协议),服务器用 ws 和浏览器建立长连接,发送到服务器的 http 请求通过 ws 发送到浏览器,浏览器再访问本地的 http 服务获得结果,通过 ws 返回给服务器就行了。
Archeb
2022 年 3 月 17 日
chrome app 已经被淘汰了,插件没有这样的权限可以直接访问 socket

@oldshensheep 限制太多,光是跨域就有够受的....就算是插件能无视跨域限制,也只能覆盖到大部分的场景而不能完全复现内网穿透(四层数据包直接转发)的请求行为。
bugfan
2022 年 3 月 17 日
@oldshensheep 这个方案我刚打算做时候就想到了,问题太多,而且实现的不完善,跨域,敏感头代理等等,最后没辙了我就放弃了。但是那是最美好的结果,因为啥都不用装,直接打开网页就行了。😂
bugfan
2022 年 3 月 17 日
@Archeb 嗯,所见略同,但是我觉得就是 chrome app 应该比下载个客户端软件安装到自己设备更方便吧,为啥要淘汰呢?
bugfan
2022 年 3 月 17 日
尴尬了,也是刚看到 google 从 chrome app 2022.6 停止支持。。。
算了,我放弃了
statumer
2022 年 3 月 17 日
这种需求只能通过 native messaging 实现
iqoo
2022 年 3 月 17 日
不用插件就可以实现。之前做过一个原型,给 chrome 加上启动参数关闭 CORS 等限制,不过问题还是挺多的。
JavaGym
2022 年 3 月 17 日
用 Ngrok
yaott2020
2022 年 3 月 17 日
frp 挺好用的
bugfan
2022 年 3 月 17 日
@yaott2020 嗯这个不错,我就是想自己搞一个尽量不需要下载客户端的。。
bugfan
2022 年 3 月 17 日
@kaihu204 印象里 ngrok 每用一会就会断开,我想搞个不用客户端下载的东西,,尽量想少点依赖,能支持 https 就行,不过现在来看,客户端下载一个可执行程序这一步是不可避免了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/840962

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX