[GH-ISSUE #714] 希望能上线代理设置功能 #3508

Open
opened 2026-03-13 11:45:48 +03:00 by kerem · 9 comments
Owner

Originally created by @kakou-2 on GitHub (Sep 10, 2024).
Original GitHub issue: https://github.com/1Remote/1Remote/issues/714

Originally assigned to: @VShawn on GitHub.

非常感谢开发者提供的本工具,可作为主流协议的远程控制客户端,对于像rdp、ssh等协议如直接把相关协议端口暴露在互联网中,会被一些不良人员通过特定的工具进行rdp、ssh等协议的扫描,即使修改端口号也不能避免。虽然一些技术可以避免相关服务器远程协议直接暴露在互联网,比如虚拟组网,vpn等等,但相关技术具备一定门槛且非全部服务器使用。
在这种情况下,通过设置代理服务器+账户认证的方式是一个相对有效的方式,只暴露代理服务器的端口至互联网上,可以一定程度混淆端口扫描器的视线。
虽然互联网上有一些工具能为不具备代理服务设置的应用进行代理配置,但相关配置较麻烦且一般是针对应用全局设置,希望1Remote能内置代理服务设置功能,允许针对每一个协议都能单独设置代理连接(如finalshell、Parallels等工具就提供了代理设置功能)。

再次感谢开发者。

2024年9月10日

Originally created by @kakou-2 on GitHub (Sep 10, 2024). Original GitHub issue: https://github.com/1Remote/1Remote/issues/714 Originally assigned to: @VShawn on GitHub. 非常感谢开发者提供的本工具,可作为主流协议的远程控制客户端,对于像rdp、ssh等协议如直接把相关协议端口暴露在互联网中,会被一些不良人员通过特定的工具进行rdp、ssh等协议的扫描,即使修改端口号也不能避免。虽然一些技术可以避免相关服务器远程协议直接暴露在互联网,比如虚拟组网,vpn等等,但相关技术具备一定门槛且非全部服务器使用。 在这种情况下,通过设置代理服务器+账户认证的方式是一个相对有效的方式,只暴露代理服务器的端口至互联网上,可以一定程度混淆端口扫描器的视线。 虽然互联网上有一些工具能为不具备代理服务设置的应用进行代理配置,但相关配置较麻烦且一般是针对应用全局设置,希望1Remote能内置代理服务设置功能,允许针对每一个协议都能单独设置代理连接(如finalshell、Parallels等工具就提供了代理设置功能)。 再次感谢开发者。 2024年9月10日
Author
Owner

@VShawn commented on GitHub (Sep 11, 2024):

你好,我其实一直有想法去内置一个 SSH 隧道,但限于我对RDP 代理、SSH 隧道、堡垒机的认识不足(因为我个人对此没有需求,所以没有相关使用经验),所以一直没能加入这类似的功能。

我理解的 SSH 隧道工作方式是:

外网机器 --SSH隧道--> 内网堡垒机 ---> 内网服务器

由于SSH隧道启动的时候就声明了要连接内网的哪个IP和端口,所以堡垒机就直接转发流量


你说的代理功能是否也是类似的作用?

即:
外网机器 --http代理--> 内网堡垒机(代理服务器) ---> 内网服务器

这种方式如何配置端口转发呢?

<!-- gh-comment-id:2342554956 --> @VShawn commented on GitHub (Sep 11, 2024): 你好,我其实一直有想法去内置一个 SSH 隧道,但限于我对RDP 代理、SSH 隧道、堡垒机的认识不足(因为我个人对此没有需求,所以没有相关使用经验),所以一直没能加入这类似的功能。 我理解的 SSH 隧道工作方式是: 外网机器 --SSH隧道--> 内网堡垒机 ---> 内网服务器 由于SSH隧道启动的时候就声明了要连接内网的哪个IP和端口,所以堡垒机就直接转发流量 ---- 你说的代理功能是否也是类似的作用? 即: 外网机器 --http代理--> 内网堡垒机(代理服务器) ---> 内网服务器 这种方式如何配置端口转发呢?
Author
Owner

@kakou-2 commented on GitHub (Sep 11, 2024):

你说的代理功能是否也是类似的作用?
即: 外网机器 --http代理--> 内网堡垒机(代理服务器) ---> 内网服务器
这种方式如何配置端口转发呢?

——————————————————————————————

尊敬的开发者VShawn ,非常感谢您在百忙中抽空回复,目前我所使用的场景相对简单,部署场景如下:
我在内网win10系统中通过ccproxy部署了代理服务器,同时在win10环境下通过vm虚拟机部署了一台debian服务器,出于安全考虑虚拟机的网络配置为“仅主机”(即仅宿主机和debian之间网络访问,debian本身不直接联网)。

我的配置场景如下:
1.win系统设置了RDP远程桌面(端口号3389,账户密码均为win10),物理网卡局域网ip为192.168.1.10(网关指向边际网关),虚拟机网卡ip为192.168.100.10(无默认网关);
2.虚拟机debian中部署了各种服务,如ssh远程连接(端口号22,账号密码均为root),ip为192.168.100.20(无默认网关);
3.win的代理服务器监听0.0.0.0的8181端口,并开启http/rtsp等协议代理。边际网关(防火墙)放行了8181端口(tcp),公网ip(假设)为120.10.10.10,同时在代理服务器中设置了账号密码验证(假如均为admin);

我的应用场景如下:
1.我的外网移动设备(如手机),要调用win的远程桌面,使用支持代理设置的第三方RDP客户端如Parallels,在设置分别填写以下信息:
1)代理服务器信息:端口号8181,代理服务器地址120.10.10.10,身份验证账户和密码均为admin;
2)RDP服务器信息:端口号3389,服务器地址:127.0.0.1(或192.168.1.10),用户名和密码均为win10;

2.我的外网电脑设备,要调用debian的服务,假如为调用ssh。使用支持代理设置的第三方ssh客户端,如finalshell,在设置分别填写以下信息:
1)代理服务器信息:端口号8181,代理服务器地址120.10.10.10,身份验证账户和密码均为admin;
2)ssh连接信息:端口号22,服务器地址:192.168.100.20,用户名和密码均为root;

3.在外网终端访问debian中的web服务,如debian中自建的cloudreve网盘,与上述第2点场景类似,把访问客户端改为一般支持代理设置的浏览器即可。
————————————————————————
以上场景,均是通过把win10作为代理中转服务,挂上代理后,即视为获取了win10的全部网络配置信息,再进行局域网内转发访问。
对外暴露的只需要暴露代理服务端口,无需分别暴露全部服务端口(当然这部分也可以通过反代实现)。通过代理服务器本身的身份验证、独立服务自身的身份认证,降低独立服务暴露风险的同时,进行了二重身份验证加强防护。

<!-- gh-comment-id:2342938632 --> @kakou-2 commented on GitHub (Sep 11, 2024): > 你说的代理功能是否也是类似的作用? > 即: 外网机器 --http代理--> 内网堡垒机(代理服务器) ---> 内网服务器 > 这种方式如何配置端口转发呢? —————————————————————————————— 尊敬的开发者VShawn ,非常感谢您在百忙中抽空回复,目前我所使用的场景相对简单,部署场景如下: 我在内网win10系统中通过ccproxy部署了代理服务器,同时在win10环境下通过vm虚拟机部署了一台debian服务器,出于安全考虑虚拟机的网络配置为“仅主机”(即仅宿主机和debian之间网络访问,debian本身不直接联网)。 我的配置场景如下: 1.win系统设置了RDP远程桌面(端口号3389,账户密码均为win10),物理网卡局域网ip为192.168.1.10(网关指向边际网关),虚拟机网卡ip为192.168.100.10(无默认网关); 2.虚拟机debian中部署了各种服务,如ssh远程连接(端口号22,账号密码均为root),ip为192.168.100.20(无默认网关); 3.win的代理服务器监听0.0.0.0的8181端口,并开启http/rtsp等协议代理。边际网关(防火墙)放行了8181端口(tcp),公网ip(假设)为120.10.10.10,同时在代理服务器中设置了账号密码验证(假如均为admin); 我的应用场景如下: 1.我的外网移动设备(如手机),要调用win的远程桌面,使用支持代理设置的第三方RDP客户端如Parallels,在设置分别填写以下信息: 1)代理服务器信息:端口号8181,代理服务器地址120.10.10.10,身份验证账户和密码均为admin; 2)RDP服务器信息:端口号3389,服务器地址:127.0.0.1(或192.168.1.10),用户名和密码均为win10; 2.我的外网电脑设备,要调用debian的服务,假如为调用ssh。使用支持代理设置的第三方ssh客户端,如finalshell,在设置分别填写以下信息: 1)代理服务器信息:端口号8181,代理服务器地址120.10.10.10,身份验证账户和密码均为admin; 2)ssh连接信息:端口号22,服务器地址:192.168.100.20,用户名和密码均为root; 3.在外网终端访问debian中的web服务,如debian中自建的cloudreve网盘,与上述第2点场景类似,把访问客户端改为一般支持代理设置的浏览器即可。 ———————————————————————— 以上场景,均是通过把win10作为代理中转服务,挂上代理后,即视为获取了win10的全部网络配置信息,再进行局域网内转发访问。 对外暴露的只需要暴露代理服务端口,无需分别暴露全部服务端口(当然这部分也可以通过反代实现)。通过代理服务器本身的身份验证、独立服务自身的身份认证,降低独立服务暴露风险的同时,进行了二重身份验证加强防护。
Author
Owner

@VShawn commented on GitHub (Sep 12, 2024):

感谢回复,写的很详细了,以后我会研究一下这种使用方式。由于某些原因今年比较忙,因此这个周期可能会挺长。

顺带一提,我是通过 FRP 的 STCP 协议,实现了外网电脑设备访问内网服务。

<!-- gh-comment-id:2345026344 --> @VShawn commented on GitHub (Sep 12, 2024): 感谢回复,写的很详细了,以后我会研究一下这种使用方式。由于某些原因今年比较忙,因此这个周期可能会挺长。 顺带一提,我是通过 FRP 的 STCP 协议,实现了外网电脑设备访问内网服务。
Author
Owner

@heartacker commented on GitHub (Mar 26, 2025):

恳求代理功能,RDP 需要代理才能访问,有一些工具可以 ,但是还是很希望1remote 支持,真的非常感谢,很需要

<!-- gh-comment-id:2752970632 --> @heartacker commented on GitHub (Mar 26, 2025): 恳求代理功能,RDP 需要代理才能访问,有一些工具可以 ,但是还是很希望1remote 支持,真的非常感谢,很需要
Author
Owner

@heartacker commented on GitHub (Mar 26, 2025):

最近只能切到 parallels 这个软件,是支持代理的

Image

<!-- gh-comment-id:2753065889 --> @heartacker commented on GitHub (Mar 26, 2025): 最近只能切到 parallels 这个软件,是支持代理的 ![Image](https://github.com/user-attachments/assets/f1956d75-9234-4a43-bcae-eb76f79c5773)
Author
Owner

@linusdrop commented on GitHub (Apr 13, 2025):

大部分人都不想裸连自己的国外主机,不管是ssh还是rdp,这需求非常刚性。rdp的话可以用远古的SocksCap顶一下,如果1Remote原生支持那最好不过了啊

<!-- gh-comment-id:2799973542 --> @linusdrop commented on GitHub (Apr 13, 2025): 大部分人都不想裸连自己的国外主机,不管是ssh还是rdp,这需求非常刚性。rdp的话可以用远古的SocksCap顶一下,如果1Remote原生支持那最好不过了啊
Author
Owner

@itbencn commented on GitHub (May 7, 2025):

这个提议非常棒,期待早日支持

<!-- gh-comment-id:2859276709 --> @itbencn commented on GitHub (May 7, 2025): 这个提议非常棒,期待早日支持
Author
Owner

@nachifur commented on GitHub (Feb 11, 2026):

@VShawn 内置一个http代理或者socks5代理是最优美的。但是我确实没有找到代理设置。

目前我使用proxychains命令行启动1Remote,可以代理。(Proxifier也可以,但是收费,也比较复杂)

proxychains_win32_x64d.exe -f proxychains.conf 1Remote.exe

https://github.com/shunf4/proxychains-windows/releases

<!-- gh-comment-id:3884247417 --> @nachifur commented on GitHub (Feb 11, 2026): @VShawn 内置一个http代理或者socks5代理是最优美的。但是我确实没有找到代理设置。 目前我使用proxychains命令行启动1Remote,可以代理。(Proxifier也可以,但是收费,也比较复杂) `proxychains_win32_x64d.exe -f proxychains.conf 1Remote.exe` https://github.com/shunf4/proxychains-windows/releases
Author
Owner

@heartacker commented on GitHub (Feb 28, 2026):

提供一些新的思路。

  1. 如果你的机器支持RDP 主机 支持 ssh 连接过去。那你可以本机搞一个端口映射到远程主机的 3389.然后 远程桌面127.0.0.1 3389 是可以的。
  2. 使用 clash 开启 TUN 模式。然后在clash 配置远程pc的地址通过你配置好的代理。
  3. 我的某一个旁路设备和我需要的远程的设备组网了,那我就在旁路设备配置好端口转发,然后我远程我的旁路的端口也是可以的。
<!-- gh-comment-id:3976156981 --> @heartacker commented on GitHub (Feb 28, 2026): 提供一些新的思路。 1. 如果你的机器支持RDP 主机 支持 ssh 连接过去。那你可以本机搞一个端口映射到远程主机的 3389.然后 远程桌面127.0.0.1 3389 是可以的。 2. 使用 clash 开启 TUN 模式。然后在clash 配置远程pc的地址通过你配置好的代理。 3. 我的某一个旁路设备和我需要的远程的设备组网了,那我就在旁路设备配置好端口转发,然后我远程我的旁路的端口也是可以的。
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/1Remote#3508
No description provided.