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

2022-03-17 10:55:00 +08:00
 bugfan

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

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

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

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

https://www.v2ex.com/t/840962

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

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

© 2021 V2EX