当前位置:   article > 正文

Shell_树莓派_cpolar内网穿透自动安装脚本_树莓派 安装cpolar服务

树莓派 安装cpolar服务

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

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

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

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

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

百度网盘下载链接:

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

提取码:

zh57

gitee下载链接:

复制使用,创建一个.sh结尾的文件,可以是任意名称 。*-*

 shell自动安装cpolar内网穿透脚本代码​​​​​​,复制即可使用。脚本可以多次运行。

  1. #!/bin/bash
  2. USER_PATH=""
  3. CPOLAR_CONFIG_PATH=""
  4. CPOLAR_CONFIG_FILE_PATH=""
  5. CPOLAR_AUTHTOKEN=""
  6. CPOALR_DOWNLOAD_PATH=""
  7. CPOLAR_DOWNLOAD_FILE_PATH=""
  8. clear
  9. echo -e "\r\n// *********************************************** //"
  10. echo -e "欢迎使用cpolar自动安装脚本\^.^/"
  11. echo -e "// *********************************************** //\r\n"
  12. #各个目录所在位置确定
  13. USER_PATH=/home/pi
  14. CPOALR_CONFIG_PATH=$USER_PATH/.cpolar
  15. CPOLAR_CONFIG_FILE_PATH=$USER_PATH/.cpolar/cpolar.yml
  16. CPOLAR_DOWNLOAD_PATH=$USER_PATH/cpolar_install
  17. CPOLAR_DOWNLOAD_FILE_PATH=$CPOLAR_DOWNLOAD_PATH/cpolar
  18. #必须携带参数才可以运行
  19. if [ "$1" = "" ];then
  20. echo -e "\r\n// *********************************************** //"
  21. echo -e "未携带参数!!!XXXXX"
  22. echo -e "// *********************************************** //\r\n"
  23. exit 1
  24. fi
  25. #如果主文件路径错误则退出
  26. cd $USER_PATH
  27. if [ "$?" -ne 0 ];then
  28. echo -e "\r\n// *********************************************** //"
  29. echo -e "主文件目录/home/pi不存在!!!XXXXX"
  30. echo -e "// *********************************************** //\r\n"
  31. exit 1
  32. fi
  33. CPOLAR_AUTHTOKEN="authtoken: ""$1"
  34. #安装前置驱动
  35. echo -e "\r\n// *********************************************** //"
  36. echo -e "正在安装环境支持文件....."
  37. echo -e "// *********************************************** //\r\n"
  38. sudo apt-get install vim wget git gcc g++
  39. #创建保存压缩包的文件夹
  40. if [ ! -e $CPOLAR_DOWNLOAD_PATH ];then
  41. echo -e "\r\n// *********************************************** //"
  42. echo -e "准备创建保存安装压缩包的文件夹....."
  43. echo -e "// *********************************************** //\r\n"
  44. else
  45. echo -e "\r\n// *********************************************** //"
  46. echo -e "保存安装压缩包的文件夹已存在,删除后重新创建文件夹....."
  47. echo -e "// *********************************************** //\r\n"
  48. sudo rm -r $CPOLAR_DOWNLOAD_PATH
  49. fi
  50. sudo mkdir $CPOLAR_DOWNLOAD_PATH &>/dev/null
  51. if [ $? -ne 0 ];then
  52. echo -e "\r\n// *********************************************** //"
  53. echo -e "创建文件失败!!!XXXXX"
  54. echo -e "// *********************************************** //\r\n"
  55. exit 1
  56. fi
  57. #切换目录下载安装压缩包
  58. cd $CPOLAR_DOWNLOAD_PATH
  59. echo -e "\r\n// *********************************************** //"
  60. echo -e "准备下载安装包....."
  61. echo -e "// *********************************************** //"
  62. sudo wget https://www.cpolar.com/static/downloads/cpolar-stable-linux-arm.zip
  63. if [ $? -ne 0 ];then
  64. echo "下载失败,正在重试....."
  65. echo -e "// *********************************************** //\r\n"
  66. sudo wget https://www.cpolar.com/static/downloads/cpolar-stable-linux-arm.zip
  67. if [ $? -ne 0 ];then
  68. echo "下载失败,退出!!!XXXXX"
  69. echo -e "// *********************************************** //\r\n"
  70. exit 1
  71. fi
  72. fi
  73. #解压压缩包
  74. echo -e "\r\n// *********************************************** //"
  75. echo -e "准备解压安装包....."
  76. echo -e "// *********************************************** //\r\n"
  77. sudo unzip cpolar-stable-linux-arm.zip &>/dev/null
  78. if [ $? -ne 0 ] || [ ! -f $CPOLAR_DOWNLOAD_FILE_PATH ];then
  79. echo -e "\r\n// *********************************************** //"
  80. echo -e "解压文件失败,退出安装!!!XXXXX"
  81. echo -e "// *********************************************** //\r\n"
  82. exit 1
  83. fi
  84. #转移文件
  85. echo -e "\r\n// *********************************************** //"
  86. echo -e "准备转移解压后的文件....."
  87. echo -e "// *********************************************** //\r\n"
  88. sudo mv cpolar /usr/local/bin
  89. if [ $? -ne 0 ] || [ ! -f /usr/local/bin/cpolar ];then
  90. echo -e "\r\n// *********************************************** //"
  91. echo -e "移动文件错误,退出安装!!!XXXXX"
  92. echo -e "// *********************************************** //\r\n"
  93. exit 1
  94. fi
  95. #准备配置文件,将轨道的Authtoken写入到配置文件中
  96. echo -e "\r\n// *********************************************** //"
  97. echo -e "准备配置cpolar的Authtoken文件....."
  98. echo -e "// *********************************************** //\r\n"
  99. cpolar authtoken $1 &>/dev/null
  100. if [ ! -f "$CPOLAR_CONFIG_FILE_PATH" ];then
  101. echo -e "\r\n// *********************************************** //"
  102. echo -e "配置文件 ~/.cpolar/cpolar.yml 不存在!!!XXXXX"
  103. echo -e "// *********************************************** //\r\n"
  104. exit 1
  105. else
  106. cd $CPOLAR_CONFIG_PATH
  107. fi
  108. #修改cpoalr参数信息
  109. echo -e "\r\n// *********************************************** //"
  110. echo -e "修改cpolar的参数信息....."
  111. echo -e "// *********************************************** //"
  112. CPOLAR_CONFIG_LINE=`cat $CPOLAR_CONFIG_FILE_PATH | grep -n "addr: 22"`
  113. if [[ $CPOLAR_CONFIG_LINE == "" ]];then
  114. echo -e "未修改过端口配置信息,准备增加TCP轨道"
  115. echo -e "// *********************************************** //\r\n"
  116. echo -e "\n\n\n" >> $CPOLAR_CONFIG_FILE_PATH
  117. sudo sed -i "4i\tunnels:" $CPOLAR_CONFIG_FILE_PATH
  118. sudo sed -i "5i\ web:" $CPOLAR_CONFIG_FILE_PATH
  119. sudo sed -i "6i\ addr: 8080 " $CPOLAR_CONFIG_FILE_PATH
  120. sudo sed -i "7i\ proto: http" $CPOLAR_CONFIG_FILE_PATH
  121. sudo sed -i "8i\ region: cn_vip" $CPOLAR_CONFIG_FILE_PATH
  122. sudo sed -i "9i\ ssh:" $CPOLAR_CONFIG_FILE_PATH
  123. sudo sed -i "10i\ addr: 22" $CPOLAR_CONFIG_FILE_PATH
  124. sudo sed -i "11i\ proto: tcp" $CPOLAR_CONFIG_FILE_PATH
  125. sudo sed -i "12i\ region: cn_vip" $CPOLAR_CONFIG_FILE_PATH
  126. cat $CPOLAR_CONFIG_FILE_PATH
  127. else
  128. echo -e "已经修改过端口配置信息"
  129. echo -e "// *********************************************** //\r\n"
  130. cat $CPOLAR_CONFIG_FILE_PATH
  131. fi
  132. #sudo sed -i '1d' $CPOLAR_CONFIG_FILE_PATH
  133. #echo -e "\r\n\r\n删除文件的结果"
  134. #cat $CPOLAR_CONFIG_FILE_PATH
  135. #sudo sed -i "1i $CPOLAR_AUTHTOKEN" $CPOLAR_CONFIG_FILE_PATH
  136. #echo -e "\r\n\r\n添加文件的结果"
  137. #echo -e "\r\n// *********************************************** //"
  138. #echo -e "5秒后,测试cpolar对于8080端口运行情况"
  139. #echo -e "// *********************************************** //\r\n"
  140. #sleep 5
  141. #if [[ `cpolar http 8080` =~ "Failed" ]];then
  142. # echo -e "\r\n// *********************************************** //"
  143. # echo -e "测试结果错误!!!XXXXX"
  144. # echo -e "// *********************************************** //\r\n"
  145. # exit 1
  146. #fi
  147. #启动后台运行cpolar
  148. echo -e "\r\n// *********************************************** //"
  149. echo -e "启动cpolar后台运行....."
  150. echo -e "// *********************************************** //"
  151. if [[ `ps -aux | grep cpolar | grep -v grep` =~ "cpolar start-all" ]];then
  152. echo -e "cpolar已经开启后台运行....."
  153. echo -e "// *********************************************** //\r\n"
  154. else
  155. nohup cpolar start-all -config=$CPOLAR_CONFIG_FILE_PATH -log=stdout &
  156. if [[ `ps -aux | grep cpolar | grep -v grep` =~ "cpolar start-all" ]];then
  157. echo -e "成功开启cpolar后台运行....."
  158. echo -e "// *********************************************** //\r\n"
  159. else
  160. echo -e "cpolar后台运行失败!!!XXXXX"
  161. echo -e "// *********************************************** //\r\n"
  162. exit 1
  163. fi
  164. fi
  165. #配置cpolar开机自起
  166. echo -e "\r\n// *********************************************** /"
  167. echo -e "配置colar开机自启动....."
  168. echo -e "// *********************************************** //"
  169. CPOLAR_START_LINE=`cat /etc/rc.local | grep -n "cpolar start-all " | awk -F ":" 'END{printf $1}'`
  170. #$(( CPOLAR_START_LINE-- ))
  171. if [[ $CPOLAR_START_LINE == "" ]];then
  172. echo -e "未配置过文件,将子启动命令写入文件....."
  173. sudo sed "$((CPOLAR_START_LINE))i nohup cpolar start-all -config=/home/pi/.cpolar/cpolar.yml -log=stdout &" /etc/rc.local
  174. echo -e "\r\n// *********************************************** //r\n"
  175. else
  176. echo -e "已经在文件第$CPOLAR_START_LINE行配置过文件.....\r\n内容如下:"
  177. sudo awk "NR==$((CPOLAR_START_LINE)){printf \$0}" /etc/rc.local
  178. echo -e "\r\n// *********************************************** //\r\n"
  179. fi
  180. #运行测试
  181. echo -e "\r\n// *********************************************** //"
  182. echo -e "5秒后,测试cpolar对于start-all所有端口运行情况"
  183. echo -e "// *********************************************** //\r\n"
  184. sleep 5
  185. if [[ `cpolar start-all` =~ "Failed" ]];then
  186. echo -e "\r\n// *********************************************** //"
  187. echo -e "测试结果错误!!!XXXXX"
  188. echo -e "// *********************************************** //\r\n"
  189. exit 1
  190. fi
  191. #结束
  192. echo -e "\r\n// *********************************************** //"
  193. echo "安装cpolar完毕,感谢使用本脚本\^.^/"
  194. echo -e "// *********************************************** //\r\n"
  195. 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 安全的内网穿透工具

个人见解,感谢阅读。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/206858
推荐阅读
相关标签
  

闽ICP备14008679号