树莓派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 ...
随机推荐
- MapReduce原理——Shuffle机制
在Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle. Map方法输出的数据会获得对应的分区,进入环形缓冲区(缓冲区一半写索引,另一半写数据).数据达到缓冲区的80%会发生溢写.在 ...
- 初识swoole
环境: 腾讯云服务器 centos7 在安装完swoole服务之后 使用 php -m 查看是否有该组件 确认存在后 在根目录下 创建一个文件夹 当做专门测试swoole使用 如 8 在该文件夹下 ...
- 堆QAQ
L2-012 关于堆的判断 将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: x is the root:x是根结点: x and y are si ...
- js-惰性函数
1. 需求:我们现在需要写一个 foo 函数,这个函数返回首次调用时的 Date 对象,注意是首次. 使用场景:当我们每次都需要进行条件判断,其实只需要判断一次,接下来的使用方式都不会发生改变的时候, ...
- 01Java常用类
Object类 Object概述 Object类是超类,基类,所有类都默认直接继承Object类. Object类中定义的方法,是所有对象都具备的方法. Object类可以存储任何类 - 可以作为 ...
- [Docker-1自顶向下学习Docker
本文目录: 什么是DOCKER? 什么是容器? 什么是DOCKER镜像? DOCKER有什么使用场景和优势? 流程图一:从中央仓库拉取镜像并部署 流程图二:上传镜像到中央私库 结语 什么是DOCK ...
- 25_Webapck原理
Webpack源代码解析 webpack其实也就是一个函数的调用,返回一个Compile的对象,再调用Compile的run方法就可以完成项目的构建 那么我们肯定是先要从webpack这个函数去理解它 ...
- Mysql 系统参数查看
1.查看数据库版本 select version(); 2.查看是否支持分区 show variables like '%partition%';show plugins;
- 谷歌云|机密 GKE 节点可在计算优化的 C2D 虚拟机上使用
机密 GKE 节点可用于计算优化的 C2D 虚拟机. 许多公司已采用 Google Kubernetes Engine (GKE) 作为其应用程序基础架构中的关键组件.在某些情况下,使用容器和 Kub ...
- vue webpack打包之后 重新修改配置文件接口API路径,无需修改代码后再打包
用vue-cli构建的项目通常是采用前后端分离的开发模式,也就是前端与后台完全分离,此时就需要将后台接口地址打包进项目中,但是有的时候需要修改接口地址,为了避免为了修改接口地址而进行修改代码后再重新打 ...