写一个frpc的windows服务管理器

前言

在之前的一篇文章( 远程连接被爆破的最佳解决办法)中,提到如何避免远程桌面被爆破。有人私信说步骤太复杂,也发了他们在用的一些方案:

  1. 通过安全狗来设置主机名作为白名单条件
  2. softether组件局域网(和zerotier类似)
  3. 通过RouterOS设置某些情况下的请求将ip加入到白名单,比如弄个带验证的接口,不在白名单的拒绝远程

这些方法都是可以的,任意选择一个即可。不过怎么会觉得我的那篇文章配置复杂呢,文章虽然很长,但操作起来就两个步骤:

  1. 使用frp开启一个http代理
  2. 下载Parallels Client这个软件,并使用代理连接远程

无需把端口转发到公网,也无需设置防火墙

优化

第二步肯定都知道怎么操作了,那应该就是第一步不清楚怎么配置,或者是没有一个带公网ip的服务器用来做服务端。

这篇就写一个frpc的Windows服务管理程序,将第一步的操作也稍微简化一下,也实现一下打开软件点几下就能用。frps(服务端)一般是在linux上部署,这里就只针对Windows上的frpc(客户端)。

为了方便大家测试,我开放一个frps服务端的配置,使用的是我家里的宽带部署的。

公众号,回复frp获取frps的配置信息。仅用作测试,请勿依赖,如果失效后台回复或加我好友

因为frp没有用户管理,也无法限制每个人使用的资源量,所以请自觉一点不要滥用。

使用介绍

使用时不要直接穿透3389端口,先添加http_proxy类型的代理,然后下载Parallels Client连接,软件的使用看上一篇文章。

因为其他人也能看到并使用这个frps配置,虽然他们看不到你穿透了哪些端口,但是可以扫描服务器哪些端口被使用了,同样可能爆破。

如果是http代理的形式,爆破代理也只是针对的服务器,你本地的电脑不会受到影响。另外,代理的账号密码别太简单,尽量设置复杂一点。

使用步骤:

  1. 先在config.ini文件里填写frps配置信息,在填写你需要设置的代理账号和密码
  2. 打开管理器,添加一个http_proxy类型代理,端口选择20000-50000的任意一个端口,如果端口有人用的话,就换一个端口
  3. 如果是running的状态,就可以通过代理连接远程桌面了。也可以先用浏览器插件测试一下这个代理

frpc管理器

frp的官网没有Windows开机自启的方法,linux是使用的systemd来操作,这样很不方便,每次开机都得自己打开一次。

所以管理器的第一个功能必须先将frpc注册为系统开启自启服务,再加上一个管理穿透的规则就可以了,成品的软件截图如下:

代码是开源的,如果觉得用着有问题或者bug,可以提建议给我或者自己修改。

因为代码是开源的,所以如果杀毒软件报毒的话,这个就自行解决了(杀毒软件开放白名单或者自己编译看看)

修改服务端信息

同样是通过配置文件来配置。新建一个config.ini, 填写frps的连接信息,如下:

ini 复制代码
[frps]
; frp server的连接信息
serverAddr = 127.0.0.1
serverPort = 12345
authToken = token
protocol = kcp

还有两个配置信息

  1. 可以配置是否在关闭软件的时候,停止和删除frpc服务
  2. 配置代理的验证信息
ini 复制代码
[manager]
autoCloseFrpc = false

[verification]
; 这是代理的验证用户和密码,尽量设置的复杂点
username = admin
password = admin

添加、删除和修改映射

右键空白位置会弹出选项,点击需要操作的选项

比如点添加就会弹出一个窗口,填写相应的信息就可以增加映射,本地地址需要加上端口:

下面这几个按钮看字面意思应该知道了,就不提了

软件需要在启动前先创建快捷方式,并右键快捷方式,在后面加上--manger才能启动。

这么设计是因为服务和管理器界面用的都是这个exe,如果加了这个参数启动就是启动管理器界面,如果不加的话走的就是服务的逻辑了,你就看不到界面

你打开这个软件会运行了两次,一个作为管理器界面运行,一个作为后台服务运行。

开机自启

即使关闭了管理器的界面,后台的frpc服务依然是在运行的,因为管理器界面只是用于注册、启动服务和管理frpc配置文件的。

服务默认会开机自启,服务可以在任务管理器里看到。如果不想让他自启,可以用管理器删除服务或者右键打开服务将自启从自动设置成手动

仓库地址

github.com/kanadebliss...

github可能访问较慢,可以试试我自建的git仓库

www.pygrower.cn:21180/kanadebliss...

相关推荐
湫ccc4 小时前
《Python基础》之字符串格式化输出
开发语言·python
mqiqe4 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
AttackingLin5 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
哭泣的眼泪4085 小时前
解析粗糙度仪在工业制造及材料科学和建筑工程领域的重要性
python·算法·django·virtualenv·pygame
湫ccc5 小时前
《Python基础》之基本数据类型
开发语言·python
drebander6 小时前
使用 Java Stream 优雅实现List 转化为Map<key,Map<key,value>>
java·python·list
威威猫的栗子7 小时前
Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画
开发语言·python
墨染风华不染尘7 小时前
python之开发笔记
开发语言·笔记·python
Dxy12393102168 小时前
python bmp图片转jpg
python
麦麦大数据8 小时前
Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化
人工智能·python·深度学习