引言
- 网上全是在纯Linux上部署的教程,但是一部分开发者可能没有Linux,或者是因为Linux服务器太贵的原因没用上,那么就可以看看本教程了。
- 我的话是因为要用到小纸片里面的dex2c功能,但是由于我的dex太大,如果使用Linux服务器的话,起码配置得8核16G,这配置的服务器一个月就得上千,没必要。于是就产生了使用Ubuntu的Windows子系统的想法,部署好后效果出奇的好。
- 本教程也是在Linux上部署的,但是却是基于Windows的子系统,部署过程有很多坑在下文都给出了解决方式。
有偿搭建
如果你觉得整体流程过于麻烦,或者是缺失相关源码,可以找道无涯帮忙搭建,(源码+搭建)总费用
WSL安装windows子系统
关于WSL的安装方面本文不多赘述,简单提提,网上教程多的是。
- 在Windows上启用WSL
- 在MicroSoft Store搜索ubuntu,选择
Ubuntu 24.04.1 LTS
,安装好后打开设置sudo密码即可
安装宝塔面板
- 安装
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ed8484bec
- 关闭宝塔ssl验证
sudo bt 26
- 修改端口(8888)
sudo bt 8
- 修改账号
sudo bt 6
- 修改密码
sudo bt 5
- 关闭宝塔安全入口
rm -f /www/server/panel/data/admin_path.pl
- 修改本地回环地址使得可以局域网连接
sudo sed -i 's/127.0.0.1/0.0.0.0/g' /www/server/panel/data/port.pl
- 重启宝塔面板
sudo bt 1
配置子系统内存等信息
因为默认的挺小的,如果够用的话就不用修改
- 打开PowerShell输入运行
notepad "$env:USERPROFILE\.wslconfig"
显示如下:
[wsl2] kernel=D:\\zhaoyi\\kernel_android memory=7GB swap=1GB localhostForwarding=true processors=16
- 将memory改
16GB
,swap改4GB
,注意不要超过电脑的物理内存,修改完 .wslconfig 后保存即可。 - 此时需要重启 WSL 使配置生效,在PowerShell输入运行使WSL强行关闭
wsl --shutdown
- 然后重新打开WSL即可
将WSL的虚拟网络端口转发到物理网络
这样就可以通过电脑的ipv4去访问了,这是使得能够在局域网内访问的一个关键点
- 在windouws桌面新建
wsl.bat
,输入下面代码并保存,然后以管理员权限运行 - 下面代码每10秒检测一次WSL虚拟ip是否变化,发生变化就重置规则然后再转发
- 一般来说,重启才会导致IP发生变化。所以重启后只要运行一次后关闭就行,可以等下次电脑重启再运行
@echo off
:: 初始化变量
set PREVIOUS_IP=
:loop
:: 获取 WSL 的 IP 地址
for /f "tokens=*" %%i in ('powershell -Command "(wsl hostname -I).Trim()"') do set WSL_IP=%%i
:: 检查是否成功获取 IP 地址
if "%WSL_IP%"=="" (
echo Failed to get WSL IP address. Make sure WSL is running.
timeout /t 10
goto loop
)
:: 检查 IP 地址是否发生变化
if not "%WSL_IP%"=="%PREVIOUS_IP%" (
echo WSL IP address has changed to: %WSL_IP%
set PREVIOUS_IP=%WSL_IP%
:: 重置所有端口转发规则
netsh interface portproxy reset
:: 配置端口转发规则
for /L %%i in (10000,1,10020) do (
netsh interface portproxy add v4tov4 listenport=%%i listenaddress=0.0.0.0 connectport=%%i connectaddress=%WSL_IP%
)
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=%WSL_IP%
netsh interface portproxy add v4tov4 listenport=888 listenaddress=0.0.0.0 connectport=888 connectaddress=%WSL_IP%
netsh interface portproxy add v4tov4 listenport=8888 listenaddress=0.0.0.0 connectport=8888 connectaddress=%WSL_IP%
netsh interface portproxy add v4tov4 listenport=8000 listenaddress=0.0.0.0 connectport=8000 connectaddress=%WSL_IP%
netsh interface portproxy add v4tov4 listenport=15000 listenaddress=0.0.0.0 connectport=15000 connectaddress=%WSL_IP%
netsh interface portproxy add v4tov4 listenport=16000 listenaddress=0.0.0.0 connectport=16000 connectaddress=%WSL_IP%
netsh interface portproxy add v4tov4 listenport=11434 listenaddress=0.0.0.0 connectport=11434 connectaddress=%WSL_IP%
echo Port forwarding for ports above has been configured.
netsh interface portproxy show all
)
:: 等待 10 秒后继续检查
timeout /t 10
goto loop
Windouws防火墙设置
- 进入
高级安全Windows Defender防火墙
- 将入站规则和出站规则的所有本地端口都给允许
搭建文件的配置修改
下面的目标ip指的就是搭建端的ipv4地址
- 用mt管理器进入arm.zip的res目录,搜索->高级搜索->文件中包含内容:
192.168.1.6
->一般会搜到4个dex包->将这四个dex包里的192.168.1.6
替换成目标IP或者域名 - 用mt管理器点击 无涯开发工具.apk 的resources.arsc->Arsc编辑器++->搜索,查找内容:
192.168.1.6
->替换成目标IP或者域名 - 将arm.zip、jar包.zip、basic.zip上传到/www目录下并解压,将这三个文件夹的所有者设置为
www
,权限设置777
搭建小纸片
- 打开宝塔面板
http://电脑的ipv4:8888/login
- 安装
MySQL 5.5.62
、Redis 6.2.17
- 进入软件商店->已安装->Redis->设置->性能调整,将port设置为
5555
,requirepass设置为armadillo666
- 安全->添加端口规则->端口:1-65535(此步骤本地部署不需要执行)
- 新建数据库(数据库名
armpro
,用户名armpro
,密码armpro
),导入*.sql文件 - 进入网站->Java项目->添加Java项目->SpringBoot
- jar路径为:
/www/Ultima-1.0-SNAPSHOT.jar
- 项目JDK->添加JDK信息->jdk1.8.0_371->安装,安装号后点击项目JDK旁的刷新图标,刷新后选择所安装的就行了
- 项目启动命令:
/www/server/java/jdk1.8.0_371/bin/java -jar /www/Ultima-1.0-SNAPSHOT.jar -sp 10000 -ep 10020 -io 125 -s 15000 -x 16000 >> run.log
- 启动用户:
root
,勾选守护进程
- 最后点击确定即可
软件vip等配置修改
进入/www/arm/config
创建充值卡
cd /www
java -jar Ultima-1.0-SNAPSHOT.jar -sp 20000 -ep 20020 -io 125 -s 25000 -x 26000
-CreateCard -CardCount 100 -CardType 1 -CardValue 1 -CardOut 100月卡.txt
-CreateCard -CardCount 100 -CardType 2 -CardValue 1 -CardOut 100年卡.txt
-CreateCard -CardCount 100 -CardType 1 -CardValue 6 -CardOut 100半年卡.txt
-CreateCard -CardCount 100 -CardType 1 -CardValue 3 -CardOut 100季度卡.txt
-CreateCard -CardCount 100 -CardType 2 -CardValue 99 -CardOut 100永久卡.txt