作者: Ghost_chu

58 篇文章

BT Tracker // BEP 0007 - IPv6 Tracker Extension
BEP 0007 为 BitTorrent 协议引入了 IPV6 支持。 新增查询参数 ipv4 - 客户端向 Tracker 汇报自己的 IPV4 地址 ipv6 - 客户端向 Tracker 汇报自己的 IPV6 地址 key - 参考标志 客户端会生成一个随机的 key,并配合自己的 peer_id 来允许 Tracker 在多次 announce(宣告)期间识别你的客户端。 注1:这个 key 似乎不是很需要的样子,毕竟识别唯一身份 peer_id 可能就够了。 注2:BEP 中说不推荐使用 ipv4/ipv6 参数,可能会允许坏客户端引发拒绝服务攻击(DDoS),但实际上,大部分客户…
thumbnail
BT Tracker // BEP 0003 - The BitTorrent Protocol Specification
在开发 BitSapling/Sapling 的过程中,我意识到中文互联网似乎没有很好介绍 BitTorrent 协议的文章(当然,英文文献也并不是很多),同时 BitTorrent 官方的 BEP 介绍也含糊不清,特开新的一个文章系列来记录各个 BEP 的 Tracker 部分的具体实现方式。 BEP 0003 - The BitTorrent Protocol Specification 0003 号 BEP 是 BitTorrent 协议中最基础的规范,它规范了一个 BitTorrent Tracker 最基础的功能。 Bencode 编码 在 BT 协议中,客户端、.torrent 文…
thumbnail
部署 WordPress OAuth Server (Provider)
Barbatos Realms 最近在搞统一认证,聚合 Blessing Skin, Xenforo, Wordpress 等一系列乱七八糟的各种程序到 Wordpress 上。 偷懒为先,最好的解决方案自然是 OAuth 2,上述程序都有它的 Client 实现,对接甚是方便,但主要问题是,谁来做 Server (Provider)? 探索 WordPress 现有解决方案 以 OAuth 为关键字搜索,基本上都是 Client,而作为 Server 的只有 miniOrange 这一家独占。 我打赌不少人肯定都试过 miniOrange 的 Server 但问题在于,免费版本接近无法使用,…
thumbnail
用 CrowdinCopyDeploy 和 CloudFlare R2 自己搭建一个兼容的 Crowdin Content Delivery 服务
在我们自建这套系统之前,我们一直依赖 Crowdin 提供的 Over-The-Air Content Delivery 功能,为安装在众多服务器上的 QuickShop Hikari/Reremake 在线更新本地化语言文件。 那么好端端的,你们怎么突然自建了 很简单,付不起钱了?。 作为个人开发者维护的完全免费的软件,每年找要我们 100 USD 我们可吃不消,更何况用户越来越多。 最初 Crowdin 免费提供该功能,但在中途修改为了付费服务(然而我并不知情),直到22年12月圣诞节期间,Crowdin 团队年底清算的时候给我发来了一封邮件: Crowdin CDN payment (s…
thumbnail
隔壁家叔叔过年了还在刷机 你可千万不要变成那样
本来计划是今年过年都好好见个面,好好过个年。 但好巧不巧,由于过年前,家里姥姥和奶奶都阳了一遍,由于担心重复感染,于是世界拒绝了我。 就在没事干的时候,我看到了我手边淘汰下来的 OnePlus 9R…… 没事干,刷个机 一加作为国内少数几个还给普通人几乎零门槛的BL解锁的品牌,拿到手的手机不刷个机那简直是对不起一加这个名字。 大年初一的晚上,我把手机插上了 USB 线…… 隔壁家叔叔今年大年初一还在 9008,你可千万不能变成那样 刷机目标是 Nameless AOSP,其基于 OOS 12/13 底层,所以需要先刷到氧,再升级到氧 OS,再升级氧 OS 13,最后刷入 Nameless。 备…
thumbnail
调试解决 java.lang.IllegalArgumentException: Malformed \uxxxx encoding 编译错误
今天编译项目时遇到了这样一个错误:Malformed \uxxxx encoding java.lang.IllegalArgumentException: Malformed \uxxxx encoding. 显然,有个文件损坏了,但是可惜的是 Maven 没有告诉我们到底是哪个文件损坏了。 可以直接扬了 .m2 本地仓库,但是成本太高。依赖很多的情况下,就国内的网络情况不拉个一晚上怕是拉不下来需要的依赖。 着手解决 首先切换到 Terminal 终端,cd 到故障 Maven 项目/模块 目录下面,使用 mvn package -X 重新触发一次编译。 mvn package -X 这次可…
thumbnail
Java 实现读取解析 Torrent 文件,替换 Tracker,计算 infohash 和计算大小
最近一直在玩 PT,感叹 NexusPHP 的性能、代码质量和安全都实在是相当感人了,这种上古软件能活到今天也算是一个奇迹了。所以在自己悄悄搓 PT 程序。 对于一个 Private Tracker 程序,重要功能那自然是读取解析 Torrent,并把其中的 Tracker 换成我们自己的。本想用库来实现,但相当遗憾的是我没找到能够满足我需求的 Vanilla Java 的实现。 既然没有现成的,那就自己来搓一个。 由于我个人只需要解析 Bittorrent v1 版本的 torrent 文件就够了,所以 v2 不在讨论范围内,不过都是大同小异。 Bencode 编码 Torrent 的种子是…
thumbnail
qBittorrent-nox 标准&快检 静态编译 适用于Linux系统
 Ghost_chu 补丁2022-12-09 - 为 4.5.0, 4.6.0beta1 构建应用了语言选择器补丁,这是一个上游问题,并在本文中的构建中得到临时修复,本文提供的构建可以正常在 WebUI 中选择简中语言。  当前正在维护的 qBittorrent 版本v4.2.x -> 4.2.5v4.3.x -> 4.3.9v4.4.x -> 4.4.5v4.5.x -> 4.5.0v4.6.x (master) -> 4.6.0beta1除上述版本以外的 qBittorrent 暂时不受支持。  参与编译的 libtorrent 版本RC_1_2:稳定!占用小!推荐!RC_2_0:不稳定…
thumbnail
qBittorrent Ban Vampire for Docker - 禁止迅雷吸血
此工具已由 PeerBanHelper 替代https://github.com/Ghost-chu/PeerBanHelper  GitHubGhost-chu/PeerBanHelper   已在 DSM 7.1.1 Docker 套件配合 imnks 的 qBittorrent 套件源的 qBittorrent 测试过,理论兼容 qb v4.x.x 今天午觉一觉睡醒,例行打开QB发现迅雷喜闻乐见的又来吸血了。 虚假上报下载进度的迅雷 由于自己最近一直在玩 PT 下载,因此 PT 站都或多或少的对 BT 客户端有一定的限制,例如 QBEE 是不被允许使用的。 如果你没有不使用QBEE的需求…
thumbnail
分析一波校统一身份认证系统,并制作一个自动健康上报的脚本
不提供源代码或二进制文件下载不提供最终成品的源代码或二进制可执行文件下载,本文仅介绍工作原理和非完整实现,仅供学习用途。 新的通知又要每天填健康上报了,重复的工作真是无趣(叹气),今天就抽个时间分析一下健康上报系统吧。 抓取页面URL 打开微信,点开数字烟科->疫情健康上报,微信打开了一个 Webview,显而易见这不是小程序而是一个外部网页。 点击右上角三个点,扔到浏览器里拿个 URL 分析看看。 浏览器打开后,就获得了疫情健康上报的 URL:https://ujnpl.educationgroup.cn/jksb/tb/tbIndex 在PC浏览器隐身模式下打开重定向到了校统一身份认证系统…