赞
踩
树莓派安装cpolar内网穿透,随便写了一下,乘机学习一下shell,有错误请指出。
免费版的也不错,就是每天都会改变端口号,所以要想登陆需要登陆账号查看端口号。
首先注册登录即可,登录后状态栏哪里什么都没有。需要安装成功才会有显示。
文件可以百度网盘下载、gitee下载、直接复制。
百度网盘下载链接:
https://pan.baidu.com/s/1j0VMyWDU0hrJfhahK7Fjqw
提取码:
zh57
gitee下载链接:
无
复制使用,创建一个.sh结尾的文件,可以是任意名称 。*-*
shell自动安装cpolar内网穿透脚本代码,复制即可使用。脚本可以多次运行。
- #!/bin/bash
-
- USER_PATH=""
- CPOLAR_CONFIG_PATH=""
- CPOLAR_CONFIG_FILE_PATH=""
-
- CPOLAR_AUTHTOKEN=""
- CPOALR_DOWNLOAD_PATH=""
- CPOLAR_DOWNLOAD_FILE_PATH=""
-
- clear
- echo -e "\r\n// *********************************************** //"
- echo -e "欢迎使用cpolar自动安装脚本\^.^/"
- echo -e "// *********************************************** //\r\n"
-
- #各个目录所在位置确定
- USER_PATH=/home/pi
- CPOALR_CONFIG_PATH=$USER_PATH/.cpolar
- CPOLAR_CONFIG_FILE_PATH=$USER_PATH/.cpolar/cpolar.yml
- CPOLAR_DOWNLOAD_PATH=$USER_PATH/cpolar_install
- CPOLAR_DOWNLOAD_FILE_PATH=$CPOLAR_DOWNLOAD_PATH/cpolar
- #必须携带参数才可以运行
- if [ "$1" = "" ];then
- echo -e "\r\n// *********************************************** //"
- echo -e "未携带参数!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
- #如果主文件路径错误则退出
- cd $USER_PATH
- if [ "$?" -ne 0 ];then
- echo -e "\r\n// *********************************************** //"
- echo -e "主文件目录/home/pi不存在!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
- CPOLAR_AUTHTOKEN="authtoken: ""$1"
-
-
- #安装前置驱动
- echo -e "\r\n// *********************************************** //"
- echo -e "正在安装环境支持文件....."
- echo -e "// *********************************************** //\r\n"
- sudo apt-get install vim wget git gcc g++
-
-
-
- #创建保存压缩包的文件夹
- if [ ! -e $CPOLAR_DOWNLOAD_PATH ];then
- echo -e "\r\n// *********************************************** //"
- echo -e "准备创建保存安装压缩包的文件夹....."
- echo -e "// *********************************************** //\r\n"
- else
- echo -e "\r\n// *********************************************** //"
- echo -e "保存安装压缩包的文件夹已存在,删除后重新创建文件夹....."
- echo -e "// *********************************************** //\r\n"
- sudo rm -r $CPOLAR_DOWNLOAD_PATH
- fi
- sudo mkdir $CPOLAR_DOWNLOAD_PATH &>/dev/null
- if [ $? -ne 0 ];then
- echo -e "\r\n// *********************************************** //"
- echo -e "创建文件失败!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
-
- #切换目录下载安装压缩包
- cd $CPOLAR_DOWNLOAD_PATH
- echo -e "\r\n// *********************************************** //"
- echo -e "准备下载安装包....."
- echo -e "// *********************************************** //"
- sudo wget https://www.cpolar.com/static/downloads/cpolar-stable-linux-arm.zip
- if [ $? -ne 0 ];then
- echo "下载失败,正在重试....."
- echo -e "// *********************************************** //\r\n"
- sudo wget https://www.cpolar.com/static/downloads/cpolar-stable-linux-arm.zip
- if [ $? -ne 0 ];then
- echo "下载失败,退出!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
- fi
-
-
- #解压压缩包
- echo -e "\r\n// *********************************************** //"
- echo -e "准备解压安装包....."
- echo -e "// *********************************************** //\r\n"
- sudo unzip cpolar-stable-linux-arm.zip &>/dev/null
- if [ $? -ne 0 ] || [ ! -f $CPOLAR_DOWNLOAD_FILE_PATH ];then
- echo -e "\r\n// *********************************************** //"
- echo -e "解压文件失败,退出安装!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
- #转移文件
- echo -e "\r\n// *********************************************** //"
- echo -e "准备转移解压后的文件....."
- echo -e "// *********************************************** //\r\n"
- sudo mv cpolar /usr/local/bin
- if [ $? -ne 0 ] || [ ! -f /usr/local/bin/cpolar ];then
- echo -e "\r\n// *********************************************** //"
- echo -e "移动文件错误,退出安装!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
- #准备配置文件,将轨道的Authtoken写入到配置文件中
- echo -e "\r\n// *********************************************** //"
- echo -e "准备配置cpolar的Authtoken文件....."
- echo -e "// *********************************************** //\r\n"
- cpolar authtoken $1 &>/dev/null
- if [ ! -f "$CPOLAR_CONFIG_FILE_PATH" ];then
- echo -e "\r\n// *********************************************** //"
- echo -e "配置文件 ~/.cpolar/cpolar.yml 不存在!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- else
- cd $CPOLAR_CONFIG_PATH
- fi
-
-
- #修改cpoalr参数信息
- echo -e "\r\n// *********************************************** //"
- echo -e "修改cpolar的参数信息....."
- echo -e "// *********************************************** //"
- CPOLAR_CONFIG_LINE=`cat $CPOLAR_CONFIG_FILE_PATH | grep -n "addr: 22"`
- if [[ $CPOLAR_CONFIG_LINE == "" ]];then
- echo -e "未修改过端口配置信息,准备增加TCP轨道"
- echo -e "// *********************************************** //\r\n"
- echo -e "\n\n\n" >> $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "4i\tunnels:" $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "5i\ web:" $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "6i\ addr: 8080 " $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "7i\ proto: http" $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "8i\ region: cn_vip" $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "9i\ ssh:" $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "10i\ addr: 22" $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "11i\ proto: tcp" $CPOLAR_CONFIG_FILE_PATH
- sudo sed -i "12i\ region: cn_vip" $CPOLAR_CONFIG_FILE_PATH
- cat $CPOLAR_CONFIG_FILE_PATH
- else
- echo -e "已经修改过端口配置信息"
- echo -e "// *********************************************** //\r\n"
- cat $CPOLAR_CONFIG_FILE_PATH
- fi
- #sudo sed -i '1d' $CPOLAR_CONFIG_FILE_PATH
- #echo -e "\r\n\r\n删除文件的结果"
- #cat $CPOLAR_CONFIG_FILE_PATH
- #sudo sed -i "1i $CPOLAR_AUTHTOKEN" $CPOLAR_CONFIG_FILE_PATH
- #echo -e "\r\n\r\n添加文件的结果"
-
-
- #echo -e "\r\n// *********************************************** //"
- #echo -e "5秒后,测试cpolar对于8080端口运行情况"
- #echo -e "// *********************************************** //\r\n"
- #sleep 5
- #if [[ `cpolar http 8080` =~ "Failed" ]];then
- # echo -e "\r\n// *********************************************** //"
- # echo -e "测试结果错误!!!XXXXX"
- # echo -e "// *********************************************** //\r\n"
- # exit 1
- #fi
-
-
-
- #启动后台运行cpolar
- echo -e "\r\n// *********************************************** //"
- echo -e "启动cpolar后台运行....."
- echo -e "// *********************************************** //"
- if [[ `ps -aux | grep cpolar | grep -v grep` =~ "cpolar start-all" ]];then
- echo -e "cpolar已经开启后台运行....."
- echo -e "// *********************************************** //\r\n"
- else
- nohup cpolar start-all -config=$CPOLAR_CONFIG_FILE_PATH -log=stdout &
- if [[ `ps -aux | grep cpolar | grep -v grep` =~ "cpolar start-all" ]];then
- echo -e "成功开启cpolar后台运行....."
- echo -e "// *********************************************** //\r\n"
- else
- echo -e "cpolar后台运行失败!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
- fi
-
-
- #配置cpolar开机自起
- echo -e "\r\n// *********************************************** /"
- echo -e "配置colar开机自启动....."
- echo -e "// *********************************************** //"
- CPOLAR_START_LINE=`cat /etc/rc.local | grep -n "cpolar start-all " | awk -F ":" 'END{printf $1}'`
- #$(( CPOLAR_START_LINE-- ))
- if [[ $CPOLAR_START_LINE == "" ]];then
- echo -e "未配置过文件,将子启动命令写入文件....."
- sudo sed "$((CPOLAR_START_LINE))i nohup cpolar start-all -config=/home/pi/.cpolar/cpolar.yml -log=stdout &" /etc/rc.local
- echo -e "\r\n// *********************************************** //r\n"
- else
- echo -e "已经在文件第$CPOLAR_START_LINE行配置过文件.....\r\n内容如下:"
- sudo awk "NR==$((CPOLAR_START_LINE)){printf \$0}" /etc/rc.local
- echo -e "\r\n// *********************************************** //\r\n"
- fi
-
-
- #运行测试
- echo -e "\r\n// *********************************************** //"
- echo -e "5秒后,测试cpolar对于start-all所有端口运行情况"
- echo -e "// *********************************************** //\r\n"
- sleep 5
- if [[ `cpolar start-all` =~ "Failed" ]];then
- echo -e "\r\n// *********************************************** //"
- echo -e "测试结果错误!!!XXXXX"
- echo -e "// *********************************************** //\r\n"
- exit 1
- fi
-
-
-
- #结束
- echo -e "\r\n// *********************************************** //"
- echo "安装cpolar完毕,感谢使用本脚本\^.^/"
- echo -e "// *********************************************** //\r\n"
- exit 0
将代码复制到文件中然后保存退出。
运行shell脚本是需要密钥才可以,在验证栏里面有密钥(轨道Authtuken)。
运行脚本,bash 加 xx.sh 加 xxxxxxxx,运行文件必须增加密钥(轨道Authtoken),否则无法运行。
等待安装完成,安装途中会运行端口测试。显示online,并且等一会出现地址即为成功。^-^
运行测试时可以在账号的状态栏查看,但是会有两个,因为运行了两次,按 Ctrl + C 即可退出在线测试就可以恢复正常。退出后则可以看到安装完成。#_#
接着就可以远程登陆树莓派,打开状态栏,查看远程登陆地址和端口。
将地址和端口输入到putty远程ssh登陆工具中。点击 open 。
putty软件百度网盘链接:
https://pan.baidu.com/s/1XVPsxRtZOXlbZum_VeMCtg
提取码:
8504
点击 是 。
输入用户名称和密码,登陆成功,安装正确。^-^
官方也有教程,我只是把流程写成了一个脚本,按照流程执行完所有操作。
官方安装教程:内网穿透家中的树莓派,开机自启动 - cpolar 安全的内网穿透工具
个人见解,感谢阅读。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。