作者 主题: 【非TRPG】骰娘的自我规制:分离部署与伪签名服务器  (阅读 3524 次)

副标题: 转战Discord(Kook)或者R20,FVTT什么的才是出路

离线 磷灰石Apa4ite

  • PF1e钦定云玩家
  • 版主
  • *
  • 帖子数: 275
  • 苹果币: 2
  • 这里是签名档.txt
骰娘的自我规制:分离部署与伪签名服务器

前略后略,在部署于QQ群的各种骰点机器人遭到大规模封杀之后,如笔者使用的Sealdice所基于的Go-cqhttp(后文简称Gocq)也提出了对应的解决方案。
下文中将以较为详实的文本描述如何缓解骰娘Code:45,风控无法发言等问题。



-1:读前须知

本文并不能100%解决骰点机器人遭遇的风控与Code:45问题,也不能保证如此举动是否会导致更进一步的问题。本文仅包括尽可能详实的手段与常见问题避免方式,无法保证100%复现。
同时,本文章遵循《别来烦我公共许可协议》及其一切内容。
本文章默认读者拥有访问Github或某些情况下无法访问的页面的能力,默认读者拥有一台7*24小时开启的服务器,默认读者掌握了基本的计算机知识。如果您发现有某个部分不确定如何操作,请善用搜索引擎。
如果您不遵从该协议,您拥有离开本页面的权力。


劇透 -   :
别来烦我公共许可协议

版权所有(c)2019 mhtvsSFrpHdE

特此免费授予获得此软件和相关文档文件(“源代码”)副本的任何人。
这个特殊的许可证基于MIT和WTFPL,并命名为JDBM许可协议(别来烦我)。
它等效于MIT许可证(保护源代码维护者),但是直接授予“您”(“可以选择使用源代码的开发者”)额外的权限。
它几乎将源代码发布到公共领域,但仍保留源代码维护者的版本管理功能,
使他们摆脱法律责任和后果。

MIT要求您在“软件”的所有副本或重要部分中包括版权声明和许可声明。
WTFPL准许您做任何事情,包括商业用途,但不能保护维护者免受法律责任和后果。
为了结合这两种优势,JDBM和您同意:

-您不必在产品的用户界面上告诉“源代码来源”,也不必告诉最终用户JDBM和MIT显示的任何文本。
  许可证文件不必像根安装文件夹中的可执行文件一样放在显眼位置。
  这意味着,许可证文件只需要包含在最终分发程序文件中,并包含一个有意义的文件名,而无论您如何向最终用户隐藏许可证文件。
  将其视为“开发人员之间的协议”,并且与最终用户无关。
  如果最终分发中未提供任何许可证,则源代码将视为您的工作结果。
  在这种情况下,源代码行为与源代码维护者无关。

-任何责任和后果都不得与源代码维护者有关系。
  决定使用源代码的人必须承担任何责任和后果。
  您无权从源代码维护者处获得任何事故赔偿。

-您无权复制源代码,申请专利权并起诉源代码维护者。

-您确实可以将源代码用于任何目的,但是请记住,如果发生任何事情,“别来烦我”。

必须同意上述所有条款,才能使用许可的源代码。
如果您不同意这些条款,请停止使用源代码的计划,并删除所有本地更改。
如果您仍希望与之协商,请与源维护者联系。

JUST DON'T BOTHER ME PUBLIC LICENSE

Copyright (c) 2019 mhtvsSFrpHdE

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "source code").

This special license is based on MIT and WTFPL, and named as JDBM license (just don't bother me).
It is equivalent to MIT license (protecting source code maintainers) but has extra permission directly granted to "you" (the "developers who can choose to use source code").
It nearly releases the source code to the public domain, but keep version management ability to source code maintainers,
and free them from legal responsibilities and consequences.

MIT requires you to include the copyright notice and the permission notice in all copies or substantial portions of the "Software".
WTFPL granted you to do almost anything include commercial use but does not protect maintainers from legal responsibilities and consequences.
To combine both of the advantages, JDBM and you agreed to:

- You do not have to tell the "source code usage" on the product's user interface or any text shown to end-user, either JDBM and MIT.
  The license files do not have to put in a conspicuous position like the executable file in the root install folder.
  That means, the license files just need to be included in final distribute program files and a meaningful file name, but no matter how if you hide it from end-users.
  Treat it as an "agreement between developers" and have nothing to do with the end-users.
  If no license provided in final distribute, the source code considered as your results of the work.
  In this case, the source code behavior has nothing to do with source code maintainers.

- Any responsibilities and consequences must not have a relationship with the source code maintainers.
  The person who decided to use source code must take any responsibility and consequences.
  You are not entitled to any accident compensation from the source code maintainers.

- You are not granted to make a copy of the source code, apply for patent rights and sue the source code maintainers.

- You did can use the source code for any purpose, but keep in mind if anything happens, "just don't bother me".

All of the above terms must be agreed to use the licensed source code.
If you disagree with the terms, stop the plan to use the source code and remove any local changes.
And contact the source maintainers if you still wish to negotiate with.
« 上次编辑: 2023-06-29, 周四 14:47:31 由 磷灰石Apa4ite »

离线 磷灰石Apa4ite

  • PF1e钦定云玩家
  • 版主
  • *
  • 帖子数: 275
  • 苹果币: 2
  • 这里是签名档.txt
0.分离部署与Gocq V1.1.0

本文以Sealdice为例详述解决方案。如果您使用不一样的骰系,请自行寻找类似的解决方案。

1)下载Gocq V1.1.0
引述: 内容
你可以在此下载最新的Gocq V1.1.0。如果你不确定使用什么版本的Gocq,那么你可能应该使用Arm64的对应版本。这是解决方案的必要前提:该版本新增了对签名服务器的支持,而该方案需要这个功能。该网站可能需要科学上网。

2)完成分离部署
引述: 内容
你可以在此完成标准的Sealdice分离部署流程。但是,你需要使用上文下载的Gocq V1.1.0(或未来将发布的更新版本)而非Sealdice内置的旧版本Gocq。完成该分离部署流程并确认可用后,你应该将骰点机器人暂时下线,完成接下来的步骤。
« 上次编辑: 2023-06-30, 周五 14:45:02 由 磷灰石Apa4ite »

离线 磷灰石Apa4ite

  • PF1e钦定云玩家
  • 版主
  • *
  • 帖子数: 275
  • 苹果币: 2
  • 这里是签名档.txt
1.部署签名服务器

在完成本步骤前,你需要确保自己有一台7*24小时可用的服务器。签名服务器应该尽可能少的掉线。

1)下载unidbg-fetch-qsign
引述: 内容
你可以在此下载签名服务器的文件,将其解压在自己的服务端上。
注意1:如果通过Jar部署,确保你的服务端安装了jdk或者jre,版本1.8或以上。如果你的服务端是Linux或类似系统,则可以跳过该段落后面的全部文本。
注意2:你可以在此复用安装UFQ的基本步骤,或者按照作者的标准Jar部署方法部署。如按照该方法部署且你的服务端是Windows系统,请确保你的服务端可用Linux指令集,或是直接安装Git bush,之后通过Git bush而非CMD执行作者给出的部署指令。

2)下载最新的QQ APK,从中提取混淆文件
引述: 内容
UFQ内置了你需要的两个QQ APK提取的文件,但随着版本更新,你可能需要对应的最新APK中的混淆文件。在QQ主页下载最新的QQ(不可是TIM)的Android安装包,之后将其后缀名改为zip或rar并解压,之后将解压文件夹下lib/arm64-v8a路径的libfekit.so、libQSec.so两个文件提取出来,存放到一个单独的文件夹。你仍然需要在部署时指定这个文件夹的相对路径。

3)部署启动UFQ
引述: 内容
如果一切正常的话,UFQ此时应该可以启动。但是,请检查以下几个问题。
1.确保你的Port(端口号)未被其他程序占用。
2.回到你的gocqhttp文件夹,打开其中的device.json文件(如果你没有这个文件,请启动gocqhttp之后再次关闭)。找到你的"android_id"一栏,将后面对应的android_id复制到部署启动脚本的android_id一栏。这两个android_id必须完全对应,否则你的账号可能会被冻结!
3.确保一切正常之后,通过启动脚本(通过cmd或git bash启动作者提供的脚本,或run.bat)
引述: run.bat
.\bin\unidbg-fetch-qsign.bat --port=一个未占用端口  --count=如果只想给自己一个人用的话就是1 --library=你存放混淆文件的文件夹的相对路径  --android_id=你的android_id
启动UFQ。
4.回到你的gocqhttp文件夹,打开其中的config.yml文件。将其中的sign-server对应变量改为UFQ的服务器地址。如果你的UFQ和gocqhttp处于同一个设备上,将其直接改为'http://127.0.0.1:你启动UFQ的端口'即可
5.在这之后保持UFQ不关闭(尽量不要关闭)。启动gocqhttp。启动sealdice链接gocqhttp。
Enjoy it!
« 上次编辑: 2023-06-30, 周五 14:41:31 由 磷灰石Apa4ite »

离线 磷灰石Apa4ite

  • PF1e钦定云玩家
  • 版主
  • *
  • 帖子数: 275
  • 苹果币: 2
  • 这里是签名档.txt
声明:


如果你的骰子可以正常运行,就不要选择这个方法。

一定要保持Android_id匹配,否则冻结概率极大。

你的骰子账号有可能被直接冻结,此时你需要将其解锁。解锁之后不要让UFQ下线。

及时更新混淆用的QQ Apk提取文件。

尽可能自搭自用,多个账号共用一个伪签名服务器风险极大。
« 上次编辑: 2023-06-29, 周四 14:47:18 由 磷灰石Apa4ite »

离线 磷灰石Apa4ite

  • PF1e钦定云玩家
  • 版主
  • *
  • 帖子数: 275
  • 苹果币: 2
  • 这里是签名档.txt
-全文完-
« 上次编辑: 2023-06-29, 周四 14:47:37 由 Πληΐαδες »

线上 \星尘/

  • Chivary
  • *****
  • 帖子数: 1942
  • 苹果币: 6
  • 星尘
Re: 【非TRPG】骰娘的自我规制:分离部署与伪签名服务器
« 回帖 #5 于: 2023-06-29, 周四 14:51:36 »
补充一点
unidbg-fetch-qsign现在有内存溢出的问题,可能会导致巨幅占用内存而崩溃,可以关注下新版本期望解决;
另外,unidbg-fetch-qsign本身资源占用不低,单核服务器发一条消息都会占用5%左右的cpu,常态内存占用在200mb上下 :em006
银色的龙儿记录着旅程中收集的故事,细心地收纳于云雾中的巢穴
已经结束的故事在这里沉睡,新的故事正被撰写。

欢迎访问持续维护的枭熊1地图镜像The Trove dnd与coc原文资源镜像站FVTT世界安装包资源站5e不全书在线chm3r全书在线chm3r扩展在线chmPF1大合集在线chm染色器果园角色卡展示生成器MD2BBCODE格式转换器

最新版5e不全书

离线 磷灰石Apa4ite

  • PF1e钦定云玩家
  • 版主
  • *
  • 帖子数: 275
  • 苹果币: 2
  • 这里是签名档.txt
Re: 【非TRPG】骰娘的自我规制:分离部署与伪签名服务器
« 回帖 #6 于: 2024-06-03, 周一 10:09:17 »
一年之后的注释:

GOCQ基本已经全线失效,该手册已无实际价值,仅供留档。如有需要,请使用NTQQ分离部署策略,如Lagrange等。