树莓派4B使用花生壳phtunnel内网穿透访问本地Gogs

已经搭建好Gogs(https://www.cnblogs.com/congyinew/p/16115074.html),接下来就是想外网上传代码到Gogs

一、申请账号

https://open.oray.com/console
1.去官网申请开发者账号,申请成功之后添加应用,得到一个APP ID和APP KEY

2.点击创建好的应用,进入到应用管理页面,创建映射

3.添加树莓派Gogs的地址
IP地址为树莓派的内网地址,端口号为3000(Gogs默认端口号是3000,我搭建的时候没改,如果改了就用改了之后的端口号)

二、下载SDK文件

1.创建一个文件夹

mkdir PHTunnel
cd PHTunnel

2.用wget下载文件
wget https://down.oray.com/hsk/sdk/phtunnel-raspberrypi.zip

3.解压
unzip phtunnel-raspberrypi.zip

三、启动服务

1.先切换到root账号
su
否则会执行不成功
2.启动服务
我的树莓派是arm v7,就进入到对应的文件夹
必须给phtunnel权限,不然执行会报错

cd armv7-rpi2-linux-gnueabihf
chmod 777 phtunnel
APPID=12345 # APP ID是第一步申请账号时得到的,在那个网址可以找到
APPKEY=23456 # APP KEY为第一步申请账号时得到的
./phtunnel -i $APPID -k $APPKEY -l /tmp/PHTunnel.log -c /tmp/PHTunnel.json -p /tmp/PHTunnel.pid -r #APP ID和APP KEY为第一步申请账号时得到的

弹出这个图片就

之后弹出二维码,扫码授权登录
之后会有一个网址

P.S.看到这个网址才算成功,之前没有切换root账号,这个网址一直不出现

3.看教程是需要访问接口获取url的,因为之前启动服务的时候没有用后台运行模式,所以这个窗口还是被占用的,我这里是另外开了一个窗口ssh连接树莓派
curl http://127.0.0.1:16062/ora_service/getmgrurl

返回得到一个url,复制这个url在浏览器打开,显示花生壳管理页面,登录账号为刚刚扫码登录的授权账号

4.添加映射
这个映射我是启动服务前就创建好了,不过感觉这里再创建也没关系。如果有问题,可以把这一步提前,创建花生壳应用之后就直接添加映射。
有了映射就可以通过这个网址访问到树莓派的Gogs

5.在电脑端浏览器访问这个网址显示Gogs登录页面
手机使用流量访问这个网址显示Gogs登录页面
成功!
6.在linux系统中作为守护进程运行,让服务后台运行
./phtunnel -i $APPID -k $APPKEY -l /tmp/PHTunnel.log -c /tmp/PHTunnel.json -p /tmp/PHTunnel.pid -r -d

五、开机自启动

1.在/usr/lib/systemd/system创建phtunnel.service文件
cd /usr/lib/systemd/system
su
> phtunnel.service
chmod 777 phtunnel.service
su pi

2.编辑phtunnel.service内容如下
vim phtunnel.service

[Unit] 
Description=phtunnel
[Service] 
Type=simple 
ExecStart=/home/pi/PHTunnel/armv7-rpi2-linux-gnueabihf/phtunnel -l /var/log/phtunnel.log -c /etc/phtunnel.json -r -i APPID -k APPKEY 
RemainAfterExit=no 
Restart=always
[Install] 
WantedBy=network-online.target

其中ExecStar=后面跟的是phtunnel的路径
-i 填入创建应用时得到APPID
-k 填入创建应用时得到APPKEY
之后保存文件

3.使systemctl在系统启动时运行服务文件
systemctl daemon-reload # 如有修改service文件后需要重载
systemctl enable phtunnel

4.通过systemctl启动服务
systemctl start phtunnel

5.查看是否启动成功
systemctl status phtunnel

成功!
P.S.虽然能启动成功,但是首次启动时需要绑定账号这一步目前没发现别的方式,只能以前台的方式启动服务,获取二维码扫码登录,所以这块自启动貌似没啥用。

参考链接:
https://www.zuantouxc.cn/archives/609
https://shumeipai.nxez.com/2020/03/30/raspberry-pi-git-phtunnel-to-achieve-project-remote-management.html

posted @ 2022-04-09 15:46  丛影HHZ  阅读(474)  评论(0编辑  收藏  举报