使用带密码的私钥
使用带密码的私钥能够确保公私钥文件被窃取后,依然无法使用。
1
2
3
4
5
| # ssh-keygen 命令
$ ssh-keygen -t rsa -f secret-key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): # 输入密码
Enter same passphrase again: # 输入密码
|

使用命令行提示工具 oh-my-zsh
oh my zsh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
$ vim .zshrc
# 我使用的插件
plugins=(
git
docker
zsh-syntax-highlighting
zsh-autosuggestions
zsh-completions
copyfil
e emoji
extract
sudo
)
|
使用更好的替代命令
在Linux命令行下,会经常使用系统命令进行工作,但是内置的命令功能很单一,需要做一些增强,我这里摘取部分配置:
1
2
3
4
5
6
7
8
9
10
11
12
| # https://github.com/AmineZouitine/rmt.rs
# 删除文件备份
alias rm='rmt'
# https://github.com/lsd-rs/lsd
# 查看文件列表高亮
alias ls='lsd'
# 使用pyenv管理Python环境
eval "$(pyenv init -)"
# 这里放一些零散的二进制文件工具
export PATH=$HOME/.local/bin:$PATH
# 这里放一些常用的管理系统的Bash脚本
export PATH=$HOME/scripts:$PATH
|
将后台程序变成服务
后台程序就是那些没有界面,但是需要命令行运行的程序,这类程序我其实不太喜欢将他们单独运行在一个终端中,Linux\Windows\MacOS都有提供创建服务的功能,我这里举例Clash服务的管理:

通过systemctl可以控制Clash服务的启动和暂停,在scripts目录中放置了操作iptables转发规则的脚本:

MacOS可以通过创建,需要创建一个以plist
扩展名的XML文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.clash.myservice</string>
<key>Program</key>
<string>/path/to/your/clash</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
|
将 clash.plist
文件移动到MacOS的LaunchAgents目录中:
1
2
3
4
5
| $ mv clash.plist ~/Library/LaunchAgents/
$ launchctl load ~/Library/LaunchAgents/clash.plist
$ launchctl enable gui/501/clash
$ launchctl stop clash
$ launchctl start clash
|
保持使用浏览器收藏夹的好习惯
大概在去年Chrome翻译服务被ban以后,开始使用Edge,在国内同步相对比较方便,因此做了一下迁移,目前使用起来感觉良好。

使用命令切换Java环境版本
Arch Linux可以通过archlinux-java命令切换Java版本:

Java - ArchWiki

使用DoH/DoT保护DNS隐私
DoH(DNS over HTTPS)是一种安全的DNS协议扩展,它通过使用HTTPS协议对DNS查询进行加密来保护DNS通信的隐私和安全性。
传统的DNS协议(DNS over UDP/TCP)在传输过程中是明文的,这意味着网络上的任何人都可以查看和截取DNS查询和响应的内容。这可能会导致个人隐私泄露、信息篡改和劫持等问题。
DoH通过将DNS流量封装在加密的HTTPS连接中来解决这些问题。它使用SSL/TLS协议对DNS查询和响应进行加密,确保数据的机密性和完整性。这使得DNS流量看起来和其他HTTPS流量一样,很难被识别和干扰。
由于我的Clash是开机自动启动的,本机的所有DNS流量都会转发到Clash,因此我只需要配置Clash的NameServer即可:

在浏览器(Edge)层面可以直接设置:

手机层面也可以通过导入描述文件:
https://github.com/paulmillr/encrypted-dns

常用Todo工具
有些时候想做一件事情(临时决定),但是当下没有时间,不能让想法只停留在想法上,我会使用Todo类的工具进行记录,iPhone/MacOS上都有一个名字叫“提醒”的软件,能够实现设备同步,但最早我是使用Microsoft To Do.

使用Z-library收集书籍

在学习比较体系的知识的时候,我往往会先搜索相关书籍,然后将书籍的电子版保存下来。Z-library是全球最大的线上图书馆了,陆陆续续我的书单也丰富了起来:
