使用Termux在Android上运行ArchiSteamFarm的尝试 (未Root)

Author Avatar
Lussac 2019年03月28日 ; Views: 4084
  • 在其它设备中阅读本文章

使用 Termux 在 Android 上运行 ArchiSteamFarm 的尝试 (未 Root)

ASF on Android (NO ROOT)


ArchiSteamFarm 是一个由 C# 编写的应用程序,主要用于多个 Steam 帐户同时挂卡。它可以在任何支持 .NET Core 的操作系统上使用 (如 Windows,Linux 或 OS X)。

  • 在 Windows 系统上运行 ASF 已经相当简单,有 官方 wiki [zh-CN] [en] 大量的教程 可以参考;
  • 在 Linux 云服务器上运行 ASF,也可以参考官方 wiki 和其他教程部署;
  • 在 Android 设备上运行 ASF,在网上可以找到类似利用 Linux Deploy 成功运行的方法 [1] [2] 。但是 Linux Deploy 需要在已获得 Root 权限的 Android 设备上才能运行。

本文将尝试在未 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.shubuntu.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 BuildsOfficially 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 --infodotnet --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 中设置 IPCtrue 。而启用 ASF 的 中文界面 则是设置 CurrentCulturezh-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

  1. 用 Termux 终端模拟器安装 MC Forge 1.12.2 服务器!
  2. Termux 高级终端安装使用配置教程 | 国光
  3. myfreess/Mytermuxdoc: 中文 Termux 文档 - GitHub
  4. Termux 应用详解 - 简书

Termux 安装 Ubuntu

  1. The Termux Wiki [PRoot] [Ubuntu]
  2. Neo-Oli/termux-ubuntu: Ubuntu chroot on termux - GitHub

.NET Core

  1. 树莓派 3B 上部署运行 .net core 2 程序
  2. dotnet/core-setup: Installer packages for the .NET Core runtime and libraries - GitHub
  3. 树莓派 3b+ linux 系统安装,C# .NET Core2.2 程序部署亲身完美体验过程

ASF

  1. 实验:安卓手机 ASF 挂卡【伪教程】
  2. Setting up - ArchiSteamFarm Wiki - GitHub [zh-CN] [en]
  3. Linux(CentOS7)利用 ASFv3 挂卡教程【可套用至其他 Linux】
  4. Linux 使用 ASF 云挂卡(挂游戏时长)
  5. Can ASF work on my android/smartphone? - GitHub
  6. Can ASF be run on Android?

其他

  1. 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
    
  2. 在树莓派 3 上使用 ASF(ArchiSteamFarm)挂卡
  3. 树莓派上使用 ASF 的简单步骤(主要是 Mono 的安装配置)
  4. termux 从入门到入坑 - 简书
  5. 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
    夏影
    夏影  2019-12-09, 04:52

    安卓10失败,提示权限不足
    Access to the path '/proc/stat' is denied.

    Lussac
    Lussac  2019-03-30, 17:51

    我认为小米8上无法成功运行可能是Android 9版本的问题,但限于手上没有Android 5 ~ 8 的手机进行实验。希望有人能重复本文的流程后告知我结果如何。感谢您的反馈!

      夏影
      夏影  2019-12-09, 07:48

      安卓7正常(Nexus 5X)不过专门搞个旧手机常开其实感觉还不如直接VPS挂。

        Lussac
        Lussac  2019-12-09, 10:32

        感谢反馈,看来确实和Android版本有一定关系