我是靠谱客的博主 儒雅星月,最近开发中收集的这篇文章主要介绍在OpenWRT上运行Sakura Frp,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

通过Sakura Frp远程访问路由WEB界面

    • 创建隧道
    • 安装Frpc
    • OpenWRT上传文件
    • 运行Frpc
    • 后台运行Frpc
    • 开机自动启动Frpc

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,成功自启

最后

以上就是儒雅星月为你收集整理的在OpenWRT上运行Sakura Frp的全部内容,希望文章能够帮你解决在OpenWRT上运行Sakura Frp所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部