-
Notifications
You must be signed in to change notification settings - Fork 48
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
228 additions
and
122 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,84 @@ | ||
{ | ||
"plugins": { | ||
"name": "云电台", | ||
"url": "https://cdn.jsdelivr.net/gh/GuGuMur/MusicFreePlugin-NeteaseRadio@master/dist/plugin.js", | ||
"version": "0.0.1" | ||
} | ||
} | ||
"plugins": [ | ||
{ "name": "bilibili", "url": "http://adad23u.appinstall.life/dist/bilibili/index.js", "version": "0.1.7" }, | ||
{ "name": "QQ", "url": "http://adad23u.appinstall.life/dist/qq/index.js", "version": "0.2.1" }, | ||
{ | ||
"name": "简繁", | ||
"url": "https://gitee.com/ThomasYou/musicfree/raw/master/dist/wy/index.js", | ||
"version": "0.0.6" | ||
}, | ||
{ "name": "网易", "url": "http://adad23u.appinstall.life/dist/netease/index.js", "version": "0.2.1" }, | ||
{ "name": "千千", "url": "http://adad23u.appinstall.life/dist/qianqian/index.js", "version": "0.1.2" }, | ||
{ | ||
"name": "酷我", | ||
"url": "http://adad23u.appinstall.life/dist/kuwo/index.js", | ||
"version": "0.1.6" | ||
}, | ||
{ | ||
"name": "歌词千寻", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/geciqianxun/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ "name": "咪咕", "url": "http://adad23u.appinstall.life/dist/migu/index.js", "version": "0.2.0" }, | ||
{ "name": "酷狗", "url": "http://adad23u.appinstall.life/dist/kugou/index.js", "version": "0.1.4" }, | ||
{ "name": "喜马拉雅", "url": "http://adad23u.appinstall.life/dist/xmly/index.js", "version": "0.1.4" }, | ||
{ "name": "全民K歌", "url": "http://adad23u.appinstall.life/dist/qmkg/index.js", "version": "0.1.0" }, | ||
{ "name": "5sing", "url": "http://adad23u.appinstall.life/dist/5sing/index.js", "version": "0.1.1" }, | ||
{ | ||
"name": "Audiomack", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/audiomack/index.js", | ||
"version": "0.0.2" | ||
}, | ||
{ | ||
"name": "音悦台", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/yinyuetai/index.js", | ||
"version": "0.0.1" | ||
}, | ||
{ | ||
"name": "酷歌词", | ||
"url": "https://gitee.com/ThomasYou/musicfree/raw/master/dist/kugeci.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "歌词网", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/geciwang/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "快手", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/kuaishou/index.js", | ||
"version": "0.0.1" | ||
}, | ||
{ | ||
"name": "Navidrome", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/navidrome/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ "name": "猫耳", "url": "http://adad23u.appinstall.life/dist/maoerfm/index.js", "version": "0.1.3" }, | ||
{ | ||
"name": "suno", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/suno/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "WebDAV", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/webdav/index.js", | ||
"version": "0.0.2" | ||
}, | ||
{ | ||
"name": "udio", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/udio/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "Youtube", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/youtube/index.js", | ||
"version": "0.0.1" | ||
}, | ||
{ | ||
"name": "网易电台", | ||
"url": "https://cdn.jsdelivr.net/gh/GuGuMur/MusicFreePlugin-NeteaseRadio@master/dist/plugin.js", | ||
"version": "0.0.1" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,115 +1 @@ | ||
import json | ||
import requests | ||
|
||
# from packaging import version | ||
|
||
DEBUG = False | ||
|
||
|
||
# def md5_hash(url): | ||
# """计算字符串的 MD5 散列值""" | ||
# import hashlib | ||
# m = hashlib.md5() | ||
# m.update(url.encode("utf-8")) | ||
# return m.hexdigest() | ||
|
||
|
||
def download_file(url): | ||
"""下载并返回json数据""" | ||
|
||
# # 调试模式 | ||
# if DEBUG: | ||
# import os | ||
|
||
# with open( | ||
# os.path.join("debug", md5_hash(url), "plugins.json"), "r", encoding="utf-8" | ||
# ) as file: | ||
# return json.load(file) | ||
|
||
# 下载文件 | ||
response = requests.get(url) | ||
if response.status_code == 200: | ||
print(f"下载成功,{url}") | ||
return ( | ||
response.json() | ||
) # 正确的方法是使用 response.json() 而不是 response.content.json() | ||
else: | ||
print(f"下载失败,状态码: {response.status_code}") | ||
return {} # 在失败时返回一个空字典,这里应直接返回空字典,不需要调用 .json() | ||
|
||
|
||
# def is_version_smaller(ver_str, target_ver_str): | ||
# try: | ||
# ver = version.parse(ver_str) | ||
# target_ver = version.parse(target_ver_str) | ||
# return ver < target_ver | ||
# except: | ||
# return True | ||
|
||
|
||
def merge_json(json1, json2): | ||
""" | ||
将 json2 的内容覆盖合并到 json1 中 | ||
""" | ||
if isinstance(json1, dict) and isinstance(json2, dict): | ||
for key in json2: | ||
if key in json1: | ||
json1[key] = merge_json(json1[key], json2[key]) | ||
else: | ||
json1[key] = json2[key] | ||
return json1 | ||
elif isinstance(json1, list) and isinstance(json2, list): | ||
# 如果需要合并列表,可以根据具体需求实现 | ||
# 这里简单地将 json2 追加到 json1 后面 | ||
json1.extend(json2) | ||
return json1 | ||
else: | ||
return json2 | ||
|
||
|
||
def main(): | ||
"""主函数""" | ||
# 读取 JSON 文件 | ||
with open("subscriptions.json", "r", encoding="utf-8") as file: | ||
data = json.load(file) | ||
subscriptions = data["subscriptions"] | ||
|
||
subsData = [] | ||
# 遍历每个 URL | ||
for url in subscriptions: | ||
subsData.append(download_file(url)) | ||
|
||
subsData.append({}) | ||
|
||
pluginsDataRaw = [] | ||
for i in subsData: | ||
if i == {}: | ||
# json 数据为空 | ||
continue | ||
try: | ||
ps = i["plugins"] | ||
except KeyError: | ||
# 返回的 json 数据没有 plugins 订阅列表 | ||
continue | ||
|
||
for p in ps: | ||
pluginsDataRaw.append(p) | ||
|
||
pluginsDataMerged = [] | ||
for i in pluginsDataRaw: | ||
pluginsDataMerged = merge_json(pluginsDataMerged, i) | ||
|
||
# print(pluginsDataMerged) | ||
# with open("extras.json", "r", encoding="utf-8") as file: | ||
# data = json.load(file) | ||
# extras = data["extras"] | ||
# for extra in extras: | ||
# pluginsDataMerged.update(extra) | ||
resultData = {"plugins": pluginsDataMerged} | ||
|
||
with open("plugins.json", "w", encoding="utf-8") as file: | ||
json.dump(resultData, file, ensure_ascii=False, indent=2) | ||
|
||
|
||
if __name__ == "__main__": | ||
main() | ||
# 目前手动校正订阅链接,后续将自动更新 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
{ | ||
"plugins": [ | ||
{ | ||
"name": "歌词千寻", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/geciqianxun/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "bilibili", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/bilibili/index.js", | ||
"version": "0.1.15" | ||
}, | ||
{ | ||
"name": "Audiomack", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/audiomack/index.js", | ||
"version": "0.0.2" | ||
}, | ||
{ | ||
"name": "歌词网", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/geciwang/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "快手", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/kuaishou/index.js", | ||
"version": "0.0.1" | ||
}, | ||
{ | ||
"name": "Navidrome", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/navidrome/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "猫耳FM", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/maoerfm/index.js", | ||
"version": "0.1.4" | ||
}, | ||
{ | ||
"name": "suno", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/suno/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "WebDAV", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/webdav/index.js", | ||
"version": "0.0.2" | ||
}, | ||
{ | ||
"name": "udio", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/udio/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "音悦台", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/yinyuetai/index.js", | ||
"version": "0.0.1" | ||
}, | ||
{ | ||
"name": "Youtube", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/youtube/index.js", | ||
"version": "0.0.1" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
{ | ||
"plugins": [ | ||
{ | ||
"name": "bilibili", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/bilibili/index.js", | ||
"version": "0.1.15" | ||
}, | ||
{ | ||
"name": "QQ音乐", | ||
"url": "https://gitee.com/ThomasYou/musicfree/raw/master/dist/qq/index.js", | ||
"version": "0.2.6" | ||
}, | ||
{ | ||
"name": "简繁音乐", | ||
"url": "https://gitee.com/ThomasYou/musicfree/raw/master/dist/wy/index.js", | ||
"version": "0.0.6" | ||
}, | ||
{ | ||
"name": "云音乐", | ||
"url": "http://adad23u.appinstall.life/dist/kuwo/index.js", | ||
"version": "0.1.6" | ||
}, | ||
{ | ||
"name": "咪咕音乐", | ||
"url": "https://gitee.com/ThomasYou/musicfree/raw/master/dist/mg/index.js", | ||
"version": "0.2.2" | ||
}, | ||
{ | ||
"name": "酷狗", | ||
"url": "https://gitee.com/ThomasYou/musicfree/raw/master/dist/kg/index.js", | ||
"version": "0.1.6" | ||
}, | ||
{ | ||
"name": "5sing", | ||
"url": "https://agit.ai/vale_gtt/MSC_API/raw/branch/master/%e7%8c%ab%e5%a4%b4%e7%8c%ab_plugs/5sing/index.js", | ||
"version": "0.1.1" | ||
}, | ||
{ | ||
"name": "Audiomack", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/audiomack/index.js", | ||
"version": "0.0.2" | ||
}, | ||
{ | ||
"name": "音悦台", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/yinyuetai/index.js", | ||
"version": "0.0.1" | ||
}, | ||
{ | ||
"name": "酷歌词", | ||
"url": "https://gitee.com/ThomasYou/musicfree/raw/master/dist/kugeci.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "歌词网", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/geciwang/index.js", | ||
"version": "0.0.0" | ||
}, | ||
{ | ||
"name": "歌词千寻", | ||
"url": "https://gitee.com/maotoumao/MusicFreePlugins/raw/v0.1/dist/geciqianxun/index.js", | ||
"version": "0.0.0" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"plugins": [ | ||
{ "name": "5sing", "url": "http://adad23u.appinstall.life/dist/5sing/index.js", "version": "0.1.1" }, | ||
{ "name": "bilibili", "url": "http://adad23u.appinstall.life/dist/bilibili/index.js", "version": "0.1.7" }, | ||
{ "name": "酷我", "url": "http://adad23u.appinstall.life/dist/kuwo/index.js", "version": "0.1.6" }, | ||
{ "name": "酷狗", "url": "http://adad23u.appinstall.life/dist/kugou/index.js", "version": "0.1.4" }, | ||
{ "name": "猫耳FM", "url": "http://adad23u.appinstall.life/dist/maoerfm/index.js", "version": "0.1.3" }, | ||
{ "name": "网易云", "url": "http://adad23u.appinstall.life/dist/netease/index.js", "version": "0.2.1" }, | ||
{ "name": "千千音乐", "url": "http://adad23u.appinstall.life/dist/qianqian/index.js", "version": "0.1.2" }, | ||
{ "name": "咪咕", "url": "http://adad23u.appinstall.life/dist/migu/index.js", "version": "0.2.0" }, | ||
{ "name": "喜马拉雅", "url": "http://adad23u.appinstall.life/dist/xmly/index.js", "version": "0.1.4" }, | ||
{ "name": "全民K歌", "url": "http://adad23u.appinstall.life/dist/qmkg/index.js", "version": "0.1.0" }, | ||
{ "name": "QQ音乐", "url": "http://adad23u.appinstall.life/dist/qq/index.js", "version": "0.2.1" } | ||
] | ||
} |