为了提高性能,PBH 通过 Java 21 的虚拟线程,极大的提升了并发能力。通过优化并发(以及添加缓存),从 5000ms+ 的检查耗时一度降到 100-500ms。对于服务器场景,这当然是极好的。但 PBH 主要运行在用户的终端设备上,这就引发了一个问题...
接用户报告使用 PeerBanHelper 时,使用 JavaFx 的 GUI 界面出现中文乱码,但 Swing 的 GUI 界面则没问题。 用户自行报告安装了多个字体整合包,并且同样使用 JavaFx 的 HMCL 启动器也出现乱码。由于其它也使用 JavaFx GUI 的用户没有出现这个问题,且
自从开发 PeerBanHelper 和 BTN 威胁情报网络以来,BTN 已经良好的运行了数月。是时候整理一下数据,水篇文章了。 注意:本数据仅来自于 BTN 网络所收集的数据,其数据样本由 BTN 网络参与者的下载器中添加的 Torrents 决定,可能并不具有典型代表性。 最受伪装者欢迎的客户
使用 NativeImage 编译 Java 程序为本地映像。拒绝沉重的 JVM,Java 也能有和原生程序一样的体验。这篇文章带你快速上手 GraalVM NativeImage。
Tailscale 是什么?能吃吗好吃吗?到底应该怎么用?我需要它吗?本文帮助新手快速 Tailscale 入门,介绍 Tailscale 的各项特色功能。让更多人认识 Tailscale,爱上 Tailscale。
在开发 ItemVoid 时遇到了一个技术性问题,关于在大数据量下如何保证插入性能的情况下进行去重的问题。需求分析为:分批大量数据插入,预期为 150~1500 个物品/s,每 5 秒插入一次由于应用侧缓存容量有限,因此数据库需要承担去重的任务,且需要保证去重的性能……
好久没写文章了,最近一直在搞自己 Minecraft 小服务器的事情,难得抽出时间来写写技术文章~ 最近为了 BR 的数据存档计划能更加顺利的实施,BR 也安装了一个 NexusPHP 用于追踪种子的上传/下载量和做种状态。但是 NexusPHP 自己用户系统相当难用,BR 也有自己的统一授权服务(
跑在 iKuai 上的本来好好的 Samba 共享,因为调了一下匿名访问后,客户机再也连不上 Samba 共享了(之前也有随机连不上的问题出现),找了一点时间仔细研究了一下。
最近一直挺忙的,没大有时间照顾博客,没想到这次更新文章居然是因为这个…… 这年头连博客都要闲着没事打一打了吗? 这只是一个技术博客,内容都是免费的,要防到这种地步,我也是无语了。 《DDOS 攻击的防范教程》——阮一峰的网络日志 第一次攻击
BEP 0036 指定了有关使用发布种子 RSS 订阅的相关规范,也就是 qBittorrent 等软件中的 “RSS阅读器” 功能。 实现了此规范的 Tracker 能够通过 RSS 发布订阅,客户端将会从订阅中自动下载 .torrent 文件。 Feed 类型 由于支持 Atom 的客户端非常稀
BEP 0048 为 Tracker 添加了一个新的协议:scrape (抓取)。 抓取协议允许客户端更新目前 Tracker 上活动的用户数,并以此决定是否应该通过 announce (宣告)协议与 Tracker 联系并更新对等方列表和自己的最新状态。 示例请求 客户端会将原有 Tracker
在 BEP 0003 中,我们介绍了对于 Peers 的响应返回。 但是当对等体过多的时候,peers 字段将会变得相当庞大,而且经过时间证明,其中 peer_id 字段完全可以被省略,没有存在的必要。因此,BitTorrent 对响应做出了改进,以便进一步压缩响应体的大小。 新增查询参数 客户端通
BEP 0031 为 BEP 0003 的失败响应提供了一个额外字段 retry in,单位为秒,代表指定秒后客户端应当再次重试上个操作,例如 Tracker 服务器过载,客户端应当稍后再试。 此外,retry in 还可以被指定为 never,代表客户端不应再进行任何尝试,例如客户端请求的这个地址
BEP 0007 为 BitTorrent 协议引入了 IPV6 支持。 新增查询参数 ipv4 - 客户端向 Tracker 汇报自己的 IPV4 地址 ipv6 - 客户端向 Tracker 汇报自己的 IPV6 地址 key - 参考标志
在开发 BitSapling/Sapling 的过程中,我意识到中文互联网似乎没有很好介绍 BitTorrent 协议的文章(当然,英文文献也并不是很多),同时 BitTorrent 官方的 BEP 介绍也含糊不清,特开新的一个文章系列来记录各个 BEP 的 Tracker 部分的具体实现方式。 B
Barbatos Realms 最近在搞统一认证,聚合 Blessing Skin, Xenforo, Wordpress 等一系列乱七八糟的各种程序到 Wordpress 上。 偷懒为先,最好的解决方案自然是 OAuth 2,上述程序都有它的 Client 实现,对接甚是方便,但主要问题是,谁来做
在我们自建这套系统之前,我们一直依赖 Crowdin 提供的 Over-The-Air Content Delivery 功能,为安装在众多服务器上的 QuickShop Hikari/Reremake 在线更新本地化语言文件。 那么好端端的,你们怎么突然自建了 很简单,付不起钱了?。 作为个人开发
本来计划是今年过年都好好见个面,好好过个年。 但好巧不巧,由于过年前,家里姥姥和奶奶都阳了一遍,由于担心重复感染,于是世界拒绝了我。 就在没事干的时候,我看到了我手边淘汰下来的 OnePlus 9R…… 没事干,刷个机 一加作为国内少数几个还给普通人几乎零门槛的BL解锁的品牌,拿到手的手机不刷个机那
今天编译项目时遇到了这样一个错误:Malformed \uxxxx encoding java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
最近一直在玩 PT,感叹 NexusPHP 的性能、代码质量和安全都实在是相当感人了,这种上古软件能活到今天也算是一个奇迹了。所以在自己悄悄搓 PT 程序。 对于一个 Private Tracker 程序,重要功能那自然是读取解析 Torrent,并把其中的 Tracker 换成我们自己的。本想用库