#1 - 2023-4-21 22:18
Arcticwinds (失去的肢体,阵亡的战友……残存的幻痛不曾停息 ... ... ...)
在cloudflare workers上部署了一个反代脚本代码链接,可以将https://mikanani.me/RSS的内容和种子下载链接,通过CF的CDN来中转从而实现国内正常访问。对于一些不太好设置代理的下载程序,可以使用这个方法。
具体用法
注意:这个脚本仅能用来代理RSS和下载链接,并不能用来访问这些网站本身。如果是需要访问蜜柑计划等网站的话,可以参考隔壁autoBangumi的方法
2023-07-20: 由于本人使用的域名提供商跑路,下面的这个示例已经无法使用,各位可以使用下面评论区的大佬们部署的链接,或自行部署
在原来的RSS链接前面加上 即可。
举个例子,如果原来的链接是 https://mikanani.me/RSS/Bangumi?bangumiId=681&subgroupid=162,将其替换为 https://mikan.noisy01.ml/https://mikanani.me/RSS/Bangumi?bangumiId=681&subgroupid=162 ,即可正常使用。
目前支持:蜜柑计划,萌番组,acg.rip,dmhy
确认不可用:nyaa(错误429)
这个脚本可以反代任何RSS链接(或者其他静态资源),并且可以专门将这几个下载站的RSS中种子的下载链接修改为使用反代地址的链接。如果你订阅的站点RSS中,下载链接是以磁力链接形式提供的,一般来说也可以使用这个脚本。
由于cloudflare workers免费版每日有10w次请求的限额,因此如果要大量使用的话,建议自己部署:
部署方法
1. 必须为workers准备一个域名(因为他默认的xxx.workers.dev 本身也是被屏蔽的),域名必须是位于你自己的cloudflare账号下的,可以从其他域名平台转移过去,具体请自行搜索一下。搞定之后自己想一个比较好记的二级域名,作为接下来给worker使用的域名,先记下来(以mikan.xxx.com为例)
2.登录 https://dash.cloudflare.com/ ,没有账号的话注册一下。点击右侧Workers,然后直接选择Create Worker。这个时候会打开一个类似文本编辑器的页面,将gist里的代码复制进去,然后把代码中所有的 your.workers.dev 替换为第一步所说的那个域名(以mikan.xxx.com为例)
3.点击 Save and deploy,确认并部署,现在再次点击侧面的workers,网页中间就有刚才部署完成的worker,点进去,选择Triggers(触发器)-> Custom Domains(自定义域)-> add custom Doamin,输入刚刚所说的域名(以mikan.xxx.com为例),然后添加即可。如果显示红色错误提示,说明你的域名还没有转移到cloudflare中,可自行搜索如何转移。
4.现在就可以使用和上面一样的方法来反代蜜柑了。
反代其他RSS
如果你需要反代其他RSS站点,可以模仿 这部分内容自行修改。
如前文所述,如果你的RSS中,下载链接是以磁力链接的形式提供的,那么一般来说你可以不用做任何修改,直接就能用。但是如果你的RSS中,下载链接是以种子的形式提供的,那么你需要进行如下的修改,以acg.rip为例演示一下(必须自己部署的情况下才可以):
浏览器访问acg.rip的任意RSS链接(例如 https://acg.rip/.xml?term=%E6%B0%B4%E6%98%9F%E7%9A%84%E9%AD%94%E5%A5%B3),打开之后你会看到类似下面这样的xml文件结构:
我们重点关注两个事情,第一个是当前所访问的网址,即 RSS链接本身,这个需要被反代,另一个是 torrent文件链接,一般前者进不去的话,后者也下不下来,因此需要把他的链接重写为使用反代的链接。
由于不同的BT站的具体链接不同,所以你需要修改代码中 84行 开始的这段判断语句:
参考acgrip的RSS的结果,我们添加一个else if条件,修改为:
这样就可以了。
具体用法
注意:这个脚本仅能用来代理RSS和下载链接,并不能用来访问这些网站本身。如果是需要访问蜜柑计划等网站的话,可以参考隔壁autoBangumi的方法
2023-07-20: 由于本人使用的域名提供商跑路,下面的这个示例已经无法使用,各位可以使用下面评论区的大佬们部署的链接,或自行部署
在原来的RSS链接前面加上
https://mikan.noisy01.ml/
举个例子,如果原来的链接是 https://mikanani.me/RSS/Bangumi?bangumiId=681&subgroupid=162,将其替换为 https://mikan.noisy01.ml/https://mikanani.me/RSS/Bangumi?bangumiId=681&subgroupid=162 ,即可正常使用。
目前支持:蜜柑计划,萌番组,acg.rip,dmhy
确认不可用:nyaa(错误429)
这个脚本可以反代任何RSS链接(或者其他静态资源),并且可以专门将这几个下载站的RSS中种子的下载链接修改为使用反代地址的链接。如果你订阅的站点RSS中,下载链接是以磁力链接形式提供的,一般来说也可以使用这个脚本。
由于cloudflare workers免费版每日有10w次请求的限额,因此如果要大量使用的话,建议自己部署:
部署方法
1. 必须为workers准备一个域名(因为他默认的xxx.workers.dev 本身也是被屏蔽的),域名必须是位于你自己的cloudflare账号下的,可以从其他域名平台转移过去,具体请自行搜索一下。搞定之后自己想一个比较好记的二级域名,作为接下来给worker使用的域名,先记下来(以mikan.xxx.com为例)
2.登录 https://dash.cloudflare.com/ ,没有账号的话注册一下。点击右侧Workers,然后直接选择Create Worker。这个时候会打开一个类似文本编辑器的页面,将gist里的代码复制进去,然后把代码中所有的 your.workers.dev 替换为第一步所说的那个域名(以mikan.xxx.com为例)
3.点击 Save and deploy,确认并部署,现在再次点击侧面的workers,网页中间就有刚才部署完成的worker,点进去,选择Triggers(触发器)-> Custom Domains(自定义域)-> add custom Doamin,输入刚刚所说的域名(以mikan.xxx.com为例),然后添加即可。如果显示红色错误提示,说明你的域名还没有转移到cloudflare中,可自行搜索如何转移。
4.现在就可以使用和上面一样的方法来反代蜜柑了。
反代其他RSS
如果你需要反代其他RSS站点,可以模仿
if (url.includes('mikanani.me/RSS')) {
如前文所述,如果你的RSS中,下载链接是以磁力链接的形式提供的,那么一般来说你可以不用做任何修改,直接就能用。但是如果你的RSS中,下载链接是以种子的形式提供的,那么你需要进行如下的修改,以acg.rip为例演示一下(必须自己部署的情况下才可以):
浏览器访问acg.rip的任意RSS链接(例如 https://acg.rip/.xml?term=%E6%B0%B4%E6%98%9F%E7%9A%84%E9%AD%94%E5%A5%B3),打开之后你会看到类似下面这样的xml文件结构:
<item>
<title>[喵萌奶茶屋&LoliHouse] 机动战士高达 水星的魔女 / Mobile Suit Gundam THE WITCH FROM MERCURY - 14 [WebRip 1080p HEVC-10bit AAC][简繁日内封字幕]</title>
<description><img src="https://nekomoe.pages.dev/images/2022-10/w1000/g-witch_1000.png" alt="" /><br /> <br /> <strong>机动战士高达 水星的魔女 / Mobile Suit Gundam THE WITCH FROM MERCURY</strong><br /> <strong>字幕:喵萌奶茶屋</s...</description>
<pubDate>Sun, 16 Apr 2023 15:29:28 -0700</pubDate>
<link>https://acg.rip/t/277700</link>
<guid>https://acg.rip/t/277700</guid>
<enclosure url="https://acg.rip/t/277700.torrent" type="application/x-bittorrent"/>
</item>
我们重点关注两个事情,第一个是当前所访问的网址,即 RSS链接本身,这个需要被反代,另一个是 torrent文件链接,一般前者进不去的话,后者也下不下来,因此需要把他的链接重写为使用反代的链接。
由于不同的BT站的具体链接不同,所以你需要修改代码中 84行 开始的这段判断语句:
// 当访问mikanani.me/RSS的时候,将返回的xml中的mikanani.me替换
if (url.includes('mikanani.me/RSS')) { //链接如果包含这个字段,就进行对应的替换
const response = await fetch(url, fp);
const text = await response.text();
outBody = text.replace(/mikanani.me\/Download\//g, 'your.workers.dev/https://mikanani.me/Download/'); //将RSS返回的内容中的下载链接也替换掉
outCt = response.headers.get('content-type');
outStatus = response.status;
outStatusText = response.statusText;
} else {
outBody = fr.body;
outStatus = fr.status;
outStatusText = fr.statusText;
};
参考acgrip的RSS的结果,我们添加一个else if条件,修改为:
// 当访问mikanani.me/Download的时候,将返回的xml中的mikanani.me替换
if (url.includes('mikanani.me/RSS')) {
const response = await fetch(url, fp);
const text = await response.text();
outBody = text.replace(/mikanani.me\/Download\//g, 'your.workers.dev/https://mikanani.me/Download/');
outCt = response.headers.get('content-type');
outStatus = response.status;
outStatusText = response.statusText;
} else if (url.includes('acg.rip/.xml')) { //当访问acg.rip/.xml的时候,将返回的xml中的acg.rip/t/替换
const response = await fetch(url, fp);
const text = await response.text();
outBody = text.replace(/acg.rip\/t\//g, 'your.workers.dev/https://acg.rip/t/'); //将RSS返回的内容中的下载链接 acg.rip/t/ 替换为 your.workers.dev/https://acg.rip/t/ ,注意使用 \/ 来转义 /
outCt = response.headers.get('content-type');
outStatus = response.status;
outStatusText = response.statusText;
} else {
outBody = fr.body;
outStatus = fr.status;
outStatusText = fr.statusText;
};
这样就可以了。
蜜柑当时过了几天就有可以直连的新域名了(https://mikanime.tv/