NexusPHP 建站优化 (2) 替换Bencode库

NexusPHP 建站优化 (2) 替换Bencode库

我曾在 PHP 下 Bencode 库差异及性能对比 一文中,通过对比指出NPHP在解析多文件(>1k)种子时,因为原解析库的低效率问题,导致性能过差的问题,并给出了相关解决方法。但是随着TJUPT代码库变成private状态(示例没了),以及 Rhilip/Bencode 以基础库形式发布在 https://packagist.org/ 上并维护。势必有必要重新写一个commit来说明如何替换Bencode库。以下讲解和代码patch均基于本人fork的官方源码 Rhilip/NexusPHP(v1.5.beta5.20120707),不提供除本文外的任何形式的说明以及免费讲解。...

PT,PHP 2020-02-06 PM 1896℃ 3条
Python下载国自然结题报告 + 初尝Vue项目构建

Python下载国自然结题报告 + 初尝Vue项目构建

前段时间,我导师布置任务,让我根据一些关键词主题以及接下去的工作任务查找国自然的一些项目,看看其他人的科研经验。然而假期嘛~ 所以直到前几天老师打电话催问的时候,我才想起来做。为了体现工作量,我认真找了下相关课题,并准备把 科学基金共享服务网(科技成果信息系统) 上其结题报告下载了下来。在此期间,从Google、GitHub等处均搜索了相关方法,感觉都不是很好,所以自己写了个脚本。其实本文章原本是想介绍本人写的 Rhilip/NSFC_conclusion_downloader 仓库,顺带解释下我前段时间摸鱼的原因。(然而这种脚本就是随手写写的,所以是真的摸鱼了但是昨天不知道想了些什么,...

Python,Javascript,Knowledge 2020-02-05 PM 1783℃ 0条
NexusPHP 建站优化 (1)自动清理(cleanup)

NexusPHP 建站优化 (1)自动清理(cleanup)

此文主要解决部分基于NPHP的站点在做大之后,因cleanup相关清理程序超时无法正常运行,导致出现用户等级、做种魔力无法正常更新等情况。主要可能的报错和原因为:站点使用Cloudflare作为CDN,因为清理程序运行超过100s,被强制522超时停止运行。站点Nginx设置后端超时时间过短,导致502报错。以下讲解和代码patch均基于本人fork的官方源码 Rhilip/NexusPHP(v1.5.beta5.20120707),不提供除本文外的任何形式的说明以及免费讲解。如果你非NPHP架构或者你站点规模还达不到出现cleanup超时,请勿了解!!具体请见:Rhilip/Nexus...

PT,PHP,Knowledge 2020-01-21 PM 1830℃ 0条
如何批量生成OneDrive分享链接

如何批量生成OneDrive分享链接

这篇文章其实早就想写了,然而一直放在自己的ToDO list里面,就那么一直放着放着(还有几篇是一样的命运,就开了个头)。然后一看自己快两个月没更新blog了,随便写点上来分享下。在很早很早之前,我使用过OneIndex以及它的一系列衍生开源项目分享过文件。然而就如同我在 个人仓库 的说明中写的那样,这一系列的开源项目存在一些很麻烦的问题,我之后便开始使用ShareLink的形式创建分享链接的形式来进行分享。最开始当然,最早之前,我是用网页端生成共享链接的方式来进行的,然后随便找个短链接生成网站生成个短链接就行。这个方式怎么说那,虽然原始但是可用23333,毕竟文件量少,简单操作下不需要...

Python,Knowledge 2019-12-11 PM 2263℃ 0条
使用Service Account接力rclone,突破GD单账号每日上传750G限制

使用Service Account接力rclone,突破GD单账号每日上传750G限制

嗯,标题比较绕口,改了好几遍都觉得不好。不过本文的目的在于:暂时只针对本地文件上传GD/TD,GD/TD内互传可能不适用创建Service Account并添加到teamdrive(现在也叫共享云端硬盘)中。(至于为什么要用SA,当然是因为创建真实用户账户成本过高,而且不能批量添加呀。)使用python脚本运行rclone,以多账户协力的形式突破单账号750G上传限制,并在对应账户上传超限(750G/帐号)时进行切换。其中第一步的主要思想来自folderclone,第二步相关实践来自 @superstaraug 等人,对此分别表示感谢。成品项目见:https://github.com/R...

Python,Knowledge 2019-10-11 AM 21755℃ 27条
获取并设置GoodReads的APIKEY

获取并设置GoodReads的APIKEY

GoodReads 自2020年12月8日起不再提供公开API申请,故本文作废。原文见 https://help.goodreads.com/s/article/Does-Goodreads-support-the-use-of-APIs我们在 豆瓣资源下载大师 的 7.5.9 及之后版本中添加了对GoodReads评分获取的支持。基于一些考虑,我们并没有内置APIKEY,如果你希望开启豆瓣图书页面的GoodReads链接以及评分信息的展示,请考虑自己申请APIKEY并填入,或使用文后提供的一些来自网络收集的apikey。或如果你想分享你申请或者收集到的apikey,也可在评论区留言。

UserScript 2019-09-25 AM 2613℃ 2条
PHP解析 ipv6wry.db 数据库

PHP解析 ipv6wry.db 数据库

我可能算是比较关注 ipv6wry.db 这个IPv6数据库的人之一了吧,之前就有写了自动更新脚本 Rhilip/ipv6wry.db ,再早之前在PT-help中也使用了该库。昨天晚上不知道在想些什么,搜索了一圈没见到 PHP 版本解析库,突然就有写一个的想法。Github Source: https://github.com/Rhilip/ipv6wry-phpPackgist: https://packagist.org/packages/rhilip/ipv6wry前人们的工作官方给出的解析工具中只有 C、Python 版本的实现真红酱在他的CSDN中使用的方法是使用Python...

PHP,Knowledge 2019-09-19 PM 2114℃ 2条
漫谈PT(6):Multitracker and client behaviour

漫谈PT(6):Multitracker and client behaviour

昨晚在群里和tjupt的 @zcqian 等人讨论关于Multitracker 以及BEP相关规定,也让我学习到很多,正好整理整理。作为这个鸽了好久的系列文章第6节发布。顺带这篇文章讨论的东西有些脱离了PT架构了,不如系列名改成 “漫谈PT” 吧。此文行文过程中尽可能从Bittorrent client开源源码中找到对应支持点,但因为本人没有学过C++的相应知识,对libtorrent以及libtransmission的理解可能仅在于表面的调用关系上,如果有纰漏还请指出,感谢。Multitracker 在torrent种子中的实现 (BEP0012)对于单tracker(一般pt站点)的...

PT,Knowledge 2019-07-24 PM 4222℃ 3条
使用Cloudflare Worker构建Pt-Gen

使用Cloudflare Worker构建Pt-Gen

最早的时候,Pt-Gen是作为Pt-help的一个子项,使用flask内置的web server提供服务,后来BFDZ将其单独提取出来(BFDZ/PT-Gen),但是仍然存在部署较为困难的问题。过去近1年的Pt-Gen的运行中,我曾经迁移过多次宿主机。目前托给ourhelp组的Pt-Gen服务器更是远在欧洲大陆。此外因为网络的问题,也导致部分时间段与豆瓣服务器无法连接,导致Pt-Gen服务的SLA特别差。近期,我得知八蠢想要构建基于AWS lambda的Pt-Gen,也正好最近看到了有关Cloudflare Worker的一些介绍。正好这也是Cf-worker的用途之一——“构建完全依赖...

Javascript,PT 2019-07-09 PM 6637℃ 9条
通知:Pt-help和ourhelp合并

通知:Pt-help和ourhelp合并

因为功能相似,本人于之前建立的Pt-help(域名 api.rhilip.info/tool)已与ourhelp组 (域名 api.ourhelp.club)相关功能进行合并。目前ourhelp域名是仅供ourbits.club网站使用的。本人原域名将继续提供无CORS限制的接口。但两者共享同一资源池,共享同一个资源请求限制。原本人使用的 有/tool前缀的API point,由后端Nginx的rewrite方法提供,相关规则如下。原API使用者无需更换请求地址。但仍建议参照ourhelp域名下相关暴露方法修改请求地址。location ~* ^/tool(/.*)?$ { ...

Notice 2019-06-30 AM 1418℃ 0条
使用git-chglog规范commit信息

使用git-chglog规范commit信息

一个很好的git commit历史很容易帮助自己在code review的时候知道自己做了什么修改。在一段时间之前,我很喜欢使用以下格式,即一个emoji表情加一段文字说明。:bug: Fix torrent link return miss....摘自: https://github.com/Rhilip/Pt-Autoseed/commit/e776a9c19788d022e2d095fbebafe7705d154ca4通过emoji表情,可以快速的定位到主要修改的作用,而文字也起到补充作用说明了。例如上面的例子就是一个bug fix,修复了链接丢失的情况。详细的emoji表情列表可...

Coding,Knowledge 2019-06-05 PM 2018℃ 1条
PHP下Bencode库差异及性能对比

PHP下Bencode库差异及性能对比

如果你有过注意,我曾在最近为国内某一PT站点更换了其Bencode库。究其原因在于,NexusPHP自带的Bencode库解析出来的Array中含有较多的无用元素,且性能较低,在一定程度上拖慢了种子上传过程中的解析速度,此外还占用过多内存。概览本次对比的对象有NexusPHP自带的、本人新写RidPT(但是还没有写完的)所用的Bencode库,以及其他在 https://packagist.org/ 中注册有Bencode库标识(tag)的相关库,列表如下:PHP Bencode LibraryVer.SizeEncode From Array/ObjectDecode From Str...

PT,PHP,Knowledge 2019-04-30 PM 2789℃ 4条
Pt-Gen 项目地址收集

Pt-Gen 项目地址收集

2019.5.13更新: 由于豆瓣限制 ( 豆瓣疑下线所有公开 API ),本人不再保证非本人搭建api的有效性。 请认准:https://api.rhilip.info/ptgen.html 或 https://ptgen.rhilip.info/相关介绍Blog:Pt站资源简介生成工具 PT-Gen使用 Cloudflare Worker 构建 Pt-Gen欸,本贴收集了基于 Rhilip/Pt-help 或者 BFDZ/PT-Gen 建立的公开性 豆瓣、IMDb、Bangumi、Steam链接自动生成简介 的工具页面。(方便你在被限制或者暂时无法使用时进行切换,注意,相同API地...

PT 2019-04-13 PM 3298℃ 4条
通过编辑修改torrent文件来辅种

通过编辑修改torrent文件来辅种

本文在 北洋园PT :: 查看主题 "【高级辅种教程】教你编辑修改torrent文件" - Powered by NexusPHP 基础上修改,如果你没有tju帐号,可以访问原作者 @DXV5 在Github上的原文备份 https://github.com/ylxb2016/PT-help 。此处转载以及修改均获得原作者 @DXV5 的许可,并对他在使用多种软件对种子文件进行修改的尝试表示感谢23333(虽然我本人还是推荐直接从发布站直接搜索下载从种子结构说起我曾在以前的Blog中提到过Bencode的编码方式,使用winHex(如果没有,用NotePad打开看看也行)就可以直接打开你...

Python,PT,Knowledge 2019-02-25 PM 8919℃ 0条
2018年PT站发种观察报告

2018年PT站发种观察报告

同前一篇使用Pt-Board数据的分析文章 基于 Pt-Board 的国内 Pt 站点大数据分析。因前文不涉及2018年数据,故本文对国内PT站2018年数据进行分析。本帖娱乐统计向,标题党和瞎BB,都请不要太当真。不吹不黑不挑事,不诋毁任何站点,不希望伤害任何人。谢绝任何形式转载,拒绝搞事!Pt-Analytics介绍详见: https://rhilip.github.io/PT-help/ptanalytics ,因为使用了ES6语法,请使用现代浏览器打开浏览。首先后端脚本定时从数据库中统计数据并生成对应的json静态信息。页面使用$.getJSON()方法从后端API中获取信息并存...

PT 2019-01-07 PM 9325℃ 8条