 
作为一个吧龄近 9 年,帝吧一贴未曾发纯靠签到涨经验到 13 级的无名吧友,签到自然不能靠手:我从几年前就开始使用贴吧云签到服务了。一开始使用的是别人搭建并公开的免费平台,后来平台开开停停,时常断签,很是麻烦。买了自己的服务器,就想着自己搭一个。搜索了一下,大部分云签到平台都是基于 MoeNetwork/Tieba-Cloud-Sign(无名智者) 这个开源项目的。
该项目支持使用 Docker-Compose 快速部署,因此搭建起来还是很方便的。这里先介绍一下 Docker-Compose:
Docker-Compose 是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。使用 Docker-Compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
简单地说,有的应用需要多个容器联动工作,这是不需要逐一配置启动每个容器,只需要编写一个工程配置文件,用一句命令就可以部署。Docker-Compose 的工程配置文件默认为 docker-compose.yml(可通过环境变量 COMPOSE_FILE 或 -f 参数自定义配置文件)。
部署流程
- 
    安装 docker,安装 docker-compose docker 的安装参考这篇博文。 docker-compose 的安装命令如下(Ubuntu): 1 
 2#若未安装 pip 需要先 apt install python-pip pip install docker-compose
- 
    下载工程配置文件 1 wget https://raw.githubusercontent.com/zsnmwy/Tieba-Cloud-Sign/master/docker-compose.yml打开这个配置文件: 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26version: '3' services: web: image: "zsnmwy/tieba-cloud-sign" environment: DB_HOST: db:3306 DB_USER: root DB_PASSWD: janejane123456 DB_NAME: tiebacloud CSRF: "true" ports: - "80:8080" links: - db depends_on: - db db: image: "mysql:5.5" environment: MYSQL_DATABASE: tiebacloud MYSQL_ROOT_PASSWORD: janejane123456 volumes: - /opt/tieba/mysql:/var/lib/mysql可以看到这个项目包含了两个容器:web 前端界面和 MySQL 数据库,其中默认的数据库用户名密码无需修改。 可以修改的内容是: - 端口号,即访问云签到网页的端口。初始是 80,也就是 http 默认。如修改为 82 端口:
 1 
 2ports: - "82:8080"- 
        卷映射,即与主机的文件共享。默认是在主机创建了 /opt/tieba/mysql文件夹来保存数据库资料。
- 
        启动参数。为防止服务器重启后断签,建议分别在 web和db配置的最后一行加上restart: always
 
- 
    开始部署 1 docker-compose up -d参数 -d意为后台运行。
- 
    访问 <ip:port> ,按照提示进行初始化就可以啦。其中,在配置数据库连接的时候,选择自动导入即可,不用自己输入。 
CSRF 配置的手动修改
解释见关于云签到 CSRF 防御。此功能增强了云签到站点的安全性,但实测会导致安装插件出现问题。若要规避此问题,可以在 docker-compose 之前修改配置文件中的 CSRF: "true" 一行,改为 false 即可。
另一种方法是直接修改容器内部的配置,需要在 Web 端初始化好后进行,方法如下:
进入容器,修改 config.php:
| 1 |  | 
修改为 define('ANTI_CSRF', false); 即可。
插件安装
在 Web 端可以进行插件的安装,实现诸如获取BDUSS、自动刷新贴吧列表等额外功能。
访问插件库,从各插件的项目仓库处下载插件 zip 压缩包,直接在云签到站点的插件管理页面上传即可。
可惜的是,最实用的 百度知道文库签到插件已经很久没有更新维护,早已失效。 发现了一个新的百度知道签到插件(文库签到已废):下载 96dl/Tieba-Cloud-Sign-Plugins 这个项目,把其中的 ver4_zdwk 文件夹压缩为 zip(注意,压缩包内必须是一个名为 ver4_zdwk 的文件夹!不能直接是 php 文件),然后上传插件安装即可。实测知道签到可用。