Loading... # 引言 自己的电脑放在公司,下班之后可能还会用到电脑,或是处理事情,或是下载电脑上的文件。 # 解决方案 1. 在被控机上安装PHP环境和ApacheHttpd,搭建Web服务器 2. 记住设置好权限,防止恶意利用,毕竟被控机是个人电脑,隐私较多。 ![例如](https://www.zunmx.top/usr/uploads/2021/07/764426025.png) 3. 搭建服务应用,这里也是我常用的应用。EveryThing的文件访问服务不错,下载可以使用这个,要是涉及到上传,可以考虑使用可道云。 ![WebList](https://www.zunmx.top/usr/uploads/2021/07/738660743.png) 4. 这样就搭建好了本地Web服务 5. 在远程服务器和被控机上搭建frp,设置好端口号,远程端和受控端都要配置好 6. 比如我的受控端配置。 ```properties token = ****** server_addr = ****** server_port = ****** authentication_method = token log_level = trace log_file = ./frpc.log admin_addr = 0.0.0.0 admin_port = ****** admin_user = ****** admin_pwd = ****** [3389] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = *** [80] type = tcp local_ip = 127.0.0.1 local_port = 80 remote_port = *** [90] type = tcp local_ip = 127.0.0.1 local_port = 90 remote_port = *** [21] type = tcp local_ip = 127.0.0.1 local_port = 21 remote_port = *** ``` 为了保护个人映射安全,部分已经打马。 local_port 为本地端口,remote_port为映射端口,也就是访问服务器的端口时,实际上是受控机的端口。 7. 这还不够,如果frp挂掉或者说触发了什么bug(目前没有遇到)可以采用候选方案,在服务器端加上管理面板。 8. 受控机编写程序,实时与服务器端通信,服务器上的变化会间接影响受控机 9. 实例如下。 ![控制程序](https://www.zunmx.top/usr/uploads/2021/07/1930130743.png) ![守护程序](https://www.zunmx.top/usr/uploads/2021/07/2988735846.png) 10. 代码相关如下 由于自己使用,代码暂不开放,提供如下思路,服务器端点击一个按钮之后,会改变一个值,控制端时刻访问服务器端,检测值的变化,根据特定的指令,执行响应的操作,而受控端挂掉怎么办,加上一个定时任务,如果这个定时任务多次启动,会影响性能,所以加上一个进程互斥锁,或者占用一个端口,如果多次运行时,这个端口被占用,就说明任务仍在进行,自行退出即可。 # 最终效果 ![映射](https://www.zunmx.top/usr/uploads/2021/07/3950737607.png) ![远程桌面](https://www.zunmx.top/usr/uploads/2021/07/890491812.png) © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏