下载软件

下载并安装 Linux Deploy。

https://github.com/meefik/linuxdeploy

配置 Linux Deploy

进入 Linux Deploy, 点击右下角配置按钮,修改选项为如下内容
发行版改为 arch
架构改为 aarch64
源地址改为 http://mirrors.ustc.edu.cn/archlinuxarm
安装类型改为 目录
安装路径改为 /data/linux
用户名和密码随意
本地化改为 zh_CN.UTF-8
继续往下翻,找到 ssh ,勾选"启用"

部署

点开右上角菜单,点击部署,然后等待。

出现 <<deploy 即完成。

连接

部署完之后点击下方的启动。
然后使用 ssh 客户端 (如 juicessh) 连接.
地址 127.0.0.1 ,用户名和密码与刚才设置的相同.
如果跳出第一次连接的窗口,点击确定。
如果操作无误,你应该能看到命令行了。

配置环境

基本环境

输入命令

sudo pacman -Sy --overwrite \* git wget curl mitmproxy

🗃️ MongoDB 数据库

如果按照下面的教程,执行时提示"非法指令",这是因为你的设备较老。请尝试使用4.4.20版本。

下载 mongod 主程序 5.0.8 (在骁龙 865 测试可用)

下载 mongod 主程序 4.4.20 (在骁龙 660 测试可用)

下载来的 mongod 主程序扔进安装路径下的 /usr/bin ,并将权限修改为 755 .如果文件名有改变,请将其改为 mongod

然后登陆进 ssh ,输入

sudo mkdir /usr/db;sudo mongod --dbpath /usr/db --bind_ip 127.0.0.1

--bind_ip项请按照需求修改。默认情况下127.0.0.1足矣。

#### Java 环境

登录进 ssh ,输入:

wget https://d6.injdk.cn/oraclejdk/17/jdk-17_linux-aarch64_bin.tar.gz;tar xzvf jdk-17_linux-aarch64_bin.tar.gz

命令完成后,在 ~/.bashrc 中填上以下几句:

# Java environment
export JHOME=~/jdk-17.0.1
export PATH=$JHOME/bin:$PATH


如果不会在终端使用编辑器请使用以下命令添加

cat >> ~/.bashrc << EOF
export JHOME=~/jdk-17.0.1
export PATH=\$JHOME/bin:\$PATH
EOF

最后,输入

source ~/.bashrc;java -version

如果产生了如下输出,Java 配置即完成.

java version "17.0.1" 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)

下载软件

Github Releases

https://github.com/termux/termux-app/releases

F-Droid

https://f-droid.org/en/packages/com.termux/

⚠ Google Play 上的版本已被官方弃用,本文不提供支持

环境准备

更新内置软件

下载安装后打开 Termux,首先更新一下内置软件源,在终端中输入

pkg upgrade -y

中间可能会遇到程序询问是否覆盖一些软件包的配置文件,由于是全新安装,我们可以输入 Y 然后回车确认

MongoDB 数据库


由于 Termux 上的 MongoDB 很久无人维护,需要额外配置一些依赖环境,懒人可以使用一键脚本
本小节安装方法只支持 aarch64(arm64) 的设备,X86 以及其他 CPU 架构的用户请自行研究。

安装 wget 和 OpenSSL 1.1

pkg install -y wget openssl-1.1
ln -sf /data/data/com.termux/files/usr/lib/openssl-1.1/libcrypto.so.1.1 /data/data/com.termux/files/usr/lib/libcrypto.so.1.1
ln -sf /data/data/com.termux/files/usr/lib/openssl-1.1/libssl.so.1.1 /data/data/com.termux/files/usr/lib/libssl.so.1.1

添加安装第三方软件源

bash -c "$(wget -qO- https://its-pointless.github.io/setup-pointless-repo.sh)"
替换为 USTC 镜像源(可选)
echo "deb https://mirrors.ustc.edu.cn/termux-its-pointless/24 termux extras" > $PREFIX/etc/apt/sources.list.d/pointless.list

安装旧版本 libicu 并标记为保留软件

wget https://raw.githubusercontent.com/Slowhy/scripts/main/libicu_69.1-2_aarch64.deb
dpkg -i libicu_69.1-2_aarch64.deb && rm -rf libicu_69.1-2_aarch64.deb
apt-mark hold libicu

安装 MongoDB 软件包

pkg update -y && pkg install -y mongodb

OpenJDK 17

这里使用 Termux 默认软件源提供的安装包

pkg install -y openjdk-17

mitmproxy

mitmproxy 官方没有提供 aarch(arm64) 架构可用的二进制文件,这里使用pip来安装

pkg install -y python rust
export CARGO_BUILD_TARGET=aarch64-linux-android
pip install mitmproxy

运行服务端

无论有没有root当你做到这一步就说明基本的配置已经没有问题了,剩下就是运行服务端程序即可
关于linux下运行服务端,请参考


关于配置服务端文件,请参考

关于配置文件级常见错误解释,请参考:

关于客户端运行与其他服务端搭建,请参考:

参考资料

我很喜欢一句话,如果我看得更远,那是因为我站在巨人的肩膀上.本文章到这结束,文章大部分内容搬运自GenKit与官方项目说明,感谢各位前辈,我只是做了一个搬运工,如果看到这个的您有兴趣深究,请也去我参考的那些文章!

最后修改:2022 年 05 月 23 日
如果觉得我的文章对你有用,请随意赞赏