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///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服务器ipserver_port = Frps服务器portlog_file = ~/frp/frpc/log/frpc.loglog_level = infolog_max_days = 3authentication_timeout = 900#用于 frpc reload 重载方式配置admin_addr = 127.0.0.1admin_port = 7400admin_user = adminadmin_pwd = 12345678[test]type = tcplocal_ip = 内网IP地址local_port = 内网portremote_port = 公网portuse_encryption = trueuse_compression = true
创建frpc.sh脚本
可实现启动、停止、重启、状态查询等命令#!/bin/bashFRPC_HOME="$HOME/frp/frpc"client="$FRPC_HOME/frpc"ini="$FRPC_HOME/frpc.ini"log="$FRPC_HOME/log"if [ "$1" = "start" ];thennohup $client -c $ini > "$log/nohup_frpc.log" 2>&1 &echo "frpc start success"elif [ "$1" = "status" ];thenps aux | grep frpc | grep -v grep | grep -v $1echo "frpc status success"elif [ "$1" = "reload" ];thenecho "frpc" `$client reload -c $ini`elif [ "$1" = "restart" ];thenps aux | grep frpc | grep -v grep | grep -v $1 | awk '{print $2}' | xargs kill -9rm -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" ];thenps aux | grep frpc | grep -v grep | grep -v $1 | awk '{print $2}' | xargs kill -9rm -rf "$log/frpc.log"rm -rf "$log/nohup_frpc.log"echo "frpc stop success"elseother_commands="$client $@"$other_commandsfi
添加软链到系统环境变量
sudo ln -s $HOME/frp/frpc/frpc.sh /usr/local/bin/frpc