mirror of
https://github.com/1Remote/1Remote.git
synced 2026-04-25 13:36:03 +03:00
[GH-ISSUE #714] 希望能上线代理设置功能 #3508
Labels
No labels
area-configuration
area-ct-app
area-ct-rdp
area-ct-remoteapp
area-ct-ssh
area-ct-vnc
area-launcher
area-list
area-tags
area-teamwork
bug
chore
dependencies
general-build/ci
general-performance
general-refactor
general-security
general-supportive
general-ux
meta-documentation
meta-enhancement
meta-enhancement
meta-feature
meta-help-wanted
meta-unknown-error
priority-hi
priority-low
pull-request
question
resolution-duplicate
resolution-invalid
resolution-wontfix
stale
task-put-off
task-still-considering
task-working-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/1Remote#3508
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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日
@VShawn commented on GitHub (Sep 11, 2024):
你好,我其实一直有想法去内置一个 SSH 隧道,但限于我对RDP 代理、SSH 隧道、堡垒机的认识不足(因为我个人对此没有需求,所以没有相关使用经验),所以一直没能加入这类似的功能。
我理解的 SSH 隧道工作方式是:
外网机器 --SSH隧道--> 内网堡垒机 ---> 内网服务器
由于SSH隧道启动的时候就声明了要连接内网的哪个IP和端口,所以堡垒机就直接转发流量
你说的代理功能是否也是类似的作用?
即:
外网机器 --http代理--> 内网堡垒机(代理服务器) ---> 内网服务器
这种方式如何配置端口转发呢?
@kakou-2 commented on GitHub (Sep 11, 2024):
——————————————————————————————
尊敬的开发者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的全部网络配置信息,再进行局域网内转发访问。
对外暴露的只需要暴露代理服务端口,无需分别暴露全部服务端口(当然这部分也可以通过反代实现)。通过代理服务器本身的身份验证、独立服务自身的身份认证,降低独立服务暴露风险的同时,进行了二重身份验证加强防护。
@VShawn commented on GitHub (Sep 12, 2024):
感谢回复,写的很详细了,以后我会研究一下这种使用方式。由于某些原因今年比较忙,因此这个周期可能会挺长。
顺带一提,我是通过 FRP 的 STCP 协议,实现了外网电脑设备访问内网服务。
@heartacker commented on GitHub (Mar 26, 2025):
恳求代理功能,RDP 需要代理才能访问,有一些工具可以 ,但是还是很希望1remote 支持,真的非常感谢,很需要
@heartacker commented on GitHub (Mar 26, 2025):
最近只能切到 parallels 这个软件,是支持代理的
@linusdrop commented on GitHub (Apr 13, 2025):
大部分人都不想裸连自己的国外主机,不管是ssh还是rdp,这需求非常刚性。rdp的话可以用远古的SocksCap顶一下,如果1Remote原生支持那最好不过了啊
@itbencn commented on GitHub (May 7, 2025):
这个提议非常棒,期待早日支持
@nachifur commented on GitHub (Feb 11, 2026):
@VShawn 内置一个http代理或者socks5代理是最优美的。但是我确实没有找到代理设置。
目前我使用proxychains命令行启动1Remote,可以代理。(Proxifier也可以,但是收费,也比较复杂)
proxychains_win32_x64d.exe -f proxychains.conf 1Remote.exehttps://github.com/shunf4/proxychains-windows/releases
@heartacker commented on GitHub (Feb 28, 2026):
提供一些新的思路。