项目 Telegram 公告频道:https://t.me/LoonKissSurge
这个项目的缘由是因为我在发现依赖于 Surge 本身的运行环境来进行 Loon 插件的转换时的连接情况较差,此时我选择尝试将这种高负载的工作转移到托管服务器,籍此降低 Surge 的负载来提高效能。在我尝试中我发现很多时候 Script-Hub 的运行是重复的,插件(仅针对我常用的去广告和工具类插件而言)的维护周期是较长的,但是Script-Hub本身的产品设计就决定了我们只能进行一次又一次徒劳的转换,所以我想尝试把常用的那些插件集合起来降低这些徒劳转换的资源浪费。
根据我自己的实践,我使用Surge很多的实际需求就是去广告,所以我选择根据目前维护最好、最全的 @iKelee 大佬的Loon 仓库作为我的转换目标,在 PR 实现 Script-Hub 的 Docker 版本支持和自动构建推送以后,便顺理成章的根据 Github Action 完成了这个项目的目标,这也是我起名为 LoonKissSurge 的原因。
但是出于多方面原因,这项目本身我曾经一度考虑删除,因为他提供的转换支持在一定程度上给某些开发者带来了麻烦,尤其是版权和遵守原分发要求方面是很难做到完全合规的,最后我也要感谢 @xream 一佬以及各位在开源世界给 Surge 环境资源做出贡献的前辈开发者们的精神让这项目走向了更大的目标。
目前项目开源的代码仅包括 自构建 surge.qingr.moe 的TS代码,这些代码感谢 @Sukka 大佬无私的奉献提供了我所参考的源头,顾依照原许可证开源并保留原许可证分发。另外一点说来惭愧,我承诺更改为自有 CSS 样式已经许久,但是因为个人时间安排未能实际动笔,如果有这方面大佬愿意提供 CSS 的 PR 我十分感激。对于自动同步上游的代码出于多方面考虑我撤销了开源实现,这些原因非常多样化请恕我向想要了解他的朋友致歉,但是我可以透露 Script-Hub 是其基石,请允许我在此对 @xream 佬在此表达感谢,如果您愿意更近一步获取实现细节可以提供您可以参与维护的承诺后获取源代码。
做这些事情的初心:
Life is a two-way street
请我自己不要成为一只'吸取帮助的吸血鬼(help vampire)'
1、如果您了解了基本的 Surge 使用知识以后,便可以很快速的上手本项目:只需打开 项目网站 然后点击 Surge 图标即可作为远程模块添加到 Surge 中,无需任何前置支持即可食用。
2、如果您了解大部分使用知识并且阅读了 Surge 手册以及 理解 Surge 以后,一种更为推荐的办法是点击 Script-Hub 图标作为本地模块导入 Surge ,这给您修改一部分过时或者欠缺维护的部分提供了更多的可能,当然他需要一定的知识基础和必要的辅助工具来完成(本地模块 需配合 Scriptable + Script Hub 的 Surge 模块工具)。
3、寻找本模块的上游,在服务器自部署您私人的 Script-Hub 然后使用您趁手的方式来食用这些模块,本方法适合理解 Surge 底层原理和诸多特性的高级使用者,为您提供更及时和更自如的食用感受。
Beta 文件夹其下模块提供了最新 Surge 特性的支持,此后该文件夹下文件将在转换时优先满足 Surge 最新功能,目前满足的订阅功能为 JQ 修改支持。
对于维护中的正常模块,他们将不会开启破坏性的订阅功能支持(指的是例如 Pre-match 在不支持的版本被过滤的特性会添加,但是 JQ 重写支持这种导致未订阅 Surge 便不可使用的不会被添加),这些 Beta 组专属测试属性将在半年后合并到主维护模块区,这意味着对于这些订阅功能支持您有半年空窗期可以考虑来择机维持 Surge 的订阅。
目前目录结构: MAIN 分支 └─ Surge └─ Official └─ Beta
1、什么是不受欢迎的行为?
本仓库并不旨对于任何人发动攻击,但是这个问题的前置是为了解决相当一部分的社区资源损耗,一个简单而深刻,且不可否认的事实是确保你的与技术上使用有关的反馈包含对他人来说有用的细节和信息。通过社区(包括各种Surge交流群和其官方社区)分享你的思考,同样地分享你遇到的问题(Failures)。在你的帖子中对应地发表“别在意,我已经修复了它了”、或因类似的原因而删除你自己的帖子,对于社区来说,不仅是自私的、无益的,而且完全是浪费资源和每个人的时间。 同样的,要求帮助、或显示出对于得到帮助的急切也不应该在这里出现。Surge 的大部分技术指导是由社区的志愿者提供的,您应当阅读完毕所有必须的资料后再来寻求人工帮助。Surge社区强烈建议用户去搜索、作出努力、在帖子中反馈、帮助他人、参与其中并为社区作贡献。(以上参考 Arch 一般准则)
我们尤其不欢迎您直接“无法使用”、“我怎么用不了”等诸如此类的无用信息反馈,您应当携带日志信息、版本信息、模块信息等诸多可以使得他人复现或者定位的信息来取得有效的社区协助,否则这种浪费社区资源的行为我们会采取其他措施,请您知悉并理解您购买的 Surge 不包括社区的任何必须的支持服务,志愿者的工作应当受到尊重,初学者的问题我们无限建议您去搜索、作出努力后再来反馈,您对于 Surge 的软件使用问题应当寻求 support@nssurge.com 的回复。
另外本仓库坚决反对任何在境内平台以所谓“去除广告破解会员”等噱头鼓动他人使用网络工具的行为,您任何在境内平台宣传本项目以及其中插件的行为是被坚决抵制的,您在境内平台发表的任何宣传您负有中国大陆法权冶域的无限责任,本仓库作为开源参考实现项目存在,不旨在对于其中任何的网络操作造成的后果作为目标,您应当遵守您所在地区的法规。
如本仓库发现中国大陆地区平台宣传本项目情况较多,会随时选择删库而无预告。
2、 为什么要参考本仓库实现而不是直接寻求上游?
本仓库作为参考实现的收集项目,您依赖原始上游是正确且被视作最佳实践的选择,本项目作为收集项目而存在,满足创建者个人需求而设立。
3、 为什么不重新整理分类,官方模块都不存在一个固定的文件夹?
本仓库尊重原始作者的著作权,此处作为二次分发分流,不会尝试修改原始仓库的模块信息,只会尝试尽量接触上游作者提供实现上的一些反馈。
4、我可以保存并且在其他处公开分发本仓库的插件吗?
仓库只对 build.ts
实现具有从上游 Fork 以后再根据相同开源许可分发的权利,我们不对 Surge 文件夹内任何模块具有著作权声明,敬请尊重原作者,按照原作者要求分发。
5、我不希望你收集我的模块,请删除?
抱歉,您可以通过 TG 联系我,也可以在仓库内发表 issue 我会第一时间删除您的模块,在此深表歉意。