#tech39 篇文章
大概会比写 nginx 反代舒服的 Traefik (对于 Docker 服务来说)
用 docker 的话 你基本上装完就不用碰 traefik 的配置
FFW 群友如是说。
屏幕锁定失效的我,把 PAM 看了一遍(systemd 你丫!)
Those who trust systemd… will eventually have their underpants sold to them.
- Icenowy Zheng, 2016,记录于 aosc.io
Linux 上的透明代理:这次是 nftables、cgroups v2 和 systemd.slice
透明代理是本站著名冷饭了。nftables 支持 cgroups v2 也算大事,那就把这饭再炒一次。
用 Cloudflare Tunnel 进行内网穿透
Cloudflare Tunnel (即原来的 Argo Tunnel) 免费啦!支持转发的服务也很多,包括 HTTP(会转换为 HTTPS 服务)、TCP、直接返回一个 HTTP 状态、测试页 (--hello-world
),甚至跳板机(--bastion
)。
但是官方文档不太好用,于是我们来写一点 tl;dr 吧。
首先,下载 cloudflared。
新增对 Webmention 的支持
Re:Linked 及本站使用的 Saas 主题均已新增对 Webmention/Pingback 的初步支持。除此之外,workers-webmention-server 亦可用于在 Cloudflare Workers 上建立自有 Webmention 服务器。
利用 cgroup 在一台服务器方便地使用多公网 IP
在有些案例下(多数是类似爬虫的需求),用户会需要使用一台被分配多个公网 IP 的设备。本文提供一种利用 systemd 和 cgroups v2 方便地同时使用多个公网 IP 作为出口的方法。
本文使用 AWS 的 EC2 和 Ubuntu 18.04 作为样例。
借助 PulseAudio 在 Telegram 进行音乐广播
Telegram 更新了语音聊天功能,然而中文 TG 用户大多是不会真的用 TG 语音聊天的。那就用它来做音乐/广播串流吧。
(注:码率只有不到 50kbps,全损音质可能)
接入 dn42 及 NeoNetwork
LibreHouse 建立以来的第一件大事——接入 dn42(还有 NeoNetwork),经过五个月的努力来,终于有了一定的成果。
BTW,欢迎来 peer :-)
systemd.slice + iptables + redir:如何在 Arch Linux 上配置透明代理
:::note{info}
:::
嘛,又是久违了的技术教程文。这次说的是如何使用 redir (shadowsocks 也好,clash 也好)在 Arch Linux 设备上配置透明代理,以及方便地运行绕过代理的程序。因为要动 iptables,我就假设想这么做的你拥有 root 权限啦。
以下仅针对 IPv4 环境下的 TCP。
我在 Mastodon 的这两年
难得的「宅在家就是给社会做贡献」的时候,当然要多做点事情。春节之前写了篇 IPFS 相关的文章(这儿),然后又在某 wiki 上写了篇剧情简介(Diff,顺便说一下我还是很粉 Eriri 的),那么春节之后就写一点自己的体验好了。那说到近两年来我自己印象比较深刻的东西,果然就是 Mastodon 了。
面向 IPFS 的文章平台
经常有人想做去中心化的文章平台,有的是想借区块链的东风,有的则是因为对文章的消失感到担忧(估计主要是中国大陆用户)。Steemit 是一个例子,它把文章放在区块链上,同时通过数字货币来激励创作者;Matters 是另一个例子,它把文章副本放在 IPFS 上,同时也通过数字货币来激励创作者;瞬 Metataki 是今天看到的第三个例子,它也把文章副本放在 IPFS 上(自称),同时也通过数字货币来激励创作者(这点我可能说得不准确)。
Cloudflare 的 API token 怎么用
在过去,Cloudflare 的相关 API 都需要通过 Email
+ Global API key
的方式进行验证。所谓 Global API key,一个账户自然只有一个,并且拥有所有权限。这种一刀切的权限管理不符合最小权限原则。如果把它保存在每个使用它的服务器上,一旦其中一台服务器被骇,整个 Cloudflare 账户上所有站点的配置都有被篡改的风险。
幸运的是,在今年八月末,Cloudflare 终于有了 API token 功能。用户可以通过 API token 细化授权粒度,只给予操作所需要的权限,以增强系统的整体安全性。
Vue.js + TypeScript 脚手架套装用法介绍
本文以一个 To-do list 项目(又是这个…)介绍如何使用 Vue.js + TypeScript + Sass + Webpack 套装。
回到 Arch Linux
Manjaro -> Arch Linux 转职成功。这回大概会长期使用了。
最重要的一点:各位不要因为 phoenixlzx 在 X1 Carbon 上装 Arch Linux 的时候表示「Everything works out of box」就觉得 Lenovo/Realtek/NVIDIA 对 Linux 的支持已经真的友好了。
不存在的。
使用 Glava 在桌面上显示音乐频谱!
本文受 Manjaro [en] 群组 Yunindyo Prabowo (@ypraw) 的桌面启发而写。
一切都来自 Manjaro [en] 「周五晒桌面」活动的这条消息。真的太炫了啦。
说说「双因素认证」(2FA)
「双因素认证」(2-Factor Authentication,也常被称作「两步验证」,下文略作 2FA)这个主题一直都保持着一定的热度。这其实是一个很好的让账户变得更安全的方式,不过它仍然没有得到广泛地应用^1,甚至将近一半的人完全没听说过它^1。
关于左 Alt 被 keyboard-configuration 过滤掉的事
在一次偶然的 Ubuntu 软件包更新时,我被要求对 keyboard-configuration
进行配置。当时不太了解配置的具体内容,遂把软件包名记了下来以便回滚更改。
一段时间之内都是平安无事,直到我发现我的键盘上左 Alt 不好用了。具体表现是 Ubuntu 对我的左 Alt 完全不回应。我以为键盘坏了,所幸的是在 Windows 下的测试中左 Alt 并没有问题。当时我就想到了那个配置。
“要修改重要数据的 API 不要用 GET”,0-RTT 说
更正:有副作用的操作本来就不该用 GET。
TLS 1.3 是一个很棒的东西。0-RTT 也是一个很棒的特性。不过有一点小小的问题:
你的 Project 中有没有什么需要修改重要数据的 API (例如支付)是 GET 方式提交的?
关于 canvas 被拉伸的问题
通常 canvas 被拉伸都是因为这个:
canvas的默认大小是300(宽)x150(高)。如果通过 CSS 或者 canvas.style.height
等的样式属性调节 canvas,它不是直接改变画布大小,而是 拉伸画布,之后画的内容会被一并拉伸。
所以把这玩意用 CSS 调成正方形之后画的正方形是个长方形……