Self Hosted Bitwarden + Cloudfare HTTPS

配置

bitwarden_rs 是一个用于本地搭建 Bitwarden 服务器的第三方开源 Docker 项目,目前bitwarden_rs 已经更名为 vaultwarden。

Docker 启动实例:首次启动允许注册,注册完自己的帐号之后禁用新帐号注册:

docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e WEBSOCKET_ENABLED=true \
-v $(pwd)/vw-data/:/data/ \
-p 8080:80 -p 9090:3012 \
vaultwarden/server:latest

启动之后只有 HTTP 的话,桌面客户端能连接使用,但手机客户端必须使用 HTTP。这里介绍使用 cloudfare 配置 HTTPS。在 cloudfare 切换到 SSL/TLS 下找到“源服务器”然后创建证书(可以使用自己的私钥和CSR或者由 cloudfare 生成)。

Debian NFS Server 以及 MacOS Client

Server Side

安装必要依赖:

apt install nfs-kernel-server nfs-common

编辑配置文件: vi /etc/exports

/media/share *(ro,sync,no_root_squash,no_subtree_check,insecure)
字段
/media/share要共享的目录
*指定可访问的IP,*表示全部来源特定网段:192.168.123.0/24特定IP:192.168.123.2
rw / ro读写
sync / async文件同步写入到内存与硬盘中 / 文件会先暂存于内存中
root_squash / no_root_squash- 当NFS客户端以root用户身份访问时,映射为NFS服务器的nfs nobody用户- 当NFS客户端以root身份访问时,映射为NFS服务器的root用户
subtree_check / no_subtree_check是否强制检查父目录权限
secure / insecure是否允许客户端从大于1024的tcp/ip端口连接服务器(Finder出现“找不到服务器“的错误可以设置为insecure
anonuidanongid将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户和用户组

每次修改完 exportfs 文件,都需要应用并导出分享:exportfs -ra

AdguardHome 和 Clash 透明代理配合使用

image-20210417112325830

配置

我的方案如上图是 Adguard 作为 Clash 的上游 DNS。然后将路由的 DHCP 配置的 DNS 服务器改为 Clash 的 DNS 地址即可。

首先启动 Adguard:

docker run -d \
--name adguard \
--restart unless-stopped \
--log-opt max-size=1m \
-v /root/adguard/work:/opt/adguardhome/work \
-v /root/adguard/conf:/opt/adguardhome/conf \
-p 5656:53/tcp \
-p 5656:53/udp \
-p 3000:3000 \
-p 3001:80 \
adguard/adguardhome

然后 Clash 配置入口 DNS 为 5353 端口,然后设置 nameserver 上游 DNS 为 Adguard 地址。

dns:
  enable: true
  listen: "0.0.0.0:5353"
  ipv6: false
  nameserver:
    - "127.0.0.1:5656"

然后使用 iptables 将 53 端口流量转发到实际的 5353 端口:

使用 Kind 部署 Prow 手记

Prow 是 Kubernetes 使用的云原生 CI/CD 系统(https://github.com/kubernetes/test-infra/tree/master/prow),用于管理 Kubernetes 的 Issue 和 PullRequest 以支持开源协同。Prow 通过 GitHub 事件触发 job,通过处理事件状态实现自动化的 ChatOps。

实验环境:

Linux VM-16-11-debian 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux Docker Version 20.10.1

Install kubectl

# 下载 kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
# 下载 kubectl.sha256
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
# 校验
echo "$(<kubectl.sha256) kubectl" | sha256sum --check
# sudo 安装
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

或者用户安装

BackBlaze B2 + Cloudfare Worker 图床

虽然国内的 OSS 存储速度快,且资费便宜,但基本上都取消了测试域名,绑定自定义域名需要域名已备案。 第三方的图床则迁移麻烦。BackBlaze B2 在大厂的对象存储里面是非常便宜的,且有一定的免费额度,加上与 Cloudfare 都在带宽联盟内,他们之间并不会消耗流量,所以用来做图床是个非常好的选择。