写一个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...

相关推荐
java1234_小锋6 分钟前
[免费]基于Python的协同过滤电影推荐系统(Django+Vue+sqlite+爬虫)【论文+源码+SQL脚本】
python·django·电影推荐系统·协同过滤
看海天一色听风起雨落1 小时前
Python学习之装饰器
开发语言·python·学习
XiaoMu_0011 小时前
基于Python+Streamlit的旅游数据分析与预测系统:从数据可视化到机器学习预测的完整实现
python·信息可视化·旅游
THMAIL1 小时前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
我没想到原来他们都是一堆坏人2 小时前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
总有刁民想爱朕ha3 小时前
车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)
开发语言·python·数据挖掘
人衣aoa4 小时前
Python编程基础(八) | 类
开发语言·python
大模型真好玩4 小时前
深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署
人工智能·python·mcp
百锦再4 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
掘技术5 小时前
十个 Python 案例分享
python