mirror of
https://github.com/wcbing/wcbing-apt-repo.git
synced 2025-12-28 18:18:31 +08:00
Compare commits
3 Commits
26ba1d2e52
...
336386d8d0
| Author | SHA1 | Date | |
|---|---|---|---|
| 336386d8d0 | |||
| 512b7b29ea | |||
| 348f431f0e |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,4 +1,6 @@
|
|||||||
data/github-local.json
|
data/github-local.json
|
||||||
data/deb.db
|
data/deb.db
|
||||||
deb/
|
*.deb
|
||||||
|
*Packages
|
||||||
|
*Release*
|
||||||
__pycache__/
|
__pycache__/
|
||||||
63
README.md
63
README.md
@ -1,29 +1,30 @@
|
|||||||
# wcbing APT 软件源/仓库
|
# wcbing APT 软件源/仓库
|
||||||
|
|
||||||
适用于 Debian-based 发行版(Debian/Ubuntu/Mint/...)的 APT 软件源/仓库,收集一些国内常用软件的二进制包。
|
适用于 Debian-based 发行版(Debian/Ubuntu/Mint/...)的 APT 软件源/仓库,收集一些常用软件的二进制包。
|
||||||
|
|
||||||
本仓库仅提供链接重定向功能,致力于在不改动 APT 的情况下实现类似 WinGet、Homebrew Cask 等仅提供仓库索引的效果。
|
## 特色功能
|
||||||
|
- 本仓库仅提供链接重定向功能,在不改动 APT 的情况下实现了类似 WinGet、Homebrew Cask 等仅提供仓库索引的效果,确保了来源的安全可靠并规避了分发二进制文件可能导致的版权风险。
|
||||||
|
- 添加国内常用软件,更适合中国用户使用。
|
||||||
|
- 支持 AppStream(实验性),可以与你喜欢的图形软件商店(如 GNOME Software、KDE Plasma Discover)结合使用。
|
||||||
|
|
||||||
|
|
||||||
## 使用现有仓库
|
## 使用仓库
|
||||||
|
|
||||||
请于[现有仓库实例](https://packages.wcbing.top/deb/)查看使用方法。
|
请点击 [现有仓库实例](https://packages.wcbing.top/deb/) 查看,里面有使用方法和[仓库内容列表](https://packages.wcbing.top/deb/list/)。
|
||||||
|
|
||||||
|
|
||||||
## 收录的软件说明
|
## 收录的软件说明
|
||||||
- 现主要服务 x86_64 用户,同时实验性支持 arm64。
|
- 现主要服务 x86_64 用户,同时实验性支持 arm64。
|
||||||
如有需要请参考最后一节自行建立仓库。
|
如有需要请参考最后一节自行建立仓库。
|
||||||
- 主要收录官方打包发布的文件,不接受第三方自行打包的商业软件。
|
- 非开源、商业软件只收录官方打包发布的文件,不接受第三方自行打包的。
|
||||||
- 有固定的更新地址,如官网、官方仓库或 Github Releases。
|
- 有固定的更新地址,如官网、官方仓库或 Github Releases。
|
||||||
- 不收录打包的 wine 应用、Android 应用。
|
- 不收录打包的 wine 应用、Android 应用。
|
||||||
- 不收录图标、主题、字体等包,以后可能单独建一个相关仓库。
|
- 不收录图标、主题、字体等包,这些单独建一个相关仓库。
|
||||||
|
|
||||||
|
|
||||||
## 已收录软件
|
## 部分已收录软件
|
||||||
|
|
||||||
> 部分应用长时间不更新,可能不会如下面一样编写脚本,最终请以 apt 查询到的为准。
|
### 部分自行收集软件
|
||||||
|
|
||||||
### 自行收集
|
|
||||||
|
|
||||||
| 软件名 | 包名 | amd64 | arm64 |
|
| 软件名 | 包名 | amd64 | arm64 |
|
||||||
| ----- | ---- | ----- | ----- |
|
| ----- | ---- | ----- | ----- |
|
||||||
@ -46,47 +47,13 @@
|
|||||||
| [欧路词典](https://www.eudic.net/v4/en/app/download) | eudic | ✅ | |
|
| [欧路词典](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),其和本部分内容是同源的。
|
详细请看:[Git Releases to APT Repo](https://github.com/wcbing-build/git-releases-to-apt-repo)
|
||||||
|
一个将 Git Releases 转换为 APT 仓库的 repo,适用于各种有兼容 Github Releases 功能的代码托管平台。
|
||||||
| 软件名 | 包名 | 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 | ✅ | ✅ |
|
|
||||||
|
|
||||||
|
|
||||||
### 合并自现有 repo
|
### 合并自现有官方仓库
|
||||||
|
|
||||||
| 软件仓库 | 包名 | amd64 | arm64 |
|
| 软件仓库 | 包名 | amd64 | arm64 |
|
||||||
| ------ | ---- | ----- | ----- |
|
| ------ | ---- | ----- | ----- |
|
||||||
|
|||||||
174
data/github.json
174
data/github.json
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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": {
|
"google-chrome": {
|
||||||
"repo": "https://dl.google.com/linux/chrome/deb/",
|
"repo": "https://dl.google.com/linux/chrome/deb/",
|
||||||
"path": {
|
"path": {
|
||||||
|
|||||||
9
deb/dists/wcbing/apt-ftparchive.conf
Normal file
9
deb/dists/wcbing/apt-ftparchive.conf
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
APT::FTPArchive::Release {
|
||||||
|
Origin "wcbing APT Repo";
|
||||||
|
Label "wcbing APT Repo";
|
||||||
|
Suite "wcbing";
|
||||||
|
Codename "wcbing";
|
||||||
|
Architectures "amd64 arm64";
|
||||||
|
Components "main";
|
||||||
|
Description "wcbing APT Repo || wcbing 的 APT 仓库";
|
||||||
|
}
|
||||||
@ -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)
|
|
||||||
9
run.sh
9
run.sh
@ -12,13 +12,6 @@ cat $(find packages -name "*.package") > deb/tmpPackages
|
|||||||
|
|
||||||
# generate the Release file
|
# generate the Release file
|
||||||
cd deb/dists/wcbing && \
|
cd deb/dists/wcbing && \
|
||||||
echo 'Origin: wcbing APT Repo
|
apt-ftparchive release -c apt-ftparchive.conf . > Release && \
|
||||||
Label: wcbing
|
|
||||||
Suite: wcbing
|
|
||||||
Codename: wcbing
|
|
||||||
Architectures: amd64 arm64
|
|
||||||
Components: main
|
|
||||||
Description: wcbing APT Repo || wcbing 的 APT 仓库' > Release && \
|
|
||||||
apt-ftparchive release . >> Release && \
|
|
||||||
gpg --yes --detach-sign -a -o Release.gpg Release && \
|
gpg --yes --detach-sign -a -o Release.gpg Release && \
|
||||||
gpg --yes --clearsign -o InRelease Release
|
gpg --yes --clearsign -o InRelease Release
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user