diff --git a/README.md b/README.md index 93a289d..fd60afd 100644 --- a/README.md +++ b/README.md @@ -46,44 +46,10 @@ | [欧路词典](https://www.eudic.net/v4/en/app/download) | eudic | ✅ | | -### Github Releses +### Git Releses to APT Repo -> 也可投稿至星火商店的 [Github Releases 更新配置仓库](https://gitee.com/spark-building-service/github),其和本部分内容是同源的。 - -| 软件名 | 包名 | amd64 | arm64 | -| ----- | ---- | ----- | ----- | -| [Clash Verge Rev](https://github.com/clash-verge-rev/clash-verge-rev) | clash-verge | ✅ | ✅ | -| [FlClash](https://github.com/chen08209/FlClash) | flclash | ✅ | ✅ | -| [mihomo](https://github.com/MetaCubeX/mihomo) | mihomo | ✅ | ✅ | -| [hugo](https://github.com/gohugoio/hugo) | hugo | ✅ | ✅ | -| [RustDesk](https://github.com/rustdesk/rustdesk) | rustdesk | ✅ | ✅ | -| [Obsidian](https://github.com/obsidianmd/obsidian-releases) | obsidian | ✅ | | -| [Foliate](https://github.com/johnfactotum/foliate) | foliate | ✅ | ✅ | -| [Tabby](https://github.com/Eugeny/tabby) | tabby-terminal | ✅ | ✅ | -| [Pandoc](https://github.com/jgm/pandoc) | pandoc | ✅ | ✅ | -| [LocalSend](https://github.com/localsend/localsend) | localsend | ✅ | ✅ | -| [Motrix](https://github.com/agalwood/Motrix) | motrix | ✅ | ✅ | -| [PeaZip](https://github.com/peazip/PeaZip) | peazip | ✅ | | -| [Neovim/Nvim](https://github.com/neovim/neovim-releases) | neovim | ✅ | | -| [Hiddify](https://github.com/hiddify/hiddify-app) | hiddify | ✅ | | -| [Cloudflare Tunnel](https://github.com/cloudflare/cloudflared) | cloudflared | ✅ | ✅ | -| [Caddy](https://github.com/caddyserver/caddy) | caddy | ✅ | ✅ | -| [code-server](https://github.com/coder/code-server) | code-server | ✅ | ✅ | -| [DBeaver](https://github.com/dbeaver/dbeaver) | dbeaver-ce | ✅ | | -| [Joplin](https://github.com/laurent22/joplin) | joplin | ✅ | | -| [SPlayer](https://github.com/imsyy/SPlayer) | splayer | ✅ | | -| [Tiny RDM](https://github.com/tiny-craft/tiny-rdm) | tinyrdm | ✅ | | -| [MQTTX](https://github.com/emqx/MQTTX) | mqttx | ✅ | ✅ | -| [WinBoat](https://github.com/TibixDev/winboat) | winboat | ✅ | | -| [fooyin](https://github.com/fooyin/fooyin) | fooyin | ✅ | | -| [Simplenote](https://github.com/Automattic/simplenote-electron) | simplenote | ✅ | ✅ | -| [YesPlayMusic](https://github.com/qier222/YesPlayMusic) | yesplaymusic | ✅ | ✅ | - -#### Gitee - -| 软件名 | 包名 | amd64 | arm64 | -| ----- | --- | ----- | ----- | -| [星火应用商店](https://gitee.com/spark-store-project/spark-store) | spark-store | ✅ | ✅ | +详细请看:[Git Releases to APT Repo](https://github.com/wcbing-build/git-releases-to-apt-repo) +一个将 Git Releases 转换为 APT 仓库的 repo,适用于各种有兼容 Github Releases 功能的代码托管平台。 ### 合并自现有 repo diff --git a/data/github.json b/data/github.json deleted file mode 100644 index c3ec6ff..0000000 --- a/data/github.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "clash-verge": { - "repo": "clash-verge-rev/clash-verge-rev", - "file_list": { - "amd64": "Clash.Verge_{version}_amd64.deb", - "arm64": "Clash.Verge_{version}_arm64.deb" - } - }, - "mihomo": { - "repo": "MetaCubeX/mihomo", - "file_list": { - "amd64": "mihomo-linux-amd64-{releases_tag}.deb", - "arm64": "mihomo-linux-arm64-{releases_tag}.deb" - } - }, - "flclash": { - "repo": "chen08209/FlClash", - "file_list": { - "amd64": "FlClash-{version}-linux-amd64.deb", - "arm64": "FlClash-{version}-linux-arm64.deb" - } - }, - "hugo": { - "repo": "gohugoio/hugo", - "file_list": { - "amd64": "hugo_extended_{version}_linux-amd64.deb", - "arm64": "hugo_extended_{version}_linux-arm64.deb" - } - }, - "rustdesk": { - "repo": "rustdesk/rustdesk", - "file_list": { - "amd64": "rustdesk-{releases_tag}-x86_64.deb", - "arm64": "rustdesk-{releases_tag}-aarch64.deb" - } - }, - "obsidian": { - "repo": "obsidianmd/obsidian-releases", - "file_list": { - "amd64": "obsidian_{version}_amd64.deb" - } - }, - "tabby": { - "repo": "Eugeny/tabby", - "file_list": { - "amd64": "tabby-{version}-linux-x64.deb", - "arm64": "tabby-{version}-linux-arm64.deb" - } - }, - "pandoc": { - "repo": "jgm/pandoc", - "file_list": { - "amd64": "pandoc-{releases_tag}-1-amd64.deb", - "arm64": "pandoc-{releases_tag}-1-arm64.deb" - } - }, - "localsend": { - "repo": "localsend/localsend", - "file_list": { - "amd64": "LocalSend-{version}-linux-x86-64.deb", - "arm64": "LocalSend-{version}-linux-arm-64.deb" - } - }, - "peazip": { - "repo": "peazip/PeaZip", - "file_list": { - "amd64": "peazip_{releases_tag}.LINUX.GTK2-1_amd64.deb" - } - }, - "neovim": { - "repo": "neovim/neovim-releases", - "file_list": { - "amd64": "nvim-linux-x86_64.deb" - } - }, - "hiddify": { - "repo": "hiddify/hiddify-app", - "file_list": { - "amd64": "Hiddify-Debian-x64.deb" - } - }, - "cloudflared": { - "repo": "cloudflare/cloudflared", - "file_list": { - "amd64": "cloudflared-linux-amd64.deb", - "arm64": "cloudflared-linux-arm64.deb" - } - }, - "caddy": { - "repo": "caddyserver/caddy", - "file_list": { - "amd64": "caddy_{version}_linux_amd64.deb", - "arm64": "caddy_{version}_linux_arm64.deb" - } - }, - "foliate": { - "repo": "johnfactotum/foliate", - "file_list": { - "all": "foliate_{releases_tag}_all.deb" - } - }, - "code-server": { - "repo": "coder/code-server", - "file_list": { - "amd64": "code-server_{version}_amd64.deb", - "arm64": "code-server_{version}_arm64.deb" - } - }, - "dbeaver-ce": { - "repo": "dbeaver/dbeaver", - "file_list": { - "amd64": "dbeaver-ce_{version}_amd64.deb" - } - }, - "joplin": { - "repo": "laurent22/joplin", - "file_list": { - "amd64": "Joplin-{version}.deb" - } - }, - "spark-store": { - "site": "https://gitee.com", - "repo": "spark-store-project/spark-store", - "file_list": { - "amd64": "spark-store_{releases_tag}_amd64.deb", - "arm64": "spark-store_{releases_tag}_arm64.deb" - } - }, - "tinyrdm": { - "repo": "tiny-craft/tiny-rdm", - "file_list": { - "amd64": "tiny-rdm_{version}_linux_amd64_webkit2_41.deb" - } - }, - "mqttx": { - "repo": "emqx/MQTTX", - "file_list": { - "amd64": "MQTTX_{version}_amd64.deb", - "arm64": "MQTTX_{version}_arm64.deb" - } - }, - "splayer": { - "repo": "imsyy/SPlayer", - "file_list": { - "amd64": "splayer-{version}-amd64.deb" - } - }, - "winboat": { - "repo": "TibixDev/winboat", - "file_list": { - "amd64": "winboat-{version}-amd64.deb" - } - }, - "fooyin": { - "repo": "fooyin/fooyin", - "file_list": { - "amd64": "fooyin_{version}-trixie_amd64.deb" - } - }, - "simplenote": { - "repo": "Automattic/simplenote-electron", - "file_list": { - "amd64": "Simplenote-linux-{version}-amd64.deb", - "arm64": "Simplenote-linux-{version}-arm64.deb" - } - }, - "yesplaymusic": { - "repo": "qier222/YesPlayMusic", - "file_list": { - "amd64": "yesplaymusic_{version}_amd64.deb", - "arm64": "yesplaymusic_{version}_arm64.deb" - } - } -} \ No newline at end of file diff --git a/data/repo_list.json b/data/repo_list.json index 95407aa..1bd604d 100644 --- a/data/repo_list.json +++ b/data/repo_list.json @@ -1,4 +1,10 @@ { + "git-releases": { + "repo": "", + "path": { + "mix": "https://github.com/wcbing-build/git-releases-to-apt-repo/releases/latest/download/Packages" + } + }, "google-chrome": { "repo": "https://dl.google.com/linux/chrome/deb/", "path": { diff --git a/get-github-releases.py b/get-github-releases.py deleted file mode 100755 index a1045c0..0000000 --- a/get-github-releases.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python3 -import argparse -import requests -import json -import os -import re -from concurrent.futures import ThreadPoolExecutor, wait -from check_downloader import check_download - -git_repo_list = {} - -CONFIG = {"data_dir": "data", "proxy": "", "thread": 5} - - -# 读取命令行参数 -def read_args(): - parser = argparse.ArgumentParser() - parser.add_argument("-d", "--data", default="data", help="从 读取仓库配置") - parser.add_argument( - "-p", "--proxy", default="", help="Github 代理" - ) - parser.add_argument( - "-t", "--thread", type=int, default=5, help="并发下载线程数量,默认为 5" - ) - args = parser.parse_args() - CONFIG.update({"data_dir": args.data, "proxy": args.proxy, "thread": args.thread}) - - -if __name__ == "__main__": - read_args() - - # read all repo info 读取所有仓库配置 - with open(os.path.join(CONFIG["data_dir"], "github.json"), "r") as f: - git_repo_list = json.load(f) - - tasks = [] - with ThreadPoolExecutor(max_workers=CONFIG["thread"]) as executor: - for name, repo in git_repo_list.items(): - if "site" in repo: - repo_url = os.path.join(repo["site"], repo['repo']) - else: - # 默认认为是 GitHub 仓库地址,同时使用代理 - repo_url = os.path.join(CONFIG["proxy"], "https://github.com", repo["repo"]) - # get latest releases tag 获取最新版本标签 - location = requests.head(repo_url + "/releases/latest").headers.get("Location", "") - match = re.search(r".*releases/tag/(.*)", location) - if not match: - continue - releases_tag = match.group(1) - version = match.group() if (match := re.search("[0-9][^_]*", releases_tag)) else "" - - - for arch, file_name in repo["file_list"].items(): - release_file = file_name.format( - releases_tag=releases_tag, version=version - ) - file_url = f"{repo_url}/releases/download/{releases_tag}/{release_file}" - # 提交任务到线程池 - tasks.append( - executor.submit(check_download, name, version, file_url, arch) - ) - # 等待所有任务完成 - wait(tasks)