Cheatsheet

记一笔 paperless-ngx

其实想搭一套 paperless-ngx 已经挺久的了, 趁着四月底休假的时候搞了一动。

我们经常会有一些各式各样的 PDF 文档,例如和各种供应商、公司之间签署的文件、账单, 以及参加一些学术会议时留下的幻灯、资料等等。比较自然的办法就是创建不同的文件夹来分门别类地保存。 然而,简单地用文件系统来保存这些文件有这样一些问题:

阅读全文…( 本文约 1781 字,阅读大致需要 4 分钟 )

备忘:如何知道 USPS PO Box 续费的价格

| Life | #Cheatsheet | #USPS | #PO Box | #Finance | #作弊条

周三的时候,USPS发来了一封电子邮件,内容如下:

阅读全文…( 本文约 1003 字,阅读大致需要 3 分钟 )

带 DNSSEC 的域名转移

DNSSEC 是一组针对 DNS 协议的扩展,其主要目的是为数据的权威性(或者说DNS数据确实来自于有权发布这些数据的人) 提供一套验证机制。DNSSEC并不改善私密性,所有的查询依然是明文的。

目前最新的 DNSSEC 最佳实践指南是 BCP 237 (RFC 9364)。 值得说明的是,如果没有特别的需要,使用 DNS 服务业者的 DNSSEC 实现可以避免踩很多的坑, 尽管这样一来安全方面就完全要仰赖这些业者了, 但对普通的域名所有这来说这些服务要比他们自己去架设和管理要可靠不少。 本文并不打算深入介绍 DNSSEC 及其部署,而只是关注于在进行域名转移时需要注意的问题, 以备我个人未来进行参考。

阅读全文…( 本文约 2082 字,阅读大致需要 5 分钟 )

Google Domain 域名转让备忘

这里记录一下过程备忘。

我在 2011 年注册了一个比较技术宅的 .org 的域名,但一直没有实际投入使用, 最近宏观经济形势不太好,所以索性把不用的域名出一批来减少持续的花销, 周四终于出现了一位愿意接手的朋友,于是我们找时间做了一次域名转让的操作。

阅读全文…( 本文约 823 字,阅读大致需要 2 分钟 )

作弊条:SSH 的 ProxyJump 跳板服务

问题

有些环境中,SSH 服务器可能无法从 Internet 直接访问(例如,SSH 服务器可能使用的是一个私有 IP 地址,或是 Internet 服务提供商没有提供 IPv6 服务,而 SSH 服务器只提供 IPv6 服务)。

考虑到 SSH 已经进行了相互认证(连接时客户端会验证服务器的公钥是否与已知公钥,例如 ~/.ssh/known_hosts, 或是通过 DNSsec 发布的 SSHFP RR 匹配;服务器端则会验证用户是否能证明自己拥有与授权公钥对应的私钥), 因此比较常见的解决方法便是使用 VPN、在防火墙上穿孔,或是使用代理服务器。

由于 SSH 自身也提供了许多转发功能,因此如果中间的跳板服务器也提供 SSH 服务, 便可以使用这些跳转服务器直接作为代理服务器来用。与前面那些传统方法相比, 这样做的优点是避免了安装额外的软件,也不需要特别指定端口。

阅读全文…( 本文约 1412 字,阅读大致需要 3 分钟 )

作弊条: ldapmodify 删除项目属性

| Cheatsheets | #作弊条 | #Cheatsheet | #openldap | #LDAP | #ldif

随便记一笔,备忘。

形如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
dn: mail=foo@somedomain.org,ou=somedomain.org,ou=org,ou=MailAccounts,dc=somehost
mail: foo@somedomain.org
accountstatus: alias
sn: Foo
cn: Foo account at somedomain.org
objectClass: postfixAlias
objectClass: person
maildrop: delphij@delphij.net
maildrop: someone@example.org
maildrop: someoneelse@example.edu
maildrop: anotherperson@somewhere.com

这样一个项目,希望把后三项删掉。

阅读全文…( 本文约 330 字,阅读大致需要 1 分钟 )

本地 git 的 partial clone

partial clone 是 git 的一项旨在减少空间和网络带宽占用的特性。 它会跳过下载那些可能不会用到的 git 对象,而是仅仅在需要时才去下载。对于网络延迟较低且带宽不愁的用户来说, 这样做往往会节省掉不少不必要的磁盘空间占用,而代价是可能失去离线访问的能力。除此之外,有些操作, 例如 git blame 或者 git log -p 很可能会需要与服务器交互,从而会变得略慢一些。

比较有用的场景是在使用某些历史比较久,或是对文件整体替换较多,而大部分情况下只关注最新版本的代码库。 与较早的 --depth 1 相比,partial clone的优点在于想要访问历史时仍然可以像正常的clone一样访问。

阅读全文…( 本文约 783 字,阅读大致需要 2 分钟 )

如何:禁止 mate-panel 用鼠标中键关闭窗口

就纯作弊条地记一笔,原软件是 GPL 授权的,并不想去补。

ThinkPad 的触摸板有3个按钮,分别对应鼠标的左中右三键。由于中键位置的原因,在按左或右键的时候很容易不小心碰到。

另一方面,在 MATE 的任务栏上按中键的对应行为是关闭窗口,我不知道这个主意是谁想出来的, 不过基本上 *nix 系统上各种奇怪且不一致的设定是一种常态了。不过,在被这么搞了两次关掉了不该关的窗口之后, 这个问题成功地引起了我的注意。

搜索了一圈,发现人们竟然建议就直接把鼠标中键在 Xorg 里面彻底禁用,这算什么解决方法……

阅读全文…( 本文约 386 字,阅读大致需要 1 分钟 )

作弊条:几个不太常用的git库管操作

| Development | #作弊条 | #cheatsheet | #git

配合 svn 使用 git 时可能会遇到许多问题,例如两个人分别做了 git svn clone,然后希望合并到同一个 git 库中。如何做合并呢?假定两个库分别是 old, new,将这两个库对应的分支和对应的源分支 (svn/*) 通过 .git/config 分别复制到不同的分支名字下面,例如 svn/releng/8.2 和 old-svn/releng/8.2。假定需要合并的分支是 old/my8.2,则做以下操作:

阅读全文…( 本文约 470 字,阅读大致需要 1 分钟 )

作弊条:如何远程启用/上面的SoftUpdates

说明:这个实际上是一个workaround,不过我暂时没时间修这个bug。这是一个作弊条,主要目的在于解决这一特定问题而非阐述其背后的原理和最佳实践。

阅读全文…( 本文约 414 字,阅读大致需要 1 分钟 )