Compare commits

..

56 Commits

Author SHA1 Message Date
29918ac866 update wps302 worker url 2025-11-12 21:47:50 +08:00
336386d8d0 Update README 2025-11-10 10:49:26 +08:00
512b7b29ea 将获取 git releases 独立出托管到 Github 2025-11-10 10:46:29 +08:00
348f431f0e update apt-ftparchive release 2025-11-09 22:43:15 +08:00
d87ed92313 refactor: list page 2025-11-07 00:06:42 +08:00
e23a8d7b5b style: update 2025-11-06 15:31:49 +08:00
d35b529623 add eudic 2025-11-04 15:17:41 +08:00
02819b059c add remotedesktopmanager repo 2025-11-03 20:33:46 +08:00
f48875195e fix: 修正 Packages 字段提取 2025-11-03 20:33:41 +08:00
7859b53c05 add wezterm repo 2025-11-03 20:33:33 +08:00
c70a16716b fix: 修改 Packages 分割方式 2025-11-03 20:33:24 +08:00
eaa8612e46 fix splayer 2025-10-25 19:21:36 +08:00
438c5b13e2 fix winboat: remove nonexistent arm64 2025-10-15 10:59:36 +08:00
9ba888d117 add freedownloadmanager repo 2025-10-15 10:36:00 +08:00
a79e12567b fix spotify-client 2025-10-15 10:33:07 +08:00
fbe96f5d1c update mihomo 2025-10-15 10:29:22 +08:00
493206345a fix sunloginclient 2025-10-15 10:28:50 +08:00
dcf20c7d73 style: update merge-apt-repo.py 2025-10-11 17:04:44 +08:00
a0b6e71f9a add yesplaymusic 2025-10-11 17:04:44 +08:00
9f0e777b8c update wps-office description 2025-10-11 17:04:44 +08:00
244baa9b43 revert: remove debiancn repo, restore wps-office 2025-10-11 17:04:44 +08:00
dd20b9d61b add simplenote 2025-10-06 18:31:08 +08:00
b22e44a5f2 add fooyin 2025-10-06 18:31:08 +08:00
ad69be984e add spotify-client repo 2025-10-06 18:31:06 +08:00
6f78561e7a add anydesk repo 2025-10-06 18:59:39 +08:00
a1de16fe6d add chrome-remote-desktop repo 2025-10-06 18:59:33 +08:00
bb904cfe61 add winboat 2025-09-29 18:30:08 +08:00
831672957a update splayer 2025-09-27 20:12:51 +08:00
3ce949af99 update qqmusic 2025-09-27 20:12:50 +08:00
f8ad5d523a refactor: save packages info to file 2025-09-27 20:12:50 +08:00
611e165f5d fix: limit the number of parameters 2025-09-27 20:12:50 +08:00
14d95b7492 add mqttx 2025-09-27 20:12:50 +08:00
89ef8d2602 update linuxqq 2025-09-20 22:10:07 +08:00
09e615e123 add kali-undercover 2025-06-26 10:54:03 +08:00
e2828ab4fa add tinyrdm 2025-06-26 10:46:05 +08:00
5e8559b1c8 add spark-store 2025-06-26 10:43:32 +08:00
51a7d954e6 feat: Support for Git hosting sites like Github 2025-06-26 10:40:31 +08:00
251b5233c5 update bytedance-feishu-stable 2025-06-11 19:34:51 +08:00
5c7c12e93e add splayer 2025-05-22 00:37:48 +08:00
868091a502 add joplin 2025-05-22 00:37:33 +08:00
c420ab12b9 chore: add Dockerfile 2025-05-14 18:45:06 +08:00
015dfbd099 refactor: use apt_pkg replace dpkg for version comparison 2025-05-14 00:42:05 +08:00
60588bd38e add neovide, himalaya repo; remove black-desk repo 2025-05-09 12:12:14 +08:00
de9fae4414 add arm64 version of flclash 2025-05-01 10:18:35 +08:00
91f098d89f refactor: change repo format to official archive 2025-04-14 16:24:51 +08:00
8ee3d3012f feat: add archive packages 2025-04-14 16:16:54 +08:00
ce763130ca add gitea 2025-04-12 18:31:05 +08:00
9ef1dac6c9 add tdappdesktop 2025-04-12 00:30:44 +08:00
375316d7fc update com.alibabainc.dingtalk 2025-04-10 23:17:29 +08:00
ef98dfccb4 docs: update README 2025-04-05 15:17:34 +08:00
ded24d423d add dbeaver-ce 2025-04-05 14:51:43 +08:00
f5d1007bd9 add code-server 2025-04-05 14:47:53 +08:00
14a53edd22 update firefox 2025-04-04 15:48:37 +08:00
62bfab323c update neovim 2025-04-04 15:48:37 +08:00
2643348df9 refactor: github releases, arch name, multithreading
rewrite github downloader and configuration to store version tag in sqlite.
change 'version_tag' to 'releases_tag', 'stripped_version' to 'version'.
add 'all' arch, change 'x86_64' to 'amd64'.
add multithreading for downloader.
rename init_deb.py to init-deb.py
2025-04-04 15:48:37 +08:00
07d25c28c7 feat: add gen-list-html.py 2025-02-22 21:38:11 +08:00
6 changed files with 11 additions and 276 deletions

View File

@ -47,44 +47,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 | ✅ | |
| [Tiny RDM](https://github.com/tiny-craft/tiny-rdm) | tinyrdm | ✅ | |
| [MQTTX](https://github.com/emqx/MQTTX) | mqttx | ✅ | ✅ |
| [SPlayer](https://github.com/imsyy/SPlayer) | splayer | ✅ | |
| [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 功能的代码托管平台。
### 合并自现有官方仓库

View File

@ -21,7 +21,7 @@ logging.basicConfig(
)
def download(url: str, file_path: str) -> bool:
def download(url, file_path) -> bool:
"""Download file using curl with APT User-Agent."""
curl_process = subprocess.run(
["curl", "-H", f"User-Agent: {USER_AGENT}", "-fsLo", file_path, url]
@ -52,7 +52,7 @@ def scan(name, arch, url, file_path) -> bool:
return False
def check_download(name: str, version: str, url: str, arch: str) -> None:
def check_download(name, version, url, arch):
"""Check and handle package download/update."""
logging.info("%s:%s = %s", name, arch, version)

View File

@ -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"
}
}
}

View File

@ -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": {

View File

@ -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="从 <DATA> 读取仓库配置")
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)