Deploy A Wordpress Site on Docker
Table of Contents
1. Docker 部署
利用这个 docker-compose.yml 可以搭建一个本地 20080 端口的 wordpress 服务。
在 OpenWRT 上设置 DDNS
Table of Contents
1. DDNS 原理
家用路由器或设备定期向 DDNS 服务商发送并更新设备当前 IP 地址,并和指定域名进行绑定。在进行域名解析时, DDNS 服务器会自动解析出当前 IP ,将访问者引向设置的 IP 地址。
2. Cloudflare API 测试
- 不推荐使用 Cloudflare 的 global key ,最好创建仅限于修改指定域名的专用 token
如何使用独立的 org-roam 目录
在使用 Emacs 的 org-roam 时,有可能有需求使用独立的 org-roam 目录(例如区分生活和工作的 org-roam 文件),这样每个 org-roam 目录下的数据库不会大到处理时速度很慢。
Sing-box 实现透明代理原理
Table of Contents
1. 透明代理
透明代理(Transparent Proxy)是一种特殊类型的代理服务器,它可以在客户端不做任何配置的情况下,自动将流量转发到代理服务器进行处理。 相比普通代理需要在每个客户端进行配置,透明代理降低了管理和部署成本。
2. TUN/TAP
TUN/TAP 是一种虚拟网络内核设备,可以实现在用户空间和内核网络站之间传输 IP 数据包。 用户空间打开并注册 TUN/TAP 设备后,可以想 TUN/TAP 设备写入和读取数据报包。 TUN 数据包经内核协议栈处理并路由出主机, TAP 数据包直接在主机网桥进行处理转发。不良林的视频里用可视化方式将 TUN/TAP 代理1讲得更清楚。
3. 主路由表和策略路由表
默认情况下,所有的路由规则都存储在主路由表中,策略路由表是除主路由表之外的其他路由表。 数据包能否被策略路由表处理,取决于路由策略的设置: 内核在路由数据包时,首先检查是否存在路由策略 (routing policy) , 如果存在策略,内核会根据该策略规则,指定使用哪个策略路由表; 如果不存在路由策略,则使用主路由表254 。 在策略路由表中查找路由,如果找到匹配项就路由出去,如果策略路由表中没有匹配项,则回溯到主路由表254查找。
4. Wireguard
WireGuard 和 TUN/TAP 设备有着密切的关系,它在用户空间实现了 WireGuard 协议栈和加密算法,使用了操作系统提供的 TUN 设备。 WireGuard 通过 TUN 设备与内核网络栈交互,将需要加密的出站 IP 数据包从内核获取,并将加密后的入站 IP 包注入内核。 TUN 设备为 WireGuard 提供了一个便捷的接口,使得在用户空间运行的 WireGuard 进程能够方便地访问和操作内核网络协议栈, TUN 设备让 WireGuard 实现 VPN 成为可能。
5. Summary
sing-box 如何截获所有系统流量呢?实际上 sing-box 也创建了 TUN 设备,通过策略路由表截获用户空间的 IP 数据包。
Footnotes:
在 NanoPi 上实现透明代理
1. 接入设备
将 NanoPi 的 LAN 口接上电脑的 WAN 口,然后确认网卡分配好地址,打开 192.168.6.1 并登录。
I Am What I Am
Advices for Time Management
时间管理的十点建议:
Use PlantUML on Emacs
Table of Contents
1. Authentication Sequence
MacOS 中使用 Rime 输入法
1. 在 Linux/MacOS 上同时使用 fcitx-rime 和 emacs-rime
在 Linux 上同时使用 fcitx-rime 和 emacs-rime 的重要一点是可以使用两者的词库进行共享,这样可以利用词库共享获得更好的输入体验(当然其实结合 rime-ice 已经可以获得很好地体验了)。