【NanoPi R2S旁路网关系列】2. 自定义域名、DDNS、KMS

前言 上一章我们实现了 wireguard 在任意地方安全的访问家庭网络,这章我们将实现自定义域名和 DDNS 动态更新公网 IP 的需求。 自定义域名 内网自定义域名有什么好处: 防止 IP 变更之后的访问难题 想象一下这样一个场景,一开始我内网部署了一个 jellyfin 服务,ip 为192.168.5.132,但某天我的网段变了,我得用192.168.1.132这个 IP 去访问,这时好不容易浏览器记住的密码和所有缓存信息都失效,还有有记错 IP 需要重新查看的烦恼。 有记忆特征 IPv4 是 4 段数字,即使家里网段固定只需要记忆一段的数字,那也是 0-254 共 255 个数字,数字的记忆对人类来说是不如字符来的方便的,jellyfin和132请问你是更喜欢记忆哪一个,虽然自建服务也可以通过搭建dashbord服务如heimdall,但是这样打开网页的效率着实有点低,你需要打开 heimdall 页面,再去点击相应的链接,同样还要维护服务的变更。 签发证书实现 https 有了自定义域名,我只需要修改 nginx 配置,将反代的 IP 变更即可解决以上 2 个问题,同时通过自签名的泛域名证书,我可以通过 https 访问自建服务,https 可以开启一些自建服务的一些功能。 Dnsmasq 配置 openwrt 的 dns 服务基于 dnsmasq,自定义一个内网域名解析我们只需要修改配置即可: vi /etc/config/dhcp config dnsmasq配置下添加 list address 选项 config dnsmasq option domainneeded '1' option localise_queries '1' option rebind_protection '1' option rebind_localhost '1' option local '/lan/' option domain 'lan' option expandhosts '1' option authoritative '1' option readethers '1' option leasefile '/tmp/dhcp....

2023-08-10 · 2 min · 309 words · Linkzz

使用Oracle对象存储作为博客图床(二)

前言 上一章我们已经做到了使用 picgo 上传图片并获得一个可以公开访问的链接,这章介绍如何使用 CloudFlare 代理图片的访问并加上自定义域名,以及录屏转 gif 的方法。 CloudFlare 代理访问 创建一个 Cloudflare Workers,代码如下: export default { async fetch(request, env) { const url = new URL(request.url); const path = url.pathname.replace("/blog/", ""); const originUrl = `${env.OBJECT_STORAGE_BASE_URL}${path}${url.search}`; const res = await fetch(originUrl); return new Response(res.body); }, }; 以上代码功能是将访问的 url 去掉存储桶名称,通过 workers 获取内容并返回给访问者,充当了一个代理的角色,这样我们可以使用自定义的域名来替代甲骨文对象存储的访问域名,以后换了图床供应商也方便切换,因为博客里的链接是不用改的。 部署完之后需要配置环境变量OBJECT_STORAGE_BASE_URL的值为上文的访问地址,一直到/o/处,如: 现在你可以使用 works 提供的域名作为图片前缀访问,也可以自定义域名,该功能只限于你自己的域名是由 CloudFlare 托管解析的才可,如果已经使用 CloudFlare 作为域名解析商,在 works 配置的Custom Domains配置即可,CloudFlare 会自动生成 Https 证书。 配置好之后将picgo的配置文件的urlPrefix改为上面的域名: { "aws-sr3": { "accessKeyID": "{ak}", "secretAccessKey": "{sk}", "bucketName": "blog", "region": "ap-chuncheon-1", "uploadPath": "images/{year}/{month}/{md5}....

2023-08-09 · 1 min · 154 words · Linkzz

【NanoPi R2S旁路网关系列】1. 基础配置、Wireguard

前言 自己现在家中有一台自己组的 All in One 服务器,系统是 PVE,在上面跑了个虚拟机 OpenWRT 承担家里旁路网关的功能,起初用的国内不知道谁编译的版本,后面自己编译了官方 22.05 版本,添加上自己想要的功能一直稳定运行了 2 年,但是 All in One 最大的问题就是宿主机重启,因为最近折腾显卡直通需要不断重启 PVE,这时要是家里领导在打王者掉线了就有的好受了,所以趁着 618(没错 618 到现在才开始折腾)下手了一台 R2S,彻底杜绝家里领导找茬的机会。 需求 基本是目前虚拟机上 OpenWRT 功能的移植: Wireguard 能通过 Wireguard 结合家里的公网 ip 从公司访问家里网络 自定义域名 通过自定义域名和 Nginx 实现域名访问自部署的服务,不用记 ip 和端口,不用维护 dashboard 服务 DDNS 服务 自动更新公网 ip,防止每次拨号之后 Wireguard 失联 KMS 服务 windows 激活 懂的都懂需求 如题,不做展开 R2S 系统安装 下面我们就一步步实现上面的需求,首先是系统的选用,依照官网介绍选择官方自己维护编译的 OpenWRT 发行版,对与 Docker 目前是没有需求的,但为了防止以后有需要的时候还得自己安装,所以我们直接一步到位,选择官方基于 OpenWrt 22.03 构建的带 Docker 的FriendlyWrt 固件 接下来就是烧录固件到 TF 卡,插电开机。 系统配置 插上网线,更改电脑 ip 为192....

2023-08-07 · 4 min · 772 words · Linkzz

使用Oracle对象存储作为博客图床(一)

先看效果: 作为一个专业白嫖党,只使用 Oracle 的 4 个免费鸡怎么能满足呢,拥有 20GB 免费空间的对象存储当然也要利用起来,正好最近又重拾起了鸽了多年的博客,正好作为博客的图床。 前置条件 一个 Oracle Cloud 账号(需要信用卡认证,大陆已经很难申请了) 良好的科学环境 Oracle Object Storage 存储桶准备 进入 Oracle Cloud 对象存储管理界面,创建新的存储桶 默认配置即可,创建完之后编辑可见性,这里可以选择公开或者私有, 公开:所有文件允许读取 私有:可使用预先验证的请求实现部分文件公开(推荐这种方式) 创建预先验证的请求 选择具有前缀的对象,前缀填写images,下文配置 picgo时需要匹配这个前缀,否则会有权限问题,访问类型默认只读即可,到期时间尽量一步到位多配几年。 将 URL 复制保存,这即时存储桶相应前缀目录访问的 BaseURL 上传一个图片试一下能否访问 可以看到由于存储桶的权限设置,使用 URL 路径访问是行不通的 需要替换为刚才创建的预见请求的 URL 前缀 https://objectstorage.ap-chuncheon-1.oraclecloud.com/p/xxx/n/{namespace}/b/blog/o/images/2022-05-23.png 存储桶 Endpoint 甲骨文的对象存储 endpoint 模式为https://{namespace}.compat.objectstorage.{region}.oraclecloud.com/ namespace: 存储桶信息名称空间字段 region: 这个是你甲骨文账号的区域,通常在你的 Oci 的 console 地址里就有体现,如我的春川为ap-chuncheon-1 申请 Oracle 账户 Ak 和 Sk右上角头像,进入“我的概要信息“,”客户密钥“选项”生成密钥“ 同样保存已生成密钥,该密钥为账户的SecretAccessKey AccessKeyID在列表页,同样复制保存 安装配置 Picgo 和 s3 插件 准备工作完成,下面开始配置图床工具。这里有两种选择: 具有 GUI 界面:PicGo Cli 命令行操作:PicGo-Core 上面两种看个人喜好,我比较习惯命令行,所以选择第二种,配置方面都是一样的,区别为是否提供了GUI, 安装 Node 环境 自行按nodejs官网安装...

2023-07-11 · 1 min · 193 words · Linkzz