作者: Ghost_chu

58 篇文章

thumbnail
简单记录一下 MySQL 大数据量大字段去重批量插入问题
在开发 ItemVoid 时遇到了一个技术性问题,关于在大数据量下如何保证插入性能的情况下进行去重的问题。需求分析为:分批大量数据插入,预期为 150~1500 个物品/s,每 5 秒插入一次由于应用侧缓存容量有限,因此数据库需要承担去重的任务,且需要保证去重的性能……
thumbnail
为 NexusPHP 添加 OAuth/OpenID 登录
好久没写文章了,最近一直在搞自己 Minecraft 小服务器的事情,难得抽出时间来写写技术文章~ 最近为了 BR 的数据存档计划能更加顺利的实施,BR 也安装了一个 NexusPHP 用于追踪种子的上传/下载量和做种状态。但是 NexusPHP 自己用户系统相当难用,BR 也有自己的统一授权服务(基于 Casdoor),因此搓了个 OAuth 功能,允许用户从 Casdoor (或者其他的 OAuth/OpenID 服务)注册和登录 NexusPHP。 支持的功能 从 OAuth/OpenID 自动创建 NexusPHP 用户,并与其绑定,用户可通过 OAuth/OpenID 登录 Nexu…
thumbnail
修复 Samba (SMB) 的 0x80004005 和 0x80070035 错误
跑在 iKuai 上的本来好好的 Samba 共享,因为调了一下匿名访问后,客户机再也连不上 Samba 共享了(之前也有随机连不上的问题出现),找了一点时间仔细研究了一下。  节约你的时间,开始之前仔细检查如果你的手头有一台 Linux 操作系统的设备或者虚拟机,那么在进行故障排查之前,最好在 Linux 的系统中尝试挂载你的 Samba 服务,以便排除 Samba 服务本身故障。Windows 下的 Samba 充满了玄学,最好先从简单的入手。开始之前:* 确认 Samba 服务已经启动* 确认目标 Samba 端口防火墙已被放行* 在 Linux 看看能不能挂载上都可以?那么就可以开始动…
thumbnail
记一次服务器被 DDOS 事件
最近一直挺忙的,没大有时间照顾博客,没想到这次更新文章居然是因为这个…… 这年头连博客都要闲着没事打一打了吗? 这只是一个技术博客,内容都是免费的,要防到这种地步,我也是无语了。 《DDOS 攻击的防范教程》——阮一峰的网络日志 第一次攻击 首次攻击发生于 2023-03-21 21:15:36,腾讯云告警服务器遭到 DDOS 攻击,并进行了安全隔离(黑洞)。 收到了连续三封信件,攻击类型是 UDPFLOOD,攻击带宽达到了7761Mbps。 鉴于最近站点没什么更新,也没有提供重要的外部服务,攻击者产生的攻击带宽在 7Gbps 左右,干脆买了一份什么也挡不住一年 31 元的 T-Sec 轻量 …
thumbnail
BT Tracker // BEP 0036 - Torrent RSS Feed
BEP 0036 指定了有关使用发布种子 RSS 订阅的相关规范,也就是 qBittorrent 等软件中的 “RSS阅读器” 功能。 实现了此规范的 Tracker 能够通过 RSS 发布订阅,客户端将会从订阅中自动下载 .torrent 文件。 Feed 类型 由于支持 Atom 的客户端非常稀少,因此推荐使用 RSS2.0 规范来发布 Feed。 标签 enclosure RSS 订阅中每个 Item 必须有一个 enclosure 标签,且 type 字段必须为 application/x-bittorrent,如果 Tracker 支持,还可以携带一个 length 字段代表 .to…
thumbnail
BT Tracker // BEP 0048 - Tracker Protocol Extension: Scrape
BEP 0048 为 Tracker 添加了一个新的协议:scrape (抓取)。 抓取协议允许客户端更新目前 Tracker 上活动的用户数,并以此决定是否应该通过 announce (宣告)协议与 Tracker 联系并更新对等方列表和自己的最新状态。 示例请求 客户端会将原有 Tracker URL 的 announce 替换为 scrape,并向这个接口发送 GET 请求。 GET /scrape?info_hash=xxxxxxxxxxxxxxxxxxxx&info_hash=yyyyyyyyyyyyyyyyyyyy 客户端可以添加多个 info_hash 在查询参数中来同时…
thumbnail
BT Tracker // BEP 0023 - Tracker Returns Compact Peer Lists
在 BEP 0003 中,我们介绍了对于 Peers 的响应返回。 但是当对等体过多的时候,peers 字段将会变得相当庞大,而且经过时间证明,其中 peer_id 字段完全可以被省略,没有存在的必要。因此,BitTorrent 对响应做出了改进,以便进一步压缩响应体的大小。 新增查询参数 客户端通过添加 compact 字段指示 Tracker 是否应该返回 compact 样式的响应,以下是一个示例请求: GET /announce?info_hash=j%25%7c%fe%12%0e%c0%9d%ee6%d5%df%03%bb%fda%cd%7b%97%b5&peer_id=-q…
BT Tracker // BEP 0031 - Failure Retry Extension
BEP 0031 为 BEP 0003 的失败响应提供了一个额外字段 retry in,单位为秒,代表指定秒后客户端应当再次重试上个操作,例如 Tracker 服务器过载,客户端应当稍后再试。 此外,retry in 还可以被指定为 never,代表客户端不应再进行任何尝试,例如客户端请求的这个地址并不是一个 Tracker 服务器,或者指定的种子未在此 Tracker 上注册等等场景。 示例(使用 JSON 格式以提高可读性) { "failure reason": "Server is busy, please try again later.", "retry in": 600 }