树莓派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