adjust docs, add homepage

This commit is contained in:
wcbing 2024-09-12 10:28:37 +08:00
parent 4cf0b09d1f
commit 0415388b99
5 changed files with 43 additions and 43 deletions

5
.gitignore vendored
View File

@ -1,3 +1,4 @@
get/module/__pycache__/
deb/
*/module/__pycache__/
deb/*
!deb/index.html
deb.db

View File

@ -21,7 +21,7 @@ echo "deb [signed-by=/etc/apt/keyrings/wcbing.gpg] https://packages.wcbing.top/d
## 现有软件
可在 [这里](https://packages.wcbing.top/deb/status.txt) 查看具体版本。
可在 [这里](https://packages.wcbing.top/deb/version.txt) 查看具体版本。
|软件名|包名|渠道|架构|
|-|-|-|-|
@ -47,42 +47,6 @@ echo "deb [signed-by=/etc/apt/keyrings/wcbing.gpg] https://packages.wcbing.top/d
|Mozilla Firefox|firefox<br />firefox_beta<br />firefox_devedition<br />firefox_esr<br />firefox_nightly<br />|官方仓库|x86_64|
## 自仓库
## 自建仓库
### 建立仓库
1. clone 本仓库,进入仓库目录。
2. 确认系统安装有 `Requests` Python 库Debian 系应该自带。
2. 运行 `init_deb.py` 初始化。
默认只新建 x86_64需要其他架构请修改其中的SQL语句。
3. 创建一个**无密码**的 GPG 密钥对,导出 GPG 公钥文件待用。
4. 创建定时任务,定时运行 `update_gen.sh`
crontab 样例0 11,15,19 * * * cd [THIS_DIR] && ./update_gen.sh > ./deb/status.txt
### 发布与使用
这个仓库使用了[扁平仓库格式Flat Repository Format](https://wiki.debian.org/DebianRepository/Format#Flat_Repository_Format)。建立好后使用 Web 服务器将 `deb` 目录暴露出去即可。
使用时可参考前面已有的配置先将第3部提到的 GPG 公钥导入,再新建软件源配置文件。
实际使用中官网提供的下载链接一般是 CDN 链接,为提升下载速度,减轻自建源压力,建议将这些请求重定向到官网上。而国内下载 Github 上的文件时比较慢,仍然从自建源下载。
nginx 配置参考:
```nginx
server {
server_name packages.wcbing.top;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset 'utf-8';
location ~ ^/deb/https:/github.com {
root /packages;
}
location ~ ^/deb/https:/(.+)$ {
return 302 https://$1;
}
location / {
root /packages;
}
}
```
[参见 Wiki](https://github.com/wcbing/wcbing-apt-repo/wiki/self-hosting)

32
deb/index.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<meta name="color-scheme" content="light dark">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>wcbing 的 APT 软件源</title>
<style>
body {
text-align: center;
}
a {
color: #4096ff;
text-decoration: none;
}
</style>
</head>
<body>
<h1>wcbing 的 APT 软件源</h1>
<a href="https://github.com/wcbing/wcbing-apt-repo">项目地址</a><br />
<a href="./version.txt">查看包版本信息</a><a href="./Packages">所有信息</a><br />
<a href="./status.txt">查看状态日志</a><br />
<h2>用法</h2>
<p>sudo curl -o /etc/apt/keyrings/wcbing.gpg https://packages.wcbing.top/wcbing.gpg<br />
echo "deb [signed-by=/etc/apt/keyrings/wcbing.gpg] https://packages.wcbing.top/deb /" | sudo tee
/etc/apt/sources.list.d/wcbing.list</p>
</body>
</html>

View File

@ -4,6 +4,7 @@ import os
import sqlite3
# create dir
if not os.path.exists("deb"):
os.mkdir("deb")
# create table

View File

@ -13,8 +13,10 @@ cd ..
find merge_latest -maxdepth 1 -type f -name "*.py" -exec python3 {} \;
python3 merge_all/merge_all.py
# generate the Release file
cd deb
# list brief information about packages
cat Packages | grep "Package\|Version\|Architecture\|^\$" > version.txt
# generate the Release file
apt-ftparchive release . > Release
gpg --yes --armor --detach-sign --sign -o Release.gpg Release
gpg --yes --clearsign -o InRelease Release