内网穿透FRP搭建(宝塔面板/Windows)

frp是我最喜欢的开源项目之一

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS
等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

GitHub:https://github.com/fatedier/frp
完整文档:https://gofrp.org

1.下载frpc和frps

访问https://github.com/fatedier/frp/releases
下载最新版本(截止写文章时为v0.42.0)
FRP

下载对应系统的客户端和服务端二进制文件
由于采用 Golang 编写,所以系统需求和最新的 Golang 对系统和平台的要求一致
如果一个是Win,一个是Linux,就要下载两个,下载下来,解压分别找到其中的对应系统,对应C端与S端的文件

至少需要4个文件
frps & frps.ini (服务器端*有公网ip的)
frpc & frpc.ini (客户端 *内网)

2.部署

解压缩下载的压缩包,将其中的 frpc 拷贝到内网服务所在的机器上,将 frps 拷贝到具有公网 IP 的机器上,放置在任意目录。

3.运行

编写配置文件,先通过 ./frps -c ./frps.ini 启动服务端,再通过 ./frpc -c ./frpc.ini 启动客户端。

配置文件的编写 举例:frp 会将请求 x.x.x.x:6000 的流量转发到内网机器的 22 端口

frps.ini

[common]
bind_port = 7000//服务器接收客户端连接的端口

frpc.ini

[common]
server_addr = x.x.x.x //服务器ip地址
server_port = 7000 //服务器接收客户端连接的端口

[ssh]
type = tcp
local_ip = 127.0.0.1 //本地需要暴露到公网的服务地址
local_port = 22      //本地需要暴露到公网的端口
remote_port = 6000   //在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口

后台长期运行

Windows端我的方法是 用 WinSW
Linux端 我的方法是 用宝塔面板+supervisord管理器

winsw配置frp为Windows服务

下载对应系统的winsw
https://github.com/winsw/winsw/releases
改名为winsw.exe,放到frp相同的目录里,在同一个目录里创建一个文本文件,文件名是 winsw.xml,内容是:

<id>frp</id>
<name>frp这里是服务的名称</name>
<description>这里是服务的介绍,随便写</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<onfailure action="restart" delay="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>


以管理员权限打开一个命令窗口,cd到frp所在目录,执行:

winsw install
winsw start

宝塔面板后台长期运行:

软件商店 > 系统工具 > Supervisor管理器 > 添加守护进程

名称随意填写,目录选择到存放frps压缩包解压后完整文件目录。

然后分别填写下面的启动命令

服务端启动命令:

/bin/bash -c './frps -c ./frps.ini'

客户端启动命令:

/bin/bash -c './frpc -c ./frpc.ini'

填写完命令之后点击确定即可启动,

兰空图床LskyPro2.0版搭建(宝塔面板)

一直使用的是 PicGo + OSS的方式托管图片,但是没有时间在每一台电脑上都安装PicGo,配置还比较复杂

PicGO

所以就打算搭建一个Web图床,通过Web端上传图片
经过社区的推荐,最终选择了兰空图床LskyPro

之前试过ImgURL,不过免费版好像不能用OSS,就没有使用

搭建兰空图床 最大的困难在于 要 Mysql 5.7+,而我之前的Mysql是5.6的
Mysql5.6-5.7
而我的这台服务器上有7个网站,其中6个都有数据库,
我就只能慢慢备份,删除数据库,升级Mysql版本,再导入之前的数据库,还要配置每个网站的数据库(因为数据库密码变了,好像有其他办法,就是从回收站把数据库再搞回来,就不用配置了),但是升级Mysql要删除所有数据库也太烦了吧

1.上传安装包

(假设你已经安装好了宝塔及环境 Apache,PHP >= 8.0.2,Mysql 5.7+)
将安装包上传至站点目录然后解压,将站点的运行目录指向程序的 public 文件夹
public

2.安装软件+配置数据库

访问站点 首页 ,程序会自动跳转至安装页面,环境检测通过以后即可通过引导进行安装。
其中环境检测 比较复杂,在PHP设置上配置(注意PHP版本!)
PHP设置

3.软件设置

然后按照安装时设置的账号密码登录进去,默认是本地存储
在存储策略的地方可以增加存储方式
通过对角色组的编辑页可以更改路径规则
默认是 {Y}/{m}/{d}
路径规则

4.完成

完成

我是禁止游客上传,这个图床是我和我的朋友们自用的,怕有人瞎传,把我的域名给封掉