Mac 系统部署Frp内网穿透服务 实现frpc shell启动脚本启动、停止
前言
- 最近疫情导致居家办公,而工作中需要用到公网地址便于调试,于是就在本机(Mac系统)配置了Frpc内网穿透。
- 本来想用docker直接跑个容器,但是由于mac系统的docker是一个APP,每次需要打开docker app才可以使用docker命令,于是乎就放弃了docker run,然后就开始写一个命令行的frpc脚本。
创建frp目录下载客户端
-
创建frpc目录:
mkdir ~/frp/frpc
-
下载frp客户端:
wget -qO- https://github.91chi.fun/https://github.com//fatedier/frp/releases/download/v0.41.0/frp_0.41.0_darwin_amd64.tar.gz | tar xz --strip 1 -C ~/frp/frpc
编辑frpc配置信息:
# 查看配置文件内容 cat frpc.ini
# 将以下配置
[common]
server_addr = Frps服务器ip
server_port = Frps服务器port
log_file = ~/frp/frpc/log/frpc.log
log_level = info
log_max_days = 3
authentication_timeout = 900
#用于 frpc reload 重载方式配置
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = 12345678
[test]
type = tcp
local_ip = 内网IP地址
local_port = 内网port
remote_port = 公网port
use_encryption = true
use_compression = true
创建frpc.sh脚本
- 可实现启动、停止、重启、状态查询等命令
#!/bin/bash
FRPC_HOME="$HOME/frp/frpc"
client="$FRPC_HOME/frpc"
ini="$FRPC_HOME/frpc.ini"
log="$FRPC_HOME/log"
if [ "$1" = "start" ];then
nohup $client -c $ini > "$log/nohup_frpc.log" 2>&1 &
echo "frpc start success"
elif [ "$1" = "status" ];then
ps aux | grep frpc | grep -v grep | grep -v $1
echo "frpc status success"
elif [ "$1" = "reload" ];then
echo "frpc" `$client reload -c $ini`
elif [ "$1" = "restart" ];then
ps aux | grep frpc | grep -v grep | grep -v $1 | awk '{print $2}' | xargs kill -9
rm -rf "$log/frpc.log"
rm -rf "$log/nohup_frpc.log"
nohup $client -c $ini > "$log/nohup_frpc.log" 2>&1 &
echo "frpc restart success"
elif [ "$1" = "stop" ];then
ps aux | grep frpc | grep -v grep | grep -v $1 | awk '{print $2}' | xargs kill -9
rm -rf "$log/frpc.log"
rm -rf "$log/nohup_frpc.log"
echo "frpc stop success"
else
other_commands="$client $@"
$other_commands
fi
添加软链到系统环境变量
sudo ln -s $HOME/frp/frpc/frpc.sh /usr/local/bin/frpc
启动frpc服务
查看frpc启动状态
重启frpc服务
停止frpc服务
Browser登录Frpc配置首页
Frpc在Browser中可直接配置
结语
- 至此,所有部署frpc步骤全部完成,需要的小伙伴赶紧去尝试一下吧。
- 如部署或者其他问题欢迎去我的博客(www.loganjin.cn)留言或者微信公众号(Python技术交流圈)留言交流哦。