本帖最后由 Zapic 于 2022-3-9 11:23 编辑
警告
本教程所使用的Java版本为8u73, 在此版本的Java上未默认禁止远程代码加载, 可能会导致Log4J远程代码执行漏洞被利用
请确保您使用的是最新版本的Spigot或者Paper服务端, 或者避免将服务器暴露在不信任的环境.
众所周知, Kindle是一个水墨屏的电子阅读器.
但是, 他有Shell.
所以也能拿来开服.png
今天的受害者主角是一块Kindle Paperwhite 3, 拥有512M超大运存和一颗高性能的ARMv7处理器, 还有一块4G海量容量的EMMC, 用来开服真是再合适不过了.
* Kindle Paperwhite 2 及之前的设备只有256M内存(甚至更少), 难以分配足够的内存给Minecraft服务器, 建议洗洗睡.
以下操作可能会损坏你的设备, 请谨慎行事, 注意备份.
#0 事先准备
1. 越狱你的Kindle设备
目前通用软件越狱的方法支持固件版为=5.6.5, 或者5.10.3~5.13.3, 具体可以参考这些教程: https://bookfere.com/skills/jailbreak
如果你的固件版本不符合要求, 也可以通过硬件破解的方式进行越狱(支持任意版本固件), 可参考这篇帖子: https://tieba.baidu.com/p/6176973284
2. 安装KUAL/MRPackageInstaller/USBNetHack
KUAL提供了基本的越狱软件启动界面, MRPackageInstaller用于安装USBNetworkHack和其他的一些东西.
可在此处下载:
https://www.mobileread.com/forums/showthread.php?t=225030
KUAL:
针对5.10以上的固件, 通过刷入"Update_KUALBooklet_hotfix_*_install.bin"即可在主界面看到KUAL启动器.
针对其他固件, 越狱后直接将"KUAL-KDK-2.0.azw2"复制到"documents"文件夹即可启动
MRPackageInstaller:
为KUAL拓展, 将下载得到的文件直接解压进Kindle存储根目录即可.
USBNetworkHack:
为MRPackage, 需要手动安装.
1. 将"Update_usbnet_*_install_pw2_kt2_kv_pw3_koa_kt3_koa2_pw4_kt4.bin"解压进"mrpackage".
2. 打开KUAL, 点击"Helper +"->"Install MRPackage"
3. 等待设备重启
3. 安装Kterm
Kterm提供一个触控命令行终端, 可在SSH未准备好之前提供操作空间.
由于Kterm依赖Xorg, 会占用大量内存, 因此后期会使用SSH进行操作, 而不是Kterm.
下载地址: https://github.com/bfabiszewski/kterm/releases/download/v2.6/kterm-kindle-2.6.zip
Kterm是一个KUAL拓展, 将文件夹解压到"extentions"文件夹内即可.
4. 启动SSH服务器
通过KUAL启动Kterm, 输入以下命令:
复制代码
即可以无密码的方式登录到Kindle.
* 为什么不建议修改密码或者密钥对的方式登录Kindle
Kindle的Linux环境并非标准Linux, 我们无法得知其密码是否有意义, 如果贸然修改可能会导致不可挽回的后果, 最后可能会沦落到需要用刷机版去救砖.
而关于密钥对, Kindle的root目录位于/tmp下, 重启便会清空, 每次重新启动都需要重新上传密钥对.
至此, 准备环节已经结束.
#1 配置环境
1. 安装Java
Kindle的处理器比较特殊, 并不支持硬浮点运算, 因此需要下载特殊版本的Java.
https://www.oracle.com/java/technologies/javaseembedded8u73-downloads.html
在此处下载"ejdk-8u73-linux-arm-sflt.tar.gz", 复制到Kindle内存存储空间.
通过SSH登录到Kindle, 使用以下命令解压Java:
复制代码
将JRE移动出来并清理多余文件:
复制代码
测试Java:
复制代码
控制台输出:
复制代码
即表明Java已经能够正常运行.
2. 下载Minecraft服务端
推荐使用Paper-1.8.8: https://papermc.io/api/v2/projects/paper/versions/1.8.8/builds/445/downloads/paper-1.8.8-445.jar
可以尝试使用高版本, 但是性能可能不足.
复制代码
3. 创建Swapfile(极其高端先进的内存融合技术™) (可选, 强烈推荐)
通过内存融合技术™, 利用空余的存储空间, 可以使你的Kindle拥有更加充足的内存去运行Minecraft服务器.
对于Kindle Paperwhite 3来说, 创建一个128M的Swapfile已经足够Kindle去运行Minecraft服务器了.
复制代码
* Swapfile并非越大越好
可用内存空间≠原始内存空间+Swapfile大小
Swapfile仅作为临时交换空间, 其效率极其低下.
过大的Swapfile是没有意义的, 因为软件运行时必然有一部分在原始内存空间内, 其占用不能被转移到Swapfile内.
因此Swapfile利用率不会太高, 但是能为Minecraft服务器提供有限的额外运行空间.
经测试, JVM内存分配等于128M不能正常启动服务器, 通过添加Swap空间可以为JVM提供192M的运行内存分配.
4. 结束无关进程
直接键入以下命令:
复制代码
即可结束绝大部分无关进程.
5. 开放防火墙
键入以下命令:
复制代码
即可开放25565端口.
#2 启动Minecraft服务器
1. 启动命令
复制代码
即可启动Minecraft服务器.
首次启动需要同意EUAL, 需要使用Vi编辑文件.
复制代码
例如, 编辑eula.txt:
复制代码
Vi使用指南可在搜索引擎内找到(接近Vim), 在此仅讲解基本使用:
1. 启动编辑模式
按下键盘上的"i"键.
2. 编辑文件
通过上下左右键移动光标, 如正常打字一样键入内容.
可能会出现上下左右无法移动光标的情况, 请自行百度解决.
3. 退出编辑模式
按下键盘上的"ESC"键
4. 保存并退出
在退出编辑模式之后, 输入":wq"即可保存并退出
2. 同意EUAL协议
编辑eual.txt, 将false改为true.
3. 轻度优化
编辑spigot.yml
修改view-distance为2 (降低内存和CPU占用)
首次启动需要生成地图, 耗时可能较长:
#3 玩!
通过IP地址进入服务器, 可以看到我们的Kindle是非常的流畅:
轻轻松松tps就能跑到19以上!
控制台运行时截图:
#4 收工
由于使用了结束Kindle关键进程来腾出内存的方法, 此时的Kindle已经废了.png
只需要重启设备即可恢复正常:
复制代码
#5 再玩一次!
仅需要通过Kterm重新启动SSH服务端, 然后登录到SSH, 结束掉无关进程, 启动Swap, 开放防火墙即可.
复制代码
再次启动Minecraft服务端:
复制代码
玩!
警告
本教程所使用的Java版本为8u73, 在此版本的Java上未默认禁止远程代码加载, 可能会导致Log4J远程代码执行漏洞被利用
请确保您使用的是最新版本的Spigot或者Paper服务端, 或者避免将服务器暴露在不信任的环境.
众所周知, Kindle是一个水墨屏的电子阅读器.

但是, 他有Shell.
所以也能拿来开服.png
今天的
* Kindle Paperwhite 2 及之前的设备只有256M内存(甚至更少), 难以分配足够的内存给Minecraft服务器, 建议洗洗睡.
以下操作可能会损坏你的设备, 请谨慎行事, 注意备份.
#0 事先准备
1. 越狱你的Kindle设备
目前通用软件越狱的方法支持固件版为=5.6.5, 或者5.10.3~5.13.3, 具体可以参考这些教程: https://bookfere.com/skills/jailbreak
如果你的固件版本不符合要求, 也可以通过硬件破解的方式进行越狱(支持任意版本固件), 可参考这篇帖子: https://tieba.baidu.com/p/6176973284
2. 安装KUAL/MRPackageInstaller/USBNetHack
KUAL提供了基本的越狱软件启动界面, MRPackageInstaller用于安装USBNetworkHack和其他的一些东西.
可在此处下载:
https://www.mobileread.com/forums/showthread.php?t=225030
KUAL:
针对5.10以上的固件, 通过刷入"Update_KUALBooklet_hotfix_*_install.bin"即可在主界面看到KUAL启动器.
针对其他固件, 越狱后直接将"KUAL-KDK-2.0.azw2"复制到"documents"文件夹即可启动
MRPackageInstaller:
为KUAL拓展, 将下载得到的文件直接解压进Kindle存储根目录即可.
USBNetworkHack:
为MRPackage, 需要手动安装.
1. 将"Update_usbnet_*_install_pw2_kt2_kv_pw3_koa_kt3_koa2_pw4_kt4.bin"解压进"mrpackage".
2. 打开KUAL, 点击"Helper +"->"Install MRPackage"
3. 等待设备重启
3. 安装Kterm
Kterm提供一个触控命令行终端, 可在SSH未准备好之前提供操作空间.
由于Kterm依赖Xorg, 会占用大量内存, 因此后期会使用SSH进行操作, 而不是Kterm.
下载地址: https://github.com/bfabiszewski/kterm/releases/download/v2.6/kterm-kindle-2.6.zip
Kterm是一个KUAL拓展, 将文件夹解压到"extentions"文件夹内即可.
4. 启动SSH服务器
通过KUAL启动Kterm, 输入以下命令:
- killall dropbear
- dropbear -n
即可以无密码的方式登录到Kindle.
* 为什么不建议修改密码或者密钥对的方式登录Kindle
Kindle的Linux环境并非标准Linux, 我们无法得知其密码是否有意义, 如果贸然修改可能会导致不可挽回的后果, 最后可能会沦落到需要用刷机版去救砖.
而关于密钥对, Kindle的root目录位于/tmp下, 重启便会清空, 每次重新启动都需要重新上传密钥对.
至此, 准备环节已经结束.
#1 配置环境
1. 安装Java
Kindle的处理器比较特殊, 并不支持硬浮点运算, 因此需要下载特殊版本的Java.
https://www.oracle.com/java/technologies/javaseembedded8u73-downloads.html
在此处下载"ejdk-8u73-linux-arm-sflt.tar.gz", 复制到Kindle内存存储空间.
通过SSH登录到Kindle, 使用以下命令解压Java:
- cd /mnt/us/
- tar -zxvf ./ejdk-8u73-linux-arm-sflt.tar.gz
将JRE移动出来并清理多余文件:
- mv ./ejdk1.8.0_73/linux_arm_sflt/jre ./jre
- rm -r ejdk-8u73-linux-arm-sflt.tar.gz ./ejdk1.8.0_73
测试Java:
- /mnt/us/jre/bin/java -version
控制台输出:
- java version "1.8.0_73"
- Java(TM) SE Embedded Runtime Environment (build 1.8.0_73-b02, headless)
- Java HotSpot(TM) Embedded Client VM (build 25.73-b02, mixed mode)
即表明Java已经能够正常运行.
2. 下载Minecraft服务端
推荐使用Paper-1.8.8: https://papermc.io/api/v2/projects/paper/versions/1.8.8/builds/445/downloads/paper-1.8.8-445.jar
可以尝试使用高版本, 但是性能可能不足.
- # 创建文件夹, 存放服务端文件
- mkdir mc
- cd mc
- # 下载服务端
- wget https://papermc.io/api/v2/projects/paper/versions/1.8.8/builds/445/downloads/paper-1.8.8-445.jar
3. 创建Swapfile(极其高端先进的内存融合技术™) (可选, 强烈推荐)
通过内存融合技术™, 利用空余的存储空间, 可以使你的Kindle拥有更加充足的内存去运行Minecraft服务器.
对于Kindle Paperwhite 3来说, 创建一个128M的Swapfile已经足够Kindle去运行Minecraft服务器了.
- # 创建128M的空文件
- dd if=/dev/zero of=/mnt/us-base/swapfile bs=1M count=128
- # 格式化为Swap
- mkswap /mnt/us-base/swapfile
- # 启动Swap
- swapon /mnt/us-base/swapfile
* Swapfile并非越大越好
可用内存空间≠原始内存空间+Swapfile大小
Swapfile仅作为临时交换空间, 其效率极其低下.
过大的Swapfile是没有意义的, 因为软件运行时必然有一部分在原始内存空间内, 其占用不能被转移到Swapfile内.
因此Swapfile利用率不会太高, 但是能为Minecraft服务器提供有限的额外运行空间.
经测试, JVM内存分配等于128M不能正常启动服务器, 通过添加Swap空间可以为JVM提供192M的运行内存分配.
4. 结束无关进程
直接键入以下命令:
- stop lab126_gui
- stop framework
- stop tmd
- stop webreader
- stop powerd
- stop cmd
- stop demd
- stop dpmd
- stop appmgrd
- stop perfd
- stop stackdumpd
- stop kb
- stop contentpackd
- stop pillow
- stop todo
- stop rcm
- stop otav3
- stop otaupd
- stop volumd
- stop udevd
- stop dynconfig
- stop lipcd
- stop archive
- stop x
即可结束绝大部分无关进程.
5. 开放防火墙
键入以下命令:
- iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 25565 -j ACCEPT
即可开放25565端口.
#2 启动Minecraft服务器
1. 启动命令
- cd /mnt/us/mc
- /mnt/us/jre/bin/java -Xmx192M -jar ./paper-1.8.8-443.jar
即可启动Minecraft服务器.
首次启动需要同意EUAL, 需要使用Vi编辑文件.
- vi <filename>
例如, 编辑eula.txt:
- vi eual.txt
Vi使用指南可在搜索引擎内找到(接近Vim), 在此仅讲解基本使用:
1. 启动编辑模式
按下键盘上的"i"键.
2. 编辑文件
通过上下左右键移动光标, 如正常打字一样键入内容.
可能会出现上下左右无法移动光标的情况, 请自行百度解决.
3. 退出编辑模式
按下键盘上的"ESC"键
4. 保存并退出
在退出编辑模式之后, 输入":wq"即可保存并退出
2. 同意EUAL协议
编辑eual.txt, 将false改为true.
3. 轻度优化
编辑spigot.yml
修改view-distance为2 (降低内存和CPU占用)
首次启动需要生成地图, 耗时可能较长:

#3 玩!
通过IP地址进入服务器, 可以看到我们的Kindle是非常的流畅:

轻轻松松tps就能跑到19以上!
控制台运行时截图:

#4 收工
由于使用了结束Kindle关键进程来腾出内存的方法, 此时的Kindle已经废了.png
只需要重启设备即可恢复正常:
- reboot
#5 再玩一次!
仅需要通过Kterm重新启动SSH服务端, 然后登录到SSH, 结束掉无关进程, 启动Swap, 开放防火墙即可.
- swapon /mnt/us-base/swapfile
- stop lab126_gui
- stop framework
- stop tmd
- stop webreader
- stop powerd
- stop cmd
- stop demd
- stop dpmd
- stop appmgrd
- stop perfd
- stop stackdumpd
- stop kb
- stop contentpackd
- stop pillow
- stop todo
- stop rcm
- stop otav3
- stop otaupd
- stop volumd
- stop udevd
- stop dynconfig
- stop lipcd
- stop archive
- stop x
- iptables -A INPUT -i wlan0 -p tcp -m tcp --dport 25565 -j ACCEPT
再次启动Minecraft服务端:
- cd /mnt/us/mc
- /mnt/us/jre/bin/java -Xmx192M -jar ./paper-1.8.8-443.jar
玩!
好耶!盖泡面的东西能拿来玩了()
为了健康,我已经基本不碰泡面了
看来泡面相关工具还能发挥余热
看来泡面相关工具还能发挥余热
楼主的教程非常实用,完美解决了本人的 Kindle 闲置不用的问题。感谢楼主!
快进到用智能手表开服 (
我刚还用kindle来着
大数据石锤了
大数据石锤了

真就 万物皆可开服 我大受震撼.jpg

离谱...
大受震撼
大受震撼
可还行,前几天在discord上看到有人拿kindle跑服务端,没想到今天出教程了

Kindle? 害怕
太牛了,属实是没想到233
支持了,兄弟们!!!!!!!!!
是不是以后 剃须刀和游戏手柄外加ps5和switch 都能开服
牛 活学活用了属于是
麻了
那么kindle voyage可以开服吗
那么kindle voyage可以开服吗

居然有防火墙
mcbbs有你更精彩awa
好!马上买个来开服
离大谱!!!!!!
mcbbs有你更精彩~
