Sign inSign up

bennettwu/qsign-server

By bennettwu

•Updated over 2 years ago

unidbg-fetch-qsign 的 Docker镜像,基于 Alpine 系统构建。

Image
Web servers
4

7.1K

bennettwu/qsign-server repository overview

⁠Docker-Qsign

本项目 Docker-Qsign⁠ 是 unidbg-fetch-qsign⁠ 的 Docker 镜像,基于 Alpine 系统编译,如有镜像问题可提交 issue⁠ 。

默认使用的是项目中的 8.9.63 版本 .so 资源,可以通过挂载文件替换。

⁠Tips

1.2.1 已被上游⁠删除,如果想用可以使用 sha-b354882 这个 tag 下载(当然不建议用,这个版本有问题⁠未被修复)。

⁠配置文件

自 1.1.1 开始,引入了 config.json 配置文件,此前的 ANDROID_ID 、 DYNAMIC 等环境变量参数将在此配置文件中进行调整,以及引入白名单 QQ 号规则,若未配置该规则将不会响应任何 QQ 号的请求。

{ // 复制这里的话,请把注释删除
  "server": {
    "host": "0.0.0.0",
    "port": 80 //端口不建议改,容器默认用 80 最舒服,如果改则需要暴露端口时的容器内端口与此一致。
  },
  "uin_list": [ // 未出现在uinList的qq无法访问api!(1.1.2已去除uin_list)
    {
      // uin也就是你的QQQ
      "uin": 114514,
      // 该uin对应的android_id
      "android_id": "1145141919810114",
      // 不能是空的哦~~
      "guid":       "5141919810114514",
      "qimei36":    "8e11b1f9764fa3b43121f6f510001fa1721a"
    }
  ],
  // 注册实例的密钥
  "key": "114514"
  // 启用自动注册实例(需要1.1.4及以上版本才会生效)
  "auto_register": true,
  // 实例重载间隔(该配置1.1.6后已移除)
  // i>=20 i<=50
  "reload_interval": 40, 
  "protocol": {
    "qua": "V1_AND_SQ_8.9.68_4218_HDBM_T",
    // version和code可以从qua中提取
    "version": "8.9.68", 
    "code": "4218"
  },
  "unidbg": {
    // 启用Dynarmic,它是一个开源的动态ARM指令集模拟器
    // 有时候会出现https://github.com/fuqiuluo/unidbg-fetch-qsign/issues/52
    "dynarmic": false,
    "unicorn": true,
    "debug": false
  }
}

⁠快速开始

⁠1.1.1前启动参数
docker run -d \
--name qsign-server \
--restart always \
-p 8080:80 \
-e COUNT=1 \
-e ANDROID_ID=<your android_id> \
bennettwu/qsign-server:1.1.0
⁠1.1.1后启动方式

如果需要挂载配置和资源则首先把需要挂载的内容从镜像里复制到宿主机,避免因为宿主机文件夹空的导致挂载后覆盖容器内的文件夹内容。

docker run -d --rm --name tmp_cont bennettwu/qsign-server:1.1.9 sh -c 'sleep 10'  && docker cp tmp_cont:/app/txlib "$(pwd)/"

之后再修改 txlib/config.json 文件中的参数,修改后用挂载方式启动。

docker run -d \
--name qsign-server \
--restart always \
-p 8080:80 \
-v $(pwd)/txlib/:/app/txlib \
bennettwu/qsign-server:1.1.9

然后使用 http://127.0.0.1:8080/sign 作为签名服务地址即可,1.1.2 后 icqq 配置是 http://127.0.0.1:8080/sign?key=114514 。

⁠Docker-Compose

同样如果需要挂载则需要先把挂载的内容复制到宿主机,避免因为宿主机文件夹空的导致挂载后覆盖容器内的文件夹内容,然后改改配置文件再启动。

docker run -d --rm --name tmp_cont bennettwu/qsign-server:1.1.9 sh -c 'sleep 10'  && docker cp tmp_cont:/app/txlib "$(pwd)/"
version: "3"
services:
  qsign-server:
    image: bennettwu/qsign-server:1.1.9
    ports:
      - "8080:80"
    environment:
     # 环境变量在1.1.1后将不再生效
     # - COUNT=1
     # - ANDROID_ID=<your android_id>
    container_name: qsign-server
    volumes:
      # 可以放txlib目录中的.so文件
      - ./txlib/:/app/txlib
    restart: always

⁠环境变量

程序启动的参数在 1.1.0 后将不再通过环境变量控制,而由 config.json 管理。

名称默认值描述
COUNT1unidbg 实例数量 (建议等于核心数) 【数值越大并发能力越强,内存占用越大】
ANDROID_ID无device.json 中的 android_id 值
TZAsia/Shanghai时区
DYNAMICfalse是否开启动态引擎(加速Sign计算,有时候会出现#52⁠)

Tag summary

Content type

Image

Digest

sha256:14e092b46…

Size

129.6 MB

Last updated

about 3 years ago

docker pull bennettwu/qsign-server