在安卓手机上搭建一台微型服务器
相信很多人手上都有一些闲置的手机,那可不可以在这些手机上搭建一个服务器呢?下面我们分享一种搭建简易服务器的思路。
1、ROOT手机
ROOT并非必须,但是ROOT后我们可以更方面的进行保活等操作,各个品牌的手机root方法不尽相同,下面简单介绍下小米手机的一种ROOT办法。(注意,手机Root后会变的不再安全,非专业人士不要操作)
1.1、解锁bootloader
因为后续需要输入recovery镜像,所以我们需要首先解锁bootloader锁。
直接在小米的官网上申请就行,按照操作提示一步一步操作就好
http://www.miui.com/unlock/index.html
1.2、刷入img文件
这里我们选择刷入第三方的recovery工具,可以在下方找到各个手机型号的第三方recovery文件
https://twrp.me/Devices/
当下载完成后,按照以下的操作步骤刷入recovery镜像。
进入bootloader模式
adb reboot bootloader
刷入recovery镜像
fastboot flash recovery recovery.img
重启进入recovery模式
fastboot boot recovery.img
等待进入recovey模式。 选择高级-> ROOT系统就好
至此,我们ROOT手机的动作已经完成。
2、利用NanoHTTPD搭建微型服务器
NanoHTTPD是一个Java的微型HTTP服务器库,利用它可以很方便的在Android中启动一个本地服务器。
github地址如下
https://github.com/NanoHttpd/nanohttpd
module的build.gradle增加如下修改
dependencies {implementation 'org.nanohttpd:nanohttpd:2.3.1'
}
然后继承NanoHTTPD类实现服务端
public class TmpWebServer extends NanoHTTPD {public TmpWebServer(int port) {//本地服务器的端口super(port);}@Overridepublic Response serve(IHTTPSession session) {//获取请求的URLUri uri = Uri.parse(session.getUri());//获取请求的methodMethod method = session.getMethod();if (Method.PUT.equals(method) || Method.POST.equals(method)) {Map<String, String> postData = new HashMap<>();//获取POST请求的bodysession.parseBody(postData);//这里可以做逻辑处理//返回Responsereturn newFixedLengthResponse(Response.Status.OK, NanoHTTPD.MIME_PLAINTEXT, GsonManager.instance().toJson(apiHandler.response(classLoader, parms)));}}
}
3、利用frp实现端口映射
上面我们通过NanoHTTPD搭建了一个微型服务器,但是我们如何在公网上访问这个微型服务器呢?这里我们利frp实现内网和公网的端口映射。
frp是一个可用于内网穿透的高性能反向代理工具,支持TCP、UDP协议,为HTTP和HTTPS应用协议提供了额外的支持能力,并支持点对点穿透,github地址如下:
https://www.jianshu.com/p/e0581ee84323
我们在GitHub的release页面可以找最新的版本下载。下载解压后会发现有以下文件
这几个文件的作用如下
- frpc 客户端的执行文件
- frpc.ini 客户端的配置文件
- frps 服务端的执行文件
- frps.ini 服务端的配置文件
我们首先打开frps.ini配置服务端
[common]
bind_port = 9780 //用来与客户端建立透传连接的端口
vhost_http_port = 9781 //公网HTTP请求的端口
然后配置客户端
[common]
server_addr = 47.111.173.166 //服务端的ip地址
server_port = 9780 //服务端映射的端口号
[web]
type = http
local_ip = 127.0.0.1
local_port = 8083 //客户端的端口号,即步骤2中TmpWebServer设置的端口号
custom_domains = 47.111.173.166
完成配置之后,我们在服务端执行下面命令开启透传
nohup ./frps -c frps.ini >/dev/null 2>log &
在客户端执行下面命令开启透传
nohup ./frpc -c frpc.ini >/dev/null 2>&1 &
至此,我们一台运行在Android手机上的微型服务器就搭建完成了!
在安卓手机上搭建一台微型服务器相关推荐
- 使用Termux在安卓手机上搭建本地Git服务器
一.安装安卓终端模拟器Termux https://github.com/termux/termux-app/releases 手机是arm 64位的,就下载 'termux-app_v0.118.0 ...
- 在Android手机上搭建自己的的服务器——云盘实例
现在国内各大云盘都要收费,想省钱都不行.所以另外一种选择就是自己搭建一个云盘,顺便体验一把网站管理员的感觉. 正题 安装软件 软件:KSWEB吾爱破解版 软件来源:WEB 刚进去可能会闪退,重试几下就 ...
- 手机搭建php环境,Almp——安卓系统上搭建本地php服务器环境
在网上找到安卓系统的PHP+MySQL环境,甚是喜欢,拿来修改.试用了一番.已经实现在安卓手机上搭建Web服务端,并且支持WordPress.Discuz.Phpmyadmin的运行.目前正在考虑,利 ...
- gnuradio android手机,如何搭配USRP在安卓设备上搭建GNU Radio
原标题:如何搭配USRP在安卓设备上搭建GNU Radio 在这篇文章中,我们会使用安卓设备通过USB连接USRP.所以就需要USRP B2xx(B200, B210, 或者是 B200mini),这 ...
- Android使用谷歌插件,IT之家学院:教你如何在安卓手机上使用Chrome插件
目前世面上的手机浏览器大都以chrome为核心,奇怪的是chrome在桌面版上的神技-"插件",在手机上却不支持.于是乎国内手机浏览器别管是内置的还是第三方也同样追随了chrome ...
- 使用Termux在安卓手机上运行tomcat服务器
使用Termux在安卓手机上安装运行tomcat服务器 简单背景 探索尝试 尝试一:使用limbo虚拟机(失败) 想念二:使用Linux Deploy安装(直接放弃) 尝试三:使用Aid Learni ...
- 安卓手机如何打开.crx文件_如何在安卓手机上使用Chrome插件
原标题:如何在安卓手机上使用Chrome插件 目前世面上的手机浏览器大都以chrome为核心,奇怪的是chrome在桌面版上的神技-"插件",在手机上却不支持.于是乎国内手机浏览器 ...
- 在安卓手机上运用AidLux实现人流检测数据统计
目录 第一章 关于AidLux介绍,安装和远程调试 第一节 AidLux介绍 第二节 手机版本AidLux软件安装 第三节 使用vscode进行PC端远程调试AidLux 第二章 ⼈体检测模型的训练和 ...
- 安卓数据转移到iphone老是中断_如何把安卓手机上的数据转移到 iPhone、iPad?
如果你刚刚从安卓手机换了新的 iPhone 或者其他 iOS 设备,可以按照下面的步骤将数据转移到新设备,实现"无缝"过渡. 准备工作 在安卓手机上下载安装"转移到 iO ...
最新文章
- 平台数据库导入导出快捷工具说明
- nginx的4个学习资料
- spring data mongo比较两个字段查询
- UA Stat PhD Qualify Problems for Finite Sample Space Probability
- Kettle使用_18 分组组件计算百分位数
- css3加载图片淡入效果
- Java入门算法(数据结构篇)丨蓄力计划
- maya拓扑插件_3D角色模型,Maya、Zbrush人头建模
- DOCKER容器内中文显示乱码
- Excel VBA 学习过程记录
- 为了找出羞羞视频,百度云居然有“娇喘模式”
- OneNET麒麟座应用开发之三:获取温湿度数据
- 【英语竞赛】专项练习之听力
- 怎么用win7系统的电脑录屏
- 深度ip转换器手机版app_一键清理全能版app下载-一键清理全能版app手机版 v1.0.0...
- displaytag的使用
- solidworks管道设计教程
- Idea中new project项目与new module项目区别与验证
- sliding-panel
- SQL Server提权之xp_cmdshell