Skip to main content

3 posts tagged with "frp"

View All Tags

windows开机运行frpc(bat脚本)

· One min read

步骤一:在 frp 安装目录下新建 frpc.bat 启动脚本,脚本内容如下

@echo off
:home
frpc -c frpc.ini
goto home

点击开始菜单,输入 “任务计划程序” 并打开,点击右侧的 “创建任务”

步骤二:新建计划任务

**常规:**名称随意填写,安全选项选择 “不管用户是否登录都要运行”,勾选“使用最高权限运行”

**触发器:**点击新建,选择 “启动时”

**操作:**点击新建,选择 “启动程序,在程序或脚本一栏选择第一步创建的 frpc .bat,下面的 “起始于” 填写 frpc .bat 的路径(不要包含 frpc.bat)

安卓手机安装frp实现内网穿透

· 3 min read

需求场景

家里有一台树莓派4b已经通过frp进行内网穿透了,有时候在公司远程更改树莓派上的frpc.ini文件,然后重启frpc时因为一些原因报错导致重启失败。然后就gg了,再也不能在公司访问树莓派了,搭建在树莓派的应用也就无法访问了。这时候刚好手上有一部退休的摔坏屏幕的安卓手机。就想着能不能安卓手机也通过frp内网穿透,然后当树莓派挂了的时候,再通过安卓ssh局域网的树莓派修复问题。经过搜索,确实是可行的。

安装环境

一开始想要把安卓手机刷成linux,然后通过linux安装frp,方案采用的是busybox+linux deploy,可是最后失败了。具体原因不详。后来了解到装busybox了,就可以安装frp,网上的一些教程也是安装busybox环境的,不过我没有试过。我用了termux,里面是集成busybox的,直接安装就能使用,不用折腾,而且不用root(我的手机已经root)。

步骤一:安装termux

我的手机是红米pro,android6,如果到termux官网安装已经是最新版本了,需要android7及以上,所以只能安装低版本的termux,下载地址在这篇文章中可以找到End of android-5/6 (termux.net) support on 2020-01-01

步骤二:开启ssh登录

在手机上打字输入命令是在太麻烦了,建议打开ssh,在电脑操作。

#安装ssh
apt install openssh
#开启ssh
sshd
#查看用户名
whoami
#电脑ssh登录,termux的ssh端口默认是8022
ssh -p 8022 用户名@192.168.1.22

步骤三:安装基础软件wget,vim

apt install wget
apt install vim

步骤四:安装frpc

根据自己手机的cpu通过wget下载对应版本的frp,一般都是arm64,具体安装方法参考基于frp快速搭建内网穿透工具
安装好后就可以通过frpc -c frpc.ini方式启动了

其他说明

安装好frpc后,还有ssh登录需要优化,可以在.bashrc文件中写入实现每次打开termux启动sshd

sshd
alias frpc='/data/data/com.termux/files/home/software/frp_0.34.1_linux_arm64/frpc -c /data/data/com.termux/files/home/software/frp_0.34.1_linux_arm64/frpc.ini'

基于frp快速搭建内网穿透工具

· 5 min read

需求场景

在家办公时,往往需要同事看到本地服务器的效果。当然可以选择上传服务器的方式解决,当没有服务器,或者希望对方能直接访问本机时(传到服务器太麻烦,可能需配置环境),就需要内网穿透工具啦。还有一种情况就是微信公众号开发需要填写可访问的回调域名,这也可以通过内网穿透工具实现本地测试。网上有很多内网穿透工具,不过不是需要收费,就是需要注册限流等,免费的持续好用的真心没几个。如果自己有一台备案过的服务器,当然是自己搭建最好不过。

可选方式

现在比较常用的是基于ngork和frp两种方式,看了看star数和更新维护状态,后来决定使用frp。

简单介绍

frp基于go语言开发,包括服务端和客户端,服务端配置文件frps.ini,客户端配置文件frpc.ini。服务器端和客户端版本都必须是同一版本,作者并没有做兼容处理,否则可能无法生效。

开始搭建(服务端)

已经有大神做了一键安装脚本,参考https://github.com/MvsCode/frps-onekey
建议选择阿里云方式

wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

该脚本自动安装go和frp,按照提示来安装即可.配置文件地址/usr/local/frps/frps.ini
因为需要多http客户端,所以需要做泛域名解析*.proxy.urcloud.co,之后就可以通过test1.proxy.urcloud.co,test2.proxy.urcloud.co等域名访问,frps.ini配置修改subdomain_host参数

subdomain_host = proxy.urcloud.co

常用命令/etc/init.d/frps {start|stop|restart|status|config|version}

开始搭建(客户端)

比较遗憾的是并没有多少文章介绍客户端的下载,都只提到了使用方式。(可是github下载真心慢啊),没有梯子的同学可以用http://gitd.cc/ 网站提供的github代下载服务,只要把frp github release页面对应版本的地址复制进去,如https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_windows_amd64.zip,生成链接后下载即可。注意需要选择和服务端安装的版本一致。frpc.ini配置参考如下

[common]
server_addr = xxx.xxx.xxx.xxx #服务端ip地址
server_port = 5443
token = xxxxx #frps.ini中的token
admin_addr = 127.0.0.1
admin_port = 6443 #客户端dashboard端口
admin_user = admin #客户端dashboard用户名
admin_pwd = admin #客户端dashboard密码
[web1]
type = http
local_port = 8080 #客户端服务器端口
subdomain = test1 #(服务端域名,泛域名解析)

type = http local_port = 8080 #客户端服务器端口 subdomain = test1 #(服务端域名,泛域名解析)

[web2]
type = http
local_port = 8081 #客户端服务器端口
subdomain = test2 #(服务端域名,泛域名解析)

type = http local_port = 8081 #客户端服务器端口 subdomain = test2 #(服务端域名,泛域名解析)

启动客户端./frpc -c frpc.ini之后,就可以通过test1.proxy.urcloud.co:8000(frps.ini 设置的vhost_port)访问本地的8080端口啦

ssh远程登录

[ssh]
type = tcp
local_port = 22
remote_port = 7000

如果需要远程登录家里的电脑或者树莓派,就需要配置ssh啦
frpc.ini文件配置好并设置好frpc客户端开机启动,就可以通过ssh root@ip -p 7000命令随时实现ssh远程登录啦

树莓派设置开机启动frpc客户端

参考systemctl设置开机启动,管理service

后续探索

本文暂未涉及https的使用。后续使用到会再更新。