IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Shell_树莓派cpolar内网穿透自动安装脚本 -> 正文阅读

[游戏开发]Shell_树莓派cpolar内网穿透自动安装脚本

树莓派安装cpolar内网穿透,随便写了一下,乘机学习一下shell,有错误请指出。

免费版的也不错,就是每天都会改变端口号,所以要想登陆需要登陆账号查看端口号。

?网址:cpolar - 安全的内网穿透工具

首先注册登录即可,登录后状态栏哪里什么都没有。需要安装成功才会有显示。

文件可以百度网盘下载、gitee下载、直接复制。

百度网盘下载链接:

https://pan.baidu.com/s/1j0VMyWDU0hrJfhahK7Fjqw

提取码:

zh57

gitee下载链接:

sudo git clone https://gitee.com/hqh-self/shell_file.git "cpolar"

复制使用,创建一个.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 安全的内网穿透工具

个人见解,感谢阅读。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:59:26  更:2021-09-22 14:59:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 4:32:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码