在OpenWRT上运行Sakura Frp

Sakura Frp非常好用,但是如果在OpenWRT上自动运行,作为一个小白还是折腾了许久,因此写下详细过程

创建隧道

首先你要创建一个隧道并映射80端口,这样你才可以访问你的路由界面
在这里插入图片描述
建立后将你的隧道配置文件保存为Frpc.ini备用

安装Frpc

将路由器系统升级到了最新的OpenWRT之后,非常尴尬的发现,啥也没有了,以前用惯的明月永在系统确实是非常贴心,什么功能都内置好了,但是现在只能从头再来.
首先搜索了一通,opkg找不到这个软件,然后在github上找到了下载页面,可惜没有已编译好并且能适合我的路由器型号的版本可供下载,尝试用源码编译…好吧,还是放弃了
换一种思路,既然不能使用安装方法,那么直接运行BIN程序如何?
查询处理器架构命令:

root@OpenWrt:~# cat /proc/cpuinfo

根据结果

cpu model		: MIPS 74Kc V4.12
isa			: mips1 mips2 mips32r1 mips32r2

下载Sakura Frp已编译好的版本并上传到/usr/sbin/文件夹:
Sakura Frp软件下载页面
下载这个版本:Linux (Mips)
或者下载原版:
https://github.com/fatedier/frp/releases
原版已打tar包,需要解压出Frpc执行文件,然后上传到/usr/sbin/文件夹

OpenWRT上传文件

作为一个小白,一帆顺是不可能的,如何上传文件呢
首先下载Xshell,然后打开Xsell
在这里插入图片描述
连接成功后输入命令

root@OpenWrt:~# opkg update

等待执行完毕后安装lrzsz,可以直接拖拽上传文件

root@OpenWrt:~# opkg install lrzsz

安装完成后进入/usr/sbin/

root@OpenWrt:~# cd /usr/sbin/ 

直接拖拽上传(Frcp,Frpc.ini)
在这里插入图片描述

运行Frpc

程序已经上传成功,运行一下看效果如何

root@OpenWrt:/usr/sbin# ./frpc

果然隧道已经在线,通过http://服务器网址:端口号/便可以访问你的路由器了
但是关闭Xshell,程序便会停止运行,应该如何解决这个问题呢?

后台运行Frpc

安装screen支持后台运行

root@OpenWrt:~# opkg install screen

运行screen,新建名为frpc的会话

root@OpenWrt:~# screen -S frpc

运行Frpc

root@OpenWrt:/usr/sbin# ./frpc

运行成功后,离开会话(会话中的程序不会关闭,仍在运行)快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)
此时关闭Xshee,Frpc不会停止,仍在后台运行

开机自动启动Frpc

Frpc已经后台运行了,但是如果路由重启了,并不能自动运行,因此需要将Frpc加入启动项实现开机自启
首先,创建一个启动脚本

root@OpenWrt:/etc/init.d# vim /etc/init.d/startFrpc 
#!/bin/sh /etc/rc.common
START=99
STOP=15

start() {
  echo start
  cd /usr/sbin
  frpc
  #commands to launch application, such as above
}

stop() {
  echo stop
  #commands to kill application
}

按esc键,输入 :wq 保存退出
添加可执行权限

root@OpenWrt:/etc/init.d# chmod +x /etc/init.d/startFrpc

建立启动链接

root@OpenWrt:/etc/init.d# ln -s /etc/init.d/startFrpc /etc/rc.d/s99startFrpc

查看启动状态

root@OpenWrt:/etc/init.d# for F in /etc/init.d/* ; 
do $F enabled && echo $F on || echo $F **disabled**; done

按理说到这里应该结束了,但是小白毕竟是小白,重启以后发现在隧道并没有自动运行,因此有了一下步操作
OpenWRT系统菜单-启动项-本地启动脚本( /etc/rc.local)加入以下内容

/etc/init.d/startFrpc start

修改后如下

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
/etc/init.d/startFrpc start
exit 0

果断reboot,成功自启

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值