使用Termux在Android上运行ArchiSteamFarm的尝试 (未Root)
使用 Termux 在 Android 上运行 ArchiSteamFarm 的尝试 (未 Root)
ASF on Android (NO ROOT)
ArchiSteamFarm 是一个由 C# 编写的应用程序,主要用于多个 Steam 帐户同时挂卡。它可以在任何支持 .NET Core 的操作系统上使用 (如 Windows,Linux 或 OS X)。
本文将尝试在未 Root 的 Android 设备上运行 ArchiSteamFarm。对于未 Root 的 Android 设备,可以使用 Termux 代替 Linux Deploy。
如果你还没有使用过 ASF,建议你先在 Windows 上安装、配置、运行一次,成功挂卡后再尝试本文的方法。
准备 :会用 ASF,一部未 Root 且能访问 Steam 社区的 Android 设备 (已 root 的无需参考本文,有更简单的方案), 足够的耐心
如果你会一些 Linux 的基本命令,或需要 更简洁的步骤 ,请参考 ASFonAndroid 。
目录
先看结果
原则上来说本文并不是教程,因为在我手头所有未 root 的 Android 机器中,ASF 并非都能完美运行:
- 华为荣耀 7
(Android 6.0, ROM: EMUI 4.0.3, 3G RAM + 32G ROM, NO root)
运行成功,ASF-ui 也能使用。截图如下:
- 小米 8
(Android 9, ROM: MIUI 10.2, 6G RAM + 128G ROM, NO root)
运行失败,ASF 运行到 RegisterBots( )后就停住了,等多久也没有继续输出。截图如下:
安装步骤
1. 配置 Termux
安装好 Termux [1] [2] 后,第一次进入需要等待一段时间。详细的软件使用说明可以参考 The Termux Wiki 。
更换清华源镜像
export EDITOR=vi
apt edit-sources
在 vi 编辑器中,输入 i
进入编辑模式,移动光标把第二行替换成以下内容
deb [arch=all,aarch64] https://mirrors.tuna.tsinghua.edu.cn/termux stable main
按ESC
,输入:wq
保存。
安装基本软件
apt update
apt upgrade
apt install wget unzip proot nano -y
会用 vim 的可以把 nano 换成 vim
2. 在 Termux 中安装 Ubuntu 发行版
安装 Ubuntu
根据 ASF 官方 wiki 中的安装指南 [zh-CN] [en] ,运行 ASF 需要 .NET Core 依赖,而 Termux 并非有 wiki 中提到的所有的包,即 Termux 无法提供 AFS 运行所需的 .NET Core 依赖。因此需要在 Termux 中安装其他 Linux 发行版 [PRoot] 。本文以 Ubuntu [Ubuntu] 为例。
mkdir ~/jails/ubuntu -p
cd ~/jails/ubuntu
wget https://raw.githubusercontent.com/Neo-Oli/termux-ubuntu/master/ubuntu.sh
chmod +x ubuntu.sh
ubuntu.sh
是在 Termux 上一键安装 Ubuntu 的脚本,其中有一步是下载文件ubuntu.tar.gz
。可能是由于国内访问外网的网速问题,下载速度十分缓慢。我把下载完成后的ubuntu.tar.gz
上传到了 ASFonAndroid,可以在执行ubuntu.sh
前将ubuntu.tar.gz
复制或下载到~/jails/ubuntu/
下。注意
ubuntu.sh
与ubuntu.tar.gz
都应在~/jails/ubuntu/
目录下。
- 直接使用 wget 命令下载
ubuntu.tar.gz
wget https://dev.tencent.com/u/Lussac/p/ASFonAndroid/git/raw/master/termux-ubuntu/ubuntu.tar.gz
- 将手机内存中的文件复制到 Termux 内,需要授予 Termux 读写手机储存的权限并重启 Termux。复制文件可以参考以下命令。
cp /sdcard/Download/ubuntu.tar.gz ~/jails/ubuntu/
下文中的 其他文件 如果也下载过慢,同样可以用这种方法。
bash ubuntu.sh
chmod +x start-ubuntu.sh
bash start-ubuntu.sh
如果成功了应该会显示:
groups: cannot find name for group ID 3003
groups: cannot find name for group ID 9997
groups: cannot find name for group ID 20271
groups: cannot find name for group ID 50271
root@localhost:~#
更改 DNS 并修改 Ubuntu 源
返回 Termux 并修改 resolv.conf
exit
nano ~/jails/ubuntu/ubuntu-fs/etc/resolv.conf
按下例修改 DNS 并保存退出 ( Ctrl+x → y → Enter
)
nameserver 8.8.8.8
nameserver 8.8.4.4
进入 Ubuntu 并修改 Ubuntu Ports 源
bash ~/jails/ubuntu/start-ubuntu.sh
apt-get install nano apt-transport-https -y
cp /etc/apt/sources.list /etc/apt/sources.list.bak
nano /etc/apt/sources.list
将 sources.list
中的所有 http://ports.ubuntu.com/ubuntu-ports/
换成 https://mirrors.ustc.edu.cn/ubuntu-ports/
。
例如,nano 可以使用 Ctrl + \
查找 deb http://ports.ubuntu.com
,并替换为 deb https://mirrors.ustc.edu.cn
apt-get update
这一步需要等待一段时间。
3. 安装 .NET Core
尽管官方 wiki 中提到 ASF 的运行并不需要完整的 .NET Core SDK 或者运行时环境, 但经过我的尝试,想在 Termux 上运行 ASF 不能只安装部分 .NET Core 依赖项。因此还是选择安装完整的 .NET Core 。
下载链接可以从 Daily Builds 或 Officially Released Builds 获取,注意选择 Linux (arm64) 进行下载。下文以 Daily Builds 为例:
apt-get install curl libunwind8 gettext wget unzip -y
wget https://dotnetcli.blob.core.windows.net/dotnet/Runtime/release/2.2/dotnet-runtime-latest-linux-arm64.tar.gz
mkdir -p /opt/dotnet && tar zxf dotnet-runtime-latest-linux-arm64.tar.gz -C /opt/dotnet
ln -s /opt/dotnet/dotnet /usr/local/bin
同样的,如果 GitHub 或 Microsoft 的下载速度太慢,可以参考 上文的方法 。
输入命令 dotnet --info
或 dotnet --help
即可判断是否安装成功。
4. 安装 ASF
目前 (2019/03/28) ArchiSteamFarm 的最新版本为 4.0.1.0,而最新版本的下载链接可以在 Releases 页面 上找到。注意选择 ASF-generic 版本,经过我的尝试,ASF-linux-arm 版本并无法在 Termux 上成功运行。
cd ~
wget https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/4.0.1.0/ASF-generic.zip
mkdir -p ASF/core
unzip ASF-generic.zip -d ASF/core/
cd ASF/core
# #号注释的可以不执行
# ln -s ~/ASF/core/config/ ~/ASF/config
# ln -s ~/ASF/core/ArchiSteamFarm.sh ~/ASF/asf.sh
chmod +x ArchiSteamFarm.sh
5. 配置和运行 ASF
配置 ASF / config
关于如何配置 ASF [zh-CN] [en] 本文不再赘述。值得一提的是,ASF-ui [zh-CN] [en] 同样能在 Android 上使用。打开 IPC 服务设置便能启用 ASF-ui,具体方法是在 ASF.json
中设置 IPC
为 true
。而启用 ASF 的 中文界面 则是设置 CurrentCulture
为 zh-CN
。最后 ASF.json
看起来应该像是这样:
{
"s_SteamOwnerID": "12345678987654321",
"CurrentCulture": "zh-CN",
"IPC": true,
}
另外,一个 bot.json
最少应该包含以下几项:
{
"SteamLogin": "username",
"SteamPassword": "password",
"Enabled": true,
}
启动 ASF
bash ~/ASF/core/ArchiSteamFarm.sh
如果一切配置正常,你应该能看到与你在 Windows 上运行 ASF 时相似的输出。类似于:
Host (useful for support)
Version: 2.2.3
Commit: 6b8ad509b5
.NET Core SDKs installed:
No SDKs were found.
.NET Core runtimes installed:
Microsoft.NETCore.App 2.2.3 [/opt/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
2019-03-28 19:31:41|dotnet-2333|INFO|ASF|InitASF() ArchiSteamFarm V4.0.1.0 ...
2019-03-28 19:31:50|dotnet-2333|INFO|ASF|UpdateAndRestart() ASF 将每隔 1 天自动检查新版本。
2019-03-28 19:31:51|dotnet-2333|INFO|ASF|Update() 正在检查新版本……
2019-03-28 19:32:02|dotnet-2333|INFO|ASF|Update() 当前版本:4.0.1.0 | 最新版本:4.0.1.0
2019-03-28 19:32:02|dotnet-2333|INFO|ASF|StartInteractiveConsole() 交互式控制台已启用,输入 c 以进入命令模式。
2019-03-28 19:32:03|dotnet-2333|INFO|ASF|Start() 正在启动 IPC 服务……
2019-03-28 19:32:15|dotnet-2333|INFO|ASF|Start() IPC 服务已就绪!
2019-03-28 19:32:17|dotnet-2333|INFO|botname|Start() 正在启动……
...
如果你启用了 IPC 服务,用手机浏览器访问 http://127.0.0.1:1242
即可使用 ASF-ui。
ASF 挂卡需要访问 steamcommunity.com , 但目前 Steam 社区处于被墙的状态。因此手机需要开启加速器(如网易 UU)或科学上网才能使 ASF 正常挂卡。
至此,ASF 即成功运行在未 Root 的 Android 设备上。
参考资料
Termux
- 用 Termux 终端模拟器安装 MC Forge 1.12.2 服务器!
- Termux 高级终端安装使用配置教程 | 国光
- myfreess/Mytermuxdoc: 中文 Termux 文档 - GitHub
- Termux 应用详解 - 简书
Termux 安装 Ubuntu
.NET Core
- 树莓派 3B 上部署运行 .net core 2 程序
- dotnet/core-setup: Installer packages for the .NET Core runtime and libraries - GitHub
- 树莓派 3b+ linux 系统安装,C# .NET Core2.2 程序部署亲身完美体验过程
ASF
- 实验:安卓手机 ASF 挂卡【伪教程】
- Setting up - ArchiSteamFarm Wiki - GitHub [zh-CN] [en]
- Linux(CentOS7)利用 ASFv3 挂卡教程【可套用至其他 Linux】
- Linux 使用 ASF 云挂卡(挂游戏时长)
- Can ASF work on my android/smartphone? - GitHub
- Can ASF be run on Android?
其他
Termux 的文件结构
$ pwd /data/data/com.termux $ tree -L 3 . ├── cache ├── code_cache ├── files │ ├── home │ └── usr │ ├── bin │ ├── etc │ ├── lib │ ├── libexec │ ├── share │ ├── tmp │ └── var └── share_prefs └── com.termux_preferences.xml
- 在树莓派 3 上使用 ASF(ArchiSteamFarm)挂卡
- 树莓派上使用 ASF 的简单步骤(主要是 Mono 的安装配置)
- termux 从入门到入坑 - 简书
- termux 日常记录
相关文件下载
我只是把文件下载后上传到了 这里,便于提高国内下载速度,请自行校对 MD5 或 SHA 值。
ubuntu.tar.gz
wget https://dev.tencent.com/u/Lussac/p/ASFonAndroid/git/raw/master/termux-ubuntu/ubuntu.tar.gz
dotnet-runtime-latest-linux-arm64.tar.gz
wget https://dev.tencent.com/u/Lussac/p/ASFonAndroid/git/raw/master/dotNET-core/Release_%202.2.X/dotnet-runtime-latest-linux-arm64.tar.gz
ASF-generic.zip
wget https://dev.tencent.com/u/Lussac/p/ASFonAndroid/git/raw/master/ArchiSteamFarm/V4.0.1.0/ASF-generic.zip
安卓10失败,提示权限不足
Access to the path '/proc/stat' is denied.
我认为小米8上无法成功运行可能是Android 9版本的问题,但限于手上没有Android 5 ~ 8 的手机进行实验。希望有人能重复本文的流程后告知我结果如何。感谢您的反馈!
安卓7正常(Nexus 5X)不过专门搞个旧手机常开其实感觉还不如直接VPS挂。
感谢反馈,看来确实和Android版本有一定关系