Categories
杂项
编程
翻墙
生活
读书
2023
改进了一下 luci-app-natmap,让无公网 IP 访问家中服务器、PT 做种、组网回家等等轻松实现
家庭网络无公网 IPv4 地址异地无感知远程访问家中服务的一个解决方案(NATMap+OpenWrt+Surgio+GitHub Action+Gist+Surge/Stash/Clash)
qBittorent 直连配置方法
2021
一个简单开启 Docker IPv6 的方法
配置 IPv6 TProxy 透明代理
不用修改 URL,轻松管理多个 GitHub 账号的 SSH Keys
使用 Docker 编译 OpenWrt 软件包,以及编译原版 OpenWrt 可使用的 Passwall
自定义一个无需配置即可使用的 OpenWrt 固件
(翻译)Udacity Git Commit Message Style Guide
(翻译) 在 git 的 commit message 里解释 “为什么”
2020
Shadowsocks 实现分析以及如何实现一个代理协议
2018
使用 Gost 创建 SOCKS5-TLS 代理
使用 build configuration 管理环境切换和发布内部测试
2017
关于 weakSelf 和 strongSelf
Xcode 合并冲突后 Discard All Changes 导致代码丢失问题
2016
macOS 计划任务的一些问题
升级 macOS Sierra 后 Vim 和 Tmux 异常的解决办法
什么是 Git 父提交
在 macOS Sierra 上替换 CapsLock 键为 Escape 键
使用 Autolayout 实现动态高度 UITableViewCell
使用 sed 匹配和替换字符串
Jenkins 中 对 Git 日志过滤
UIView 等宽或等高排列
iOS UIView 圆角和加边框方式总结
安装 Jenkins 遇到的那些坑
几个 Autolayout 技巧
持续集成那点事
创建私有 CocoaPods 仓库
RAC 中一个 retain cycle 问题
折腾记:上传图片到微博图床 Alfred Workflow 制作
给 Git 设置 HTTP/SOCKS 代理
使用 JavaScriptCore 实现 JS 和 OC 间的通信
选中 UITableViewCell 及保存选中状态的正确方式
一个 Bug,一件小事
RAC 中的函数式编程 和 链式调用
几个 Xcode 调试技巧
新玩具,Poker 2
理解 Autorelease Pool
反向代理 GitHub Pages,并申请 Let's Encrypt 证书配置 HTTPS
使用 Karabiner 映射快捷键
制作一个查询 IP 的 Alfred Workflow
漫谈 Apple Pay
怎样读一份烂代码
回乡见闻
读《穆斯林的葬礼》有感
我的路由器自动翻墙方案 shadowsocks+dns2socks+pdnsd+dnsmasq
我与贴吧那些事
新的一年,新的博客