已经搭建好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的更多相关文章

  1. django 实现 内网访问 和 用花生壳进行内网穿透

    1.在setting.py中找到  ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = ['*',]2.启动服务时使用如下命令行 python .\manage.py runs ...

  2. frp 内网穿透访问内网Web服务

    ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...

  3. 内网穿透访问Vue项目的时候出现Invalid Host header解决办法

    适用场景: 在本地的Vue-cli3项目, 需要其他人浏览. 如果没有外网的服务器, 可以把自己的电脑当做服务器. 这时候需要外网的人能访问到自己的电脑. Mac内网穿透工具:natapp Inval ...

  4. 用花生壳实现内网映射,决解无域名、无公网IP、无服务器空间问题

    无域名.无公网IP.无服务器空间用花生壳提供的免费内网映射吧.你的PC就是服务器,花生壳提供的自定义二级域名轻松访问你的个人网站. 1.首先你得注册哦,然后申请免费的域名(2个) 2.设置路由器,下面 ...

  5. 搭建手机web服务器-----内网穿透(无需Root)

    搭建手机web服务器-----内网穿透(无需Root) 一.内网穿透部分 前言: 网上内网穿透的方法很多,像花生壳.Ngrok.Frp等等,但是大多都需要获取手机root权限 本文使用的软件是Term ...

  6. 树莓派FRP内网穿透及自启动

    内网穿透的步骤和文件存档 实验室在远方部署了电脑主机来采集数据和图片,每次去调试会很麻烦,因而使用FRP内网穿透使得我们可以在实验室访问主机. 主要功能 实现远程可访问和开机自启FRP程序服务 安装和 ...

  7. 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】

    Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...

  8. ngrok内网穿透(微信调试:只试用于微信测试账号)

    一.简介 ngrok:https://ngrok.com 功能:就是把外网地址映射到本地的内网地址 缺点: 1.免费版生成的域名是随机的(由于我是用于调试,就没什么关系,如果是正式生产环境可能需要一个 ...

  9. ngrok内网穿透神器

    ngrok类似国内的花生壳,可以将本地的内网映射到公网上,这样就可以做web开发,微信开发了.下面就介绍下ngrok是怎么配置的吧. 方式一: 一.打开ngrok的官网https://ngrok.co ...

  10. frp内网 穿透映射使内网svn可外网访问

    起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...

随机推荐

  1. MapReduce原理——Shuffle机制

    在Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle. Map方法输出的数据会获得对应的分区,进入环形缓冲区(缓冲区一半写索引,另一半写数据).数据达到缓冲区的80%会发生溢写.在 ...

  2. 初识swoole

    环境: 腾讯云服务器  centos7 在安装完swoole服务之后 使用 php -m  查看是否有该组件 确认存在后 在根目录下 创建一个文件夹 当做专门测试swoole使用 如 8 在该文件夹下 ...

  3. 堆QAQ

    L2-012 关于堆的判断 将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: x is the root:x是根结点: x and y are si ...

  4. js-惰性函数

    1. 需求:我们现在需要写一个 foo 函数,这个函数返回首次调用时的 Date 对象,注意是首次. 使用场景:当我们每次都需要进行条件判断,其实只需要判断一次,接下来的使用方式都不会发生改变的时候, ...

  5. 01Java常用类

    Object类 Object概述 Object类是超类,基类,所有类都默认直接继承Object类. Object类中定义的方法,是所有对象都具备的方法. Object类可以存储任何类 ​ - 可以作为 ...

  6. [Docker-1自顶向下学习Docker

    本文目录: 什么是DOCKER? 什么是容器? 什么是DOCKER镜像? DOCKER有什么使用场景和优势? 流程图一:从中央仓库拉取镜像并部署 流程图二:上传镜像到中央私库 结语   什么是DOCK ...

  7. 25_Webapck原理

    Webpack源代码解析 webpack其实也就是一个函数的调用,返回一个Compile的对象,再调用Compile的run方法就可以完成项目的构建 那么我们肯定是先要从webpack这个函数去理解它 ...

  8. Mysql 系统参数查看

    1.查看数据库版本 select version(); 2.查看是否支持分区 show variables like '%partition%';show plugins;

  9. 谷歌云|机密 GKE 节点可在计算优化的 C2D 虚拟机上使用

    机密 GKE 节点可用于计算优化的 C2D 虚拟机. 许多公司已采用 Google Kubernetes Engine (GKE) 作为其应用程序基础架构中的关键组件.在某些情况下,使用容器和 Kub ...

  10. vue webpack打包之后 重新修改配置文件接口API路径,无需修改代码后再打包

    用vue-cli构建的项目通常是采用前后端分离的开发模式,也就是前端与后台完全分离,此时就需要将后台接口地址打包进项目中,但是有的时候需要修改接口地址,为了避免为了修改接口地址而进行修改代码后再重新打 ...