安装完openwrt X86 后,有一些内网的服务需要外网也能访问,所以使用frp做代理,但是直接在系统-》软件包安装的服务不好用,没有启停选项,所以找了一个在lede仓库基础上改的二开包 https://github.com/yhl452493373/luci-app-frpc ,不过经过测试,只在 22 以下版本的 openwrt才能安装。
下面记录一下安装和配置方法
安装方法
下载最新的 https://github.com/yhl452493373/luci-app-frpc IPK包,然后在 openwrt 后台 系统 -》 软件包 -》上传软件包 就可以安装,中文包也是一样的流程。
安装后刷新页面,就可以在服务看到 frpc的子菜单了。
但是安装后还是发现不少问题,这个包用的frpc版本是 0.51.3,但是我的frp服务比较新,所以生成的配置文件和程序是连接不上的,需要升级 openwrt 的frpc版本。
升级 frpc版本
https://github.com/fatedier/frp/releases 在这里下载 frp_0.64.0_linux_amd64.tar.gz 包解压后把里面的frpc上传到openwrt /usr/bin/frpc 替换掉。
执行 frpc -v 看看是不是版本正确的。
修改 frp 脚本
当前 luci-app-frpc 的目标版本frpc是0.51.3,所以生成的 配置文件是旧的格式,所以需要修改配置生成脚本,需要下载 https://github.com/TreeWu/luci-app-frpc/tree/main/root/etc/init.d 的frp文件,然后替换掉 openwrt /etc/init.d/frp 文件。
注意如果发现有一个文件 /etc/init.d/frpc ,最好删掉,猜测是因为我们上传安装的包和官方包重名了,所以opkg顺手就装上了,但是这个是会干扰我们的正常服务的。
配置方法
因为我的frp服务是多用户,所以需要一些额外的配置,直接看图吧
最终生成的配置文件是 /var/etc/frp/frpc.ini 如果是为了验证配置是不是可用,也可以直接在后台执行 frpc -c /var/etc/frp/frpc.ini
serverAddr=""
serverPort=7000
auth.token=""
user=""
log.level="info"
log.maxDays=3
transport.protocol="tcp"
log.to="/var/etc/frp/frpc.log"
metadatas.token = ""
transport.tcpMux=true
transport.tls.enable=false
loginFailExit=true
[[proxies]]
name="openwrt"
type="http"
subdomain="openwrt"
localIP="192.168.100.1"
localPort=80
transport.useEncryption=true
transport.useCompression=true