树莓派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
树莓派4B使用花生壳phtunnel内网穿透访问本地Gogs的更多相关文章
- django 实现 内网访问 和 用花生壳进行内网穿透
1.在setting.py中找到 ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = ['*',]2.启动服务时使用如下命令行 python .\manage.py runs ...
- frp 内网穿透访问内网Web服务
ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...
- 内网穿透访问Vue项目的时候出现Invalid Host header解决办法
适用场景: 在本地的Vue-cli3项目, 需要其他人浏览. 如果没有外网的服务器, 可以把自己的电脑当做服务器. 这时候需要外网的人能访问到自己的电脑. Mac内网穿透工具:natapp Inval ...
- 用花生壳实现内网映射,决解无域名、无公网IP、无服务器空间问题
无域名.无公网IP.无服务器空间用花生壳提供的免费内网映射吧.你的PC就是服务器,花生壳提供的自定义二级域名轻松访问你的个人网站. 1.首先你得注册哦,然后申请免费的域名(2个) 2.设置路由器,下面 ...
- 搭建手机web服务器-----内网穿透(无需Root)
搭建手机web服务器-----内网穿透(无需Root) 一.内网穿透部分 前言: 网上内网穿透的方法很多,像花生壳.Ngrok.Frp等等,但是大多都需要获取手机root权限 本文使用的软件是Term ...
- 树莓派FRP内网穿透及自启动
内网穿透的步骤和文件存档 实验室在远方部署了电脑主机来采集数据和图片,每次去调试会很麻烦,因而使用FRP内网穿透使得我们可以在实验室访问主机. 主要功能 实现远程可访问和开机自启FRP程序服务 安装和 ...
- 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】
Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...
- ngrok内网穿透(微信调试:只试用于微信测试账号)
一.简介 ngrok:https://ngrok.com 功能:就是把外网地址映射到本地的内网地址 缺点: 1.免费版生成的域名是随机的(由于我是用于调试,就没什么关系,如果是正式生产环境可能需要一个 ...
- ngrok内网穿透神器
ngrok类似国内的花生壳,可以将本地的内网映射到公网上,这样就可以做web开发,微信开发了.下面就介绍下ngrok是怎么配置的吧. 方式一: 一.打开ngrok的官网https://ngrok.co ...
- frp内网 穿透映射使内网svn可外网访问
起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...
随机推荐
- 删除启动台(LaunchPad)残留的图标
忘记什么版本的时候以前在 "应用程序" 删除应用后,启动台自动更新删掉 不知道什么时候开始,直接在 "应用程序" 里删掉后,启动台居然不能删除了-- 10.13 ...
- linux rpm 命令
# 产看软件包信息[root@devops201 k8s_install]# rpm -qi yum-utilsName : yum-utilsVersion : 1.1.31Release : 54 ...
- 胖AP组建小型企业WLAN
胖ap组网 无线路由器wrt配置 使用自动连接时,会从无线路由器第一个端口开始连接,但那是接入外网的端口,因此和二层交换机相连的线要手动更改一下,否则和交换机相连的设备无法dhcp获取ip 打开无线路 ...
- locust 检查点、集合点、参数化设置。
1.参数化 方式1:循环取数据,数据可以重复使用. 所有并发虚拟用户共享同一份测试数据,各虚拟用户在数据列表中循环取值. 例如,模拟10个用户并发请求网页,总共有4个URL地址,每个虚拟用户都会依次循 ...
- RN 报错信息总结
我使用的是 VScode 编辑器,有时候,卸载包,安装包就会编译失败,解决方式 gradlew clean 编译错误 Execution failed for task ':app:compileDe ...
- CCF 201903-2 二十四点
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...
- kumquat
今天准备做个解释型编程语言,名字就叫kumquat(金桔)因为我刚刚喝了口金桔柠檬茶,挺甜的 用python写把
- TP开发项目时遇到的问题记录
1.下载功能. TP自带Http下载类,使用时new一个就行,示例代码: public function download(){ //接收公文id $id = I('get.fid'); //根据公文 ...
- iOS系统自带的扫码功能(二维码+条形码+识别本地图片)
扫码采用类库:AVFoundation 1.相关权限 1).需要在info.plist中添加以下权限:Privacy - Camera Usage Description(使用摄像机的权限说明) 2) ...
- vxlan结合iptables-snat实现内网服务器公网访问
如上图,有这样一种场景,我们经常遇到,局域网内有两台服务器,Server 1和Server 2,Server 1可以通通网,Server 2只能通内网,无法直接访问公网 现在想Server 2能访问到 ...