点击关注我的Telegram群组和微信公众号

MENU

在Centos下搭建ArchiSteamFarm (ASF) 实现云挂卡并开启网页界面 (Web UI)

2020 年 04 月 03 日 • 阅读: 313 • 技术,分享,教程

介绍

ArchiSteamFarm是很多进阶级Steam用户熟知的软件,它允许用户进行批量性的Steam帐号管理且支持效率很高的批量挂卡任务。其支持Windows/ Linux/ Mac OS系统,且各平台配置方式差异不大,所以如果你之前就已经用过其它平台的ASF程序,通过这篇文章你就可以很轻松地搭建远程ASF程序并通过网页进行管理。

环境配置

此处以Centos 7.2 为例,其它系统版本自行替换系统命令即可

  • 由于程序是由C#写的,所以需要安装.NET核心
yum install libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev libcurl4-openssl-dev libssl-dev uuid-dev unzip screen
  • 添加微软源
rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
  • 安装.NET
yum update
yum install libunwind libicu
yum install dotnet-sdk-2.2

软件安装

你可以在ASF的官方Github仓库获取到最新的软件版本,写本篇文章时最新稳定版为V4.1.2.1,在文本中将选择ASF-linux-x64版本作为安装程序

mkdir ASF
wget https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/4.1.2.1/ASF-linux-x64.zip
mv ASF-linux-x64.zip ASF
cd ASF
unzip ASF-linux-x64.zip
chmod +x ArchiSteamFarm

创建ASF配置文件

  • 访问网页版ASF配置生成器:https://justarchinet.github.io/ASF-WebConfigGenerator/
  • 点击中间的“ASF”
  • 在SteamOwnerID中输入你的Steam64位帐号ID
  • 点击“Toggle advanced setting”,展开高级设置
  • 在“CurrentCulture”一栏中输入zh-CN,用于设置ASF程序语言
  • 勾选IPC,这是激活网页管理界面的选项
  • 在IPCPassword中输入一个密码作为网页管理界面的密码.
  • 网页拉到最底下,点击download,你会获得一个txt格式的文件
  • 将这个文件的文件名修改为ASF.json
  • 将这个文件上传至服务器,ASF程序目录下的config子目录(也就是~/ASF/config)

至此,你的ASF程序就已经有了一个可以用于支持运行的配置文件了

启动程序

为了让ASF能在后台运行也为了方便地使用Shell,使用screen为ASF单独创建一个桌面

screen -S asf
./ArchiSteamFarm

如果你看到Shell有类似于如下图这样的输出就说明ASF程序启动完成

ASF Running

设置网页管理面板

ASF的网页面板默认端口为1242,但这时候你会发现直接输入IP:1242是不可行的。这是因为出于安全考虑,ASF程序只开启了本地IP的端口也就是127.0.0.1:1242。我们将ASF搭建于服务器上,自然需要远程访问的功能,因此需要使用Nginx对网页面板进行反代处理。以下是我的Nginx配置文件,你需要修改包括hostname和SSL文件在内的一些内容。

server {
    listen *:443 ssl;
    listen *:80;
    server_name asf.steam.com;
    ssl_certificate /usr/local/nginx/conf/ssl/ssl.crt;
    ssl_certificate_key /usr/local/nginx/conf/ssl/ssl.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
       ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
       ssl_prefer_server_ciphers on;
       ssl_session_timeout 10m;
       ssl_session_cache builtin:1000 shared:SSL:10m;
       ssl_buffer_size 1400;
       add_header Strict-Transport-Security max-age=15768000;
       ssl_stapling on;
       ssl_stapling_verify on;
       access_log /data/wwwlogs/nginx.log combined;
       if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  

    location ~* /Api/NLog {
        proxy_pass http://127.0.0.1:1242;
#        proxy_set_header Host 127.0.0.1; # Only if you need to override default host
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host:$server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;

        # We add those 3 extra options for websockets proxying, see https://nginx.org/en/docs/http/websocket.html
        proxy_http_version 1.1;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Upgrade $http_upgrade;
    }

    location / {
        proxy_pass http://127.0.0.1:1242;
#        proxy_set_header Host 127.0.0.1; # Only if you need to override default host
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host:$server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

重启Nginx,再次通过你的hostname访问,你就会看到ASF Web UI的欢迎界面了。输入密码进入管理面板后,你就可以添加你的Steam帐号了。

ASF Web UI

返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码