旧手机改服务器,并配合花生壳实现外网访问的方法

2023-11-15

旧手机改服务器,并配合花生壳实现外网访问的方法

前提准备

1.手机必须root
2.busybox
3.linux deploy
4.花生壳安卓内网穿透版(下载时注意,有个管理版,有个穿透版,不要下错)
5.re管理器
6.ssh软件(电脑上用,也可以不用直接用cmd也一样)

开始手机端操作

1.安装busybox,装完成后打开,点击左上角的设置按钮,找到设置选项设置语言为中文简体。完全退出软件,再次打开会发现变中文了,主界面点击安装。
安装完毕后界面上会显示啥啥啥yes。
中间会申请root权限,一定要允许。

2.用re管理器去看system/xbin里有没有文件,有就行了。要是没有,就看看权限给没给,给好权限再来一遍
我这用的root是面具,打开面具,点左上三横,点超级用户,就能看到给没给权限

3.安装Linux Deploy,打开;
然后点击左上角三个横杠然后点击设置;
前面三个中的锁定wifi、保持CPU唤醒、屏幕常亮都打勾;
其他的看自己的需求设置、开机启动建议打开;
『PATH 变量』中填入 :/system/xbin ,然后执行更新环境选项;
其他的配置基本可以默认,也可根据自己需求勾选,配置完成后退出软件。

注意填变量时system前面的"/"一定要填上,一定要点更新环境

4.返回Linux Deploy主界面,点击左上角的三个横杠然后点击配置文件、然后点加号新建文件,名称可以随意定义。选择你建的那个,返回主界面。

5.主界面点击右下角的设置图标;
系统选择:Centos,或者debian(我就试过这俩)这里以centos举例
架构选择:手机好的选arm64,配置不咋的的选armhfp
源地址:网上搜一个国内的
安装类型:选择目录
安装路径:更改为:/data/centos,也可以自己设置别的
删除时用re管理器删除这个目录
/data/XXX,XXX可以随意起名,注意data前面的“/”一定要有,不然安装完启动不了,会出现ssh …fail,调试发现是空间不够,re去文件夹一看根本就没安装。。。。一般装完启动不了都是这的错
用户名密码随意,但是要记住
本地化选择:zh_CN.UTF-8;
SSH服务器选择启用;

6.返回主界面,点击右上3个点,选择安装并等待安装完成;
安装完成显示deploy,完成后点停止。re管理器去看看那个文件夹有文件没有,如果有那就装上了。
如果啥也没有,去检查第3步,PATH 变量开头的“/”有没有
或者检查root权限给没给

7.点击启动,完成显示<<start
看过程中有没有ssh …fail,如果有去看第5步安装路径缺不缺“/”,和第6步看看文件夹有没有

8.手机到桌面,打开花生壳,具体花生壳穿透设置,请百度。。。。太长了好麻烦,这就不写了。
这一步也可以一开始就弄好

9.切回Linux Deploy,并停留在这个界面
以上为必须设置,以下设置随个人意愿,手机不同设置也不同,大家自行摸索,反正就是让它们长久运行下去

10.在手机里给Linux Deploy,花生壳省电策略都改成无限制。
在手机清理那个界面,把Linux Deploy,花生壳都锁了。
自启动也都打开。
锁屏设置不锁屏
调试模式不锁屏也打开

最后切回Linux Deploy,并停留在这个界面,记下顶上的IP地址

11.至此手机端设置全部结束,把手机屏幕亮度调最低,或者下个黑屏app。然后放个不碍事的地方插上充电器就完事。
注意不要锁屏

开始电脑端操作

1.(非必须)打开路由器设置,把手机IP设置成固定IP,并设置成dmz主机
注意:
1我这里是路由器拨号,光猫桥接
2设置dmz是否必须我也不知道
3反正我这外网成功了,光猫桥接,路由拨号,设置dmz。要是没设置就成功了,就当这段没有

2.不管用啥方法,连接ssh,IP就是刚才那个,用户名密码也都是自己刚才设置的
有些shh软件要求填端口,这个默认是22

3.连接成功后就可以开始安装宝塔界面了。关于宝塔界面安装,去宝塔官网
https://www.bt.cn/download/linux.html.有安装方法,选择自己对应的系统,粘贴代码到SSH,回车,就开始了。

4.安装完宝塔,在SSH里会显示登录地址,和账号密码。
浏览器填入地址,就打开了宝塔界面

至此所有操作结束

关于后面在设置宝塔,创建网站什么的,教程大把。因为绑定了花生壳,外网访问也很方便。到此全部结束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

旧手机改服务器,并配合花生壳实现外网访问的方法 的相关文章

  • Android中如何使用洪水填充算法?

    我是Android编程新手 最近尝试编写一个简单的应用程序 仅供练习 在这个中 我想在用户点击时为图像着色 但我不知道如何开始 我读过不同的主题 其中提到使用 洪水填充 算法 我在网上找到了它 但我不知道如何将它放入我的简单应用程序中 我找
  • 使用 Google Places Autocomplete API 的 REQUEST_DENIED 响应

    我正在开发 Android 应用程序 它使用谷歌的地点自动完成 API 当尝试点击以下网址时 我得到的答复如下 预测 状态 REQUEST DENIED 我从下面的链接获得了 API 密钥Google API 控制台 http code g
  • 检索子值 -firebase-

    System out println ref child email protected cdn cgi l email protection child email 我正在尝试获取 child 的值 但我始终获取该值的 URL 当我尝试使
  • 应用程序实例是否始终在任何活动之前创建?

    在 Android 中 您可以通过扩展 Application 类并在 Manifest 中声明名称来提供您自己的 Application 类实现 我的问题是 这个实现是否总是在初始活动之前创建 或者活动可以在应用程序实例有时间创建之前启动
  • 为什么我将可绘制文件重命名为 .9.png 后出现“Some file crunching failed”?

    我正在测试 9 patch 图像 在一切正常之前 我重命名drawable file ic button beat box default png to ic button beat box default 9 png 然后我收到错误 某些
  • 如何使用闹钟音量和 setAudioAttributes 来播放铃声?

    所以我正在尝试了解音频属性 这是我到目前为止所拥有的 alarm getSound will return a proper URI to pick a ringtone Ringtone tone RingtoneManager getR
  • 访问角落里的存储

    我能找到的与文件存储有关的最接近文档的是这个帖子 http nookdeveloper zendesk com entries 20257971 updated what are the size constraints on my app
  • 为什么按钮上的 maxWidth 不起作用以及如何解决它?

    我的布局上有两个按钮 在大屏幕设备 平板电脑 上我想限制它们的宽度 这样它们看起来就不会很荒谬 我希望使用 maxWidth 属性 但它显然在我的场景中没有任何作用 这是布局定义 按钮使用布局的整个宽度 忽略 maxWidth 中的任何值
  • 如何在 Android 上创建 YouTube 的双击手势?

    我在 Android 上有 exoplayer 的应用程序 我已经创建了 youtube双击手势用动画向前或向后跳跃 10 秒 如何在双击时创建具有波纹效果的半圆 像这样 这个怎么做 我也想实现这样的功能 所以我自己编写了它来 复制 You
  • 使用 Android 播放任意音调

    有没有办法让Android发出任意频率的声音 意思是 我不想预先录制声音文件 我环顾四周 音调发生器 http developer android com reference android media ToneGenerator html
  • 从多个选项卡中的编辑文本字段获取文本

    我正在尝试创建一个使用选项卡作为输入表单的 Android 应用程序 基本上 我希望对其进行设置 以便用户可以在一个选项卡上输入一些信息 然后提交该信息 或者转到另一个选项卡并输入更多信息 然后从两个选项卡提交信息 我正在使用操作栏和片段来
  • AnalyticsService 未在应用程序清单中注册 - 错误

    我正在尝试使用 sdk 中提供的以下文档向 Android 应用程序实施谷歌分析服务 https developers google com analytics devguides collection android v4 https d
  • Integer.parseInt("0x1F60A") 以 NumberformatException 结束

    我尝试从数据库中获取长字符串内的表情符号代码 格式如下 0x1F60A 所以我可以访问代码 但它将是String 起初 我尝试通过执行以下操作来转换变量tv setText beforeEmo getEmijoByUnicode int e
  • 通过列表视图检查动态生成的复选框时遇到问题

    我知道其他成员已经提出了这个问题 一些成员也给出了解决方案 但问题是我没有找到任何适合我的应用程序的解决方案 我正在创建一个应用程序 其中我有一个屏幕 它将显示动态列表视图 其中包含列表项 复选框和三个文本视图 一个用于候选人姓名 另外两个
  • 如何在Android Compose中使用otf类型字体文件?

    我正在学习使用 Android Jetpack Compose 现在我有一个正则 otf字体文件在资产 字体 我想在文本中使用它 java lang RuntimeException Font asset not found commonu
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • 在 Android 布局 xml 文件中使用字符串格式参数 [重复]

    这个问题在这里已经有答案了 我在 String xml 文件中定义了一个使用格式参数的字符串 即
  • putFragment() - 片段 x 当前不在 FragmentManager 中

    上面的标题被问了很多次 但答案似乎与FragmentStatePagerAdapter这与我的问题无关 我正在使用该方法putFragment Bundle String Fragment 直接地 The 安卓文档 http develop

随机推荐

  • 解决Windows下_findnext()异常

    在windows中 使用文件遍历函数 findnext会报0xC0000005错误 原因 findnext 第一个参数 路径句柄 返回的类型为intptr t long long 要改为long long或者intptr t 获取特定格式的
  • 修改MySQL 数据库名称

    MySQL不支持直接修改数据库名称语法 那么要修改数据库名称该如何操作呢 例如 我们将数据库test 修改为test2 第一步 创建新名称对应的数据库 create database if not exists test2 第二步 获取所有
  • 【JDK】Java环境搭建,配置环境变量

    文章目录 1 JDK的下载与安装 1 1 下载JDK 1 2 安装JDK 1 2 1 压缩版JDK 1 2 2 安装版JDK 2 配置环境变量 2 1 打开环境变量 2 2 修改环境变量 2 2 1 新建 JAVA HOME 变量 2 2
  • 非常好用的 文件上传控件

    http fex baidu com webuploader document html
  • Java 重写 equals和hashcode

    重写equals方法的时候为什么需要重写hashcode
  • SqlServe--从字符串中提取数字

    1 基础使用 声明一个nvarchar类型的变量并赋值 declare Name nvarchar 50 set Name 我正在123学 习22 SQL中11 的一些函数 patindex函数返回所查内容在字符串中第一次出现的内容 pri
  • STM32 (十五)ESP8266WIFI

    简介 1 ESP8266wifi 模块 低功耗串口WiFi模块ESP8266内置一个Tensilica 泰思立达 Xtensa架构的32位处理器L106 具有5级流水线 ARM CortexM3是3级流水线 最大时钟速度为160MHz 可以
  • JMM简单理解

    JMM java内存模型 代码理解 public class test private static boolean f false public static void main String args throws Interrupte
  • Python日志记录基础教程:logging模块详解与示例代码

    Python日志记录基础教程 logging模块详解与示例代码 在Python应用程序的开发过程中 日志记录是一个重要的组成部分 它能够帮助开发人员追踪和调试代码 并记录应用程序的运行情况 Python标准库中的logging模块提供了一个
  • 【计算机视觉

    文章目录 一 CBC Complete Blood Count 二 CURE TSD CURE Traffic Sign Detection 三 DUO Detecting Underwater Objects 四 Duke Breast
  • 方法的重写-overrideoverwrite

    方法的重写 override overwrite 1 定义 定义 子类继承父类以后 可以对父类中同名同参数的方法 进行覆盖操作 应用 重写以后 当创建子类对象以后 通过子类对象调用子父类中的同名同参数的方法时 实际执行的是子类重写的方法 使
  • 2D和3D人体姿态数据集

    转自链接 https www jianshu com p c046db584a21 2D数据集 LSP 地址 http sam johnson io research lsp html 样本数 2k 关节点数 14 全身 单人 FLIC 地
  • 用go实现一个telnet带上账号密码的协议请求

    实现一个telnet协议请求 需要用到网络编程的知识 下面是一份简单的代码示例 package main import bufio fmt net strings func main ln err net Listen tcp 8080 i
  • 数据结构之直接插入排序(算法思想,复杂度分析)以及冒泡排序和直接插入排序的比较

    一般来说 插入排序都采用in place在数组上实现 具体算法描述如下 从第一个元素开始 该元素可以认为已经被排序 取出下一个元素 在已经排序的元素序列中从后向前扫描 如果该元素 已排序 大于新元素 将该元素移到下一位置 重复步骤3 直到找
  • 【算法入门12】链表合并

    核心考点 链表合并 思维缜密程度 输入两个递增的链表 合并这两个链表并使新链表中的结点仍然是递增排序的 解析一 常规 合并两个链表最常规的做法就是 依次比较两个链表的第一个结点 取较小的结点 此处为递增排序 尾插到一个新链表后 直到其中一个
  • C语言 缓存区溢出 3221225725

    目录 问题描述 解决办法 问题描述 DEV C报错 Process exited after 4 03 seconds with return value 3221225725 原因 数组定义的容量太大 五十万起步的样子 而且每次循环都会再
  • Laravel定时任务的每秒执行

    我的个人博客 逐步前行STEP laravel中的任务调度可以不将每条命令都写入crontab 便于管理维护 而且可以基于laravel框架环境运行 而不需写独立的脚本执行 非常方便 但是最小的执行间隔也是一分钟 要想达到每秒执行的效果 就
  • 2018.7.18 something you want to replace

    Something I want to replace is iphone6 which looks like a small box When I come to university my parents brought me this
  • 【C++ Core Guidelines解析】C++学习之路的一盏明灯

    前言 C 语言的功能非常丰富 表达能力非常强 因为一种成功的通用编程语言拥有的功能必须比任何开发人员所需要的更多 任何一种有生命力且不断发展的语言都会不断积累用于表达程序员思想的替代用法 这会导致选择过载 那么 开发人员应该如何根据编程风格
  • 旧手机改服务器,并配合花生壳实现外网访问的方法

    旧手机改服务器 并配合花生壳实现外网访问的方法 前提准备 开始手机端操作 开始电脑端操作 至此所有操作结束 前提准备 1 手机必须root 2 busybox 3 linux deploy 4 花生壳安卓内网穿透版 下载时注意 有个管理版