0%

安装完 Linux 系统后的第一步就是换软件源,OpenTUNA 已于 2023 年 12 月 20 日起停运,清华大学开源软件镜像站 的 URL 太长,所以产生了做短链接跳转的想法。
Cloudflare Workers 代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
let mirrors = {
'163': 'mirrors.163.com',
'aliyun': 'mirrors.aliyun.com',
'tuna': 'mirrors.tuna.tsinghua.edu.cn',
'ustc': 'mirrors.ustc.edu.cn',
'npm': 'registry.npmmirror.com',
'py': 'pypi.tuna.tsinghua.edu.cn'
};

export default {
async fetch(request) {
const Url = new URL(request.url);
const paths = Url.pathname.split('/');
if (mirrors.hasOwnProperty(paths[1])) {
Url.hostname = mirrors[paths[1]];
Url.pathname = '/' + paths.slice(2).join('/');
} else {
// 随机选一个
// var keys = Object.keys(mirrors);
// Url.hostname = mirrors[keys[Math.floor(Math.random() * keys.length)]];
Url.hostname = mirrors["tuna"];
}


return new Response(null, {
status: 301,
headers: {
'Location': Url.toString(),
},
});
}
};

将 Workers 添加到自定义域,例如 m.foo.bar,在软件源里可以使用这个域名。
例如 Debian 的 apt 源:

1
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

可以写成:

1
2
3
4
# 默认使用 tuna
deb https://m.foo.bar/debian/ bookworm main contrib non-free non-free-firmware
# 如果想强制 163
deb https://m.foo.bar/163/debian/ bookworm main contrib non-free non-free-firmware

写完了才发现已经有大佬做了短链接

1
2
https://z.tuna.dev/
比如说这里还有清华站的短链 https://m.tuna.dev/

之后有空的话,或许可以继续改写这个脚本,比如在重定向前先判断目标镜像站是否有对应的镜像链接,如果没有则切换到另一个。

Proxmox Virtual Environment,简称 PVE,是一个基于 Debian 的服务器虚拟化环境,虚拟化方案是 QEMU/KVM,同时支持 LXC 容器。
此次搭建使用的镜像是:proxmox-ve_8.0-2.iso

PVE 搭建步骤概览:

  • 下载 ISO 镜像,按照步骤安装,选择磁盘,关闭 SWAP,设置 FQDN 和固定 IP
  • 安装完成,使用 https://ip:8006 登录管理界面
  • 修改网络配置,修改 hosts,添加所有节点的 IP 地址
  • 修改软件源,安装更新,安装 Ceph
  • 创建集群,加入集群
  • 配置 ACME 生成 HTTPS 证书(可选)
  • 初始化 Ceph,按照磁盘添加 OSD,为每台主机添加 mon 和 mgr,创建存储池
  • 创建 mds,配置 CephFS
  • 上传系统安装镜像,安装虚拟机,放置磁盘到 Ceph 存储池
  • 配置 HA

下面是详细的操作记录。

阅读全文 »

在多个设备使用同一套代理方案时,如果遇到代理配置需要更新,每一个客户端手动修改会非常麻烦,这种情况下,创建订阅链接是很有必要的。
为了方便更新订阅信息,所以选择使用 Cloudflare Workers 来制作订阅链接。

阅读全文 »

纪念被我弃用的方案。
文中提到的使用方法可能不正确或已过时,脚本也可能有错误,因为仅是回忆,所以也不会再验证可用性。

阅读全文 »

购买了 AWS Lightsail 的 VPS 后,使用了一段时间,发现偶尔会出现 IP 不可访问的情况,参考 AWS 的开发文档,用 Python 写了一个更换 IP 的脚本。
同时参考了 Cloudflare API,在更换了 IP 之后,把域名对应的记录也更新一下。

开始使用脚本之前,需要准备一些必要的信息,以下脚本已提供符合格式的假数据,可参考替换。
将密钥信息明文存储在脚本内是非常危险的行为!

阅读全文 »