自建下载/API节点
目前,零协会服务器仅有一台位于韩国首尔的阿里云轻量机器,即使在多方面衡量下保证了大多数人的访问需求,也不能保证全部用户都能无阻地使用服务。
因此,在v1.0.0版本工具箱之后,节点就从程序内部写死,变为从工具箱目录/NodeList.json中读取节点信息。如此,就可以通过修改这个json的方式增减节点。
但需要注意,Github直连与Mirror Github由于涉及程序逻辑,是写死在程序中的,无法删除。
本篇教程教学的是,如何在有服务器的情况下提供节点服务。你也可以通过OSS(Object Storage Service,即对象存储)等方式提供下载服务,但请注意,此类服务一般资费较高,并且即使你使用OSS,也需要服务器自动上传模组文件至OSS(如果你觉得手动上传无所谓除外)。
如果你拥有服务器,最常见的做法是,将模组文件放在一个Nginx网站下,对外网公开(可能还需要域名,域名获取方式不再赘述,网上有很多教程),这样就可以通过类似于https://www.xxx.com/files/LimbusLocalize_v0.x.xx.7z等方式下载文件。
同时你也要注意,绝对,禁止,提供修改过的文件,如果有此情况发生,我会在后续版本删除或加严自选节点功能。
如果你仍有不解,欢迎发送邮件至[email protected],有时间我会解答你的疑惑。
自建下载节点
你不仅需要提供模组文件,你还需要准备BepInEx-IL2CPP-x64.7z,tmpchinesefont_BIE.7z你可以从零协会节点站获取这两个文件。模组文件也要遵循一定的格式,例如LimbusLocalize_BIE_v0.6.53.7z,便是LimbusLocalize_BIE_ + 版本号 + .7z。
搭建完成后,便可以修改NodeList.json。打开工具箱目录,打开NodeList.json(推荐使用Visual Studio Code,这样能够提示你的Json语法是否有错误),你将会看到一大堆字儿。比如:
{
"downloadNode": [
{
"name": "Onedrive For Business",
"endpoint": "https://node.zeroasso.top/d/od/",
"isDefault": true
},
{
"name": "Cloudflare CDN",
"endpoint": "https://cf-cdn.zeroasso.top/files/",
"isDefault": false
},
{
"name": "天翼云盘",
"endpoint": "https://node.zeroasso.top/d/tianyi/",
"isDefault": false
},
{
"name": "联通云盘",
"endpoint": "https://node.zeroasso.top/d/unicom/",
"isDefault": false
},
{
"name": "移动云盘",
"endpoint": "https://node.zeroasso.top/d/mobile/",
"isDefault": false
},
{
"name": "电信云盘",
"endpoint": "https://node.zeroasso.top/d/telecom/",
"isDefault": false
}
],
"apiNode": [
{
"name": "零协会官方 API",
"endpoint": "https://api.kr.zeroasso.top/",
"isDefault": true
},
{
"name": "零协会官方 API(Cloudflare CDN)",
"endpoint": "https://cf-cdn.zeroasso.top/api/",
"isDefault": false
}
]
}
我们来分条解析。
name:它会被工具箱放到前端展示。endpoint:下载节点端点。isDefault:当其为true时,会被设置为默认节点。一个NodeList.json中只能有一个默认节点,否则可能会有不明问题。如果要将您的节点设置为默认节点,请先将Onedrive For Business节点的isDefault改为false。
endpoint即端点。你需要确保endpoint+文件名能够被成功下载。
所以,endpoint的格式应该固定为类似于https://xxx.com/files/的格式(后面的/很重要)
你应该确保endpoint+文件名能够成功下载到文件,比如你可以测试https://xxx.com/files/BepInEx-IL2CPP-x64.7z是否能够在浏览器中下载,如果不能,则需要进行调错。
接下来,你就可以往这个Json中加入你的节点。
首先,你需要在downloadNode最后加入类似于这样的结构:
……
{
"name": "电信云盘",
"endpoint": "https://node.zeroasso.top/d/telecom/",
"isDefault": false
},
{
"name": "我的新节点",
"endpoint": "https://my-new.node.site/files/",
"isDefault": false
}
],
"apiNode": [
{
……