[GH-ISSUE #3423] [FEATURE] SOCKS proxy for dynamic access | SOCKS 动态代理 #2322

Closed
opened 2026-02-27 00:06:56 +03:00 by kerem · 4 comments
Owner

Originally created by @yiding-he on GitHub (May 15, 2024).
Original GitHub issue: https://github.com/electerm/electerm/issues/3423

What feature you'd like to see or proposal(期望什么新功能/特性或者建议)

场景:我这里的情况是,需要连接跳板机成功后在本地创建一个 SOCKS 代理,以方便浏览器通过该代理访问内网服务。因为内网服务太多了,所以一个一个映射到本地很麻烦,而且页面上可能会有脚本进行跨域请求或跳转,这时候需要真实的内网地址而非 127.0.0.1。

就类似 ssh -D 1080 user@remote_server 这样的命令。

非常感谢!

Originally created by @yiding-he on GitHub (May 15, 2024). Original GitHub issue: https://github.com/electerm/electerm/issues/3423 ### What feature you'd like to see or proposal(期望什么新功能/特性或者建议) 场景:我这里的情况是,需要连接跳板机成功后在本地创建一个 SOCKS 代理,以方便浏览器通过该代理访问内网服务。因为内网服务太多了,所以一个一个映射到本地很麻烦,而且页面上可能会有脚本进行跨域请求或跳转,这时候需要真实的内网地址而非 127.0.0.1。 就类似 `ssh -D 1080 user@remote_server` 这样的命令。 非常感谢!
kerem closed this issue 2026-02-27 00:06:56 +03:00
Author
Owner

@zxdong262 commented on GitHub (May 15, 2024):

SSH隧道那里可以吗?最新版支持地址设定,不是写死127.0.0.1
Screen Shot 2024-05-15 at 18 06 16

<!-- gh-comment-id:2112097190 --> @zxdong262 commented on GitHub (May 15, 2024): SSH隧道那里可以吗?最新版支持地址设定,不是写死127.0.0.1 ![Screen Shot 2024-05-15 at 18 06 16](https://github.com/electerm/electerm/assets/1641949/5772d370-0bb2-40d8-b03d-a6e723320605)
Author
Owner

@yiding-he commented on GitHub (May 16, 2024):

@zxdong262 不行。截图中的 R->L 和 L->R 分别对应 ssh -Lssh -R 两个场景,然后 ssh 还支持第三种场景就是 ssh -D,这个是无法用前两种场景替代的。

例如某内网跳板机公网地址为 1.2.3.4,内网地址为 10.0.0.1,那么我可以用 ssh -D 1080 pxy@1.2.3.4 在本地开一个 SOCKS 代理,浏览器配置这个代理后,就可以在地址栏输入 http://10.0.0.2 来访问内网 10.0.0.2 的页面,而且任何端口都可以。这就是动态代理。

PuTTY 对应的配置如图下,你可以看到 Destination 下面的三个单选框,它就对应了上面说的三种场景。

kitty_portable_vSsi56yxx5

我还可以给更多例子:

java_yuiwUCnfoy

上面这个是 FinalShell 的配置

TTYEmulPE_hVkDDm76FN

上面这个是 TTYEmulator 的配置

大部分 SSH 工具都会支持这个选项,也侧面说明它是不可代替的。

<!-- gh-comment-id:2114085263 --> @yiding-he commented on GitHub (May 16, 2024): @zxdong262 不行。截图中的 R->L 和 L->R 分别对应 `ssh -L` 和 `ssh -R` 两个场景,然后 ssh 还支持第三种场景就是 `ssh -D`,这个是无法用前两种场景替代的。 例如某内网跳板机公网地址为 1.2.3.4,内网地址为 10.0.0.1,那么我可以用 `ssh -D 1080 pxy@1.2.3.4` 在本地开一个 SOCKS 代理,浏览器配置这个代理后,就可以在地址栏输入 `http://10.0.0.2` 来访问内网 10.0.0.2 的页面,而且任何端口都可以。这就是动态代理。 PuTTY 对应的配置如图下,你可以看到 Destination 下面的三个单选框,它就对应了上面说的三种场景。 ![kitty_portable_vSsi56yxx5](https://github.com/electerm/electerm/assets/900606/f99372c5-0b50-4616-845c-8aeabf584c05) 我还可以给更多例子: ![java_yuiwUCnfoy](https://github.com/electerm/electerm/assets/900606/9e9620d2-1b54-476b-8e73-1115ce971a68) 上面这个是 FinalShell 的配置 ![TTYEmulPE_hVkDDm76FN](https://github.com/electerm/electerm/assets/900606/54fb6e30-f2c9-49b6-ba21-79f11aef7e53) 上面这个是 TTYEmulator 的配置 大部分 SSH 工具都会支持这个选项,也侧面说明它是不可代替的。
Author
Owner

@zxdong262 commented on GitHub (May 19, 2024):

感谢反馈,将在后续版本加入

<!-- gh-comment-id:2119085606 --> @zxdong262 commented on GitHub (May 19, 2024): 感谢反馈,将在后续版本加入
Author
Owner

@zxdong262 commented on GitHub (Jun 13, 2024):

最新版已经加入

<!-- gh-comment-id:2165750045 --> @zxdong262 commented on GitHub (Jun 13, 2024): 最新版已经加入
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/electerm#2322
No description provided.