“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
mitmproxy
mitmproxy — 一个开源的中间人代理工具,让你能拦截、查看和修改HTTP/HTTPS流量,调试API和抓包利器。
如果你写过前端、调过后端,或者跟第三方API打过架,你大概率遇到过这种场景:浏览器里一切正常,但线上就是报错;App发了个请求,你完全不知道它带了什么参数;或者你想看看某个网站到底在偷偷上传什么数据。这时候你就需要一个能“偷看”网络流量的工具。
市面上抓包工具不少,Fiddler、Charles、Wireshark……但它们要么收费,要么界面老旧,要么只能在特定系统上跑。而我今天要聊的 mitmproxy,是个完全不一样的存在——它是个纯命令行的中间人代理,跨平台、免费、可编程,而且一旦你习惯了它的操作方式,你会觉得其他工具都太“重”了。
这个工具到底能干什么?
简单说,mitmproxy 就是把你电脑变成一个“中间人”。你让设备的网络流量先经过它,它就可以解密、查看、修改甚至重放这些流量。它最擅长的事:
- 调试API:你发一个请求,它能告诉你完整的请求头、请求体、响应内容,精确到每个字节。
- 移动端抓包:把手机代理设到电脑上,App的所有HTTPS请求一览无余。
- 模拟后端返回:开发时后端还没写好?用mitmproxy把特定接口的响应改成你要的假数据。
- 安全测试:检查HTTPS证书是否正确、有没有中间人攻击漏洞。
- 自动化脚本:用Python写个脚本,自动拦截并修改流量,比如批量替换图片URL、自动添加请求头。
最爽的是,它不像Charles那样需要破解,也不像Fiddler那样只能在Windows上跑。终端党、Vim党、喜欢管道的同志们,mitmproxy就是为你们设计的。
下载与安装
先去官网看一眼:
mitmproxy 官网
安装方式取决于你的操作系统,我推荐最省心的方式:
macOS
brew install mitmproxy
Homebrew一键搞定,它会自动把mitmproxy、mitmweb、mitmdump三个命令都装好。
Windows
建议用Chocolatey或者直接下载exe安装包:
choco install mitmproxy
或者去GitHub Releases下载最新版的Windows安装包。
Linux(Ubuntu/Debian)
sudo apt install mitmproxy
如果源里版本太旧,用pip装最新版:
pip install mitmproxy
验证安装
打开终端,输入:
mitmproxy --version
看到版本号就说明装好了。
基础使用教程
第一步:启动代理
mitmproxy 有三种启动方式,对应不同场景:
mitmproxy:纯终端交互界面,最强大,适合熟悉键盘操作的人。mitmweb:启动一个Web界面,用浏览器操作,适合新手。mitmdump:纯命令行,不启动界面,适合写脚本自动处理。
先试最简单的 mitmweb:
mitmweb
浏览器会自动打开一个页面,地址是 http://127.0.0.1:8081。同时mitmproxy会在本机8080端口启动代理服务。
第二步:配置系统代理
要让流量经过mitmproxy,你需要把系统的HTTP/HTTPS代理指向 127.0.0.1:8080。
macOS:系统偏好设置 → 网络 → 高级 → 代理 → 勾选“网页代理(HTTP)”和“安全网页代理(HTTPS)”,地址填127.0.0.1,端口8080。
Windows:设置 → 网络和Internet → 代理 → 手动设置代理 → 开启“使用代理服务器”,地址127.0.0.1,端口8080。
Linux:在终端里临时设置:
export http_proxy=http://127.0.0.1:8080
export https_proxy=http://127.0.0.1:8080
设置好后,打开浏览器随便访问一个网站(比如baidu.com)。你会立刻在mitmweb界面上看到一堆请求冒出来。
第三步:安装HTTPS证书
你会发现HTTPS网站都报“不安全”或者“证书错误”。这是因为mitmproxy需要安装它的根证书,让系统信任它这个“中间人”。
- 先确保代理已设置,浏览器访问
http://mitm.it - 页面会自动检测你的系统,点击对应平台的证书下载按钮
- 下载后双击安装,选择“信任此证书”
macOS:安装后去“钥匙串访问”找到mitmproxy证书,双击→“信任”→“始终信任”。
Windows:安装时选择“受信任的根证书颁发机构”。
移动端:手机设代理后,同样访问 http://mitm.it,下载安装证书。Android 7以上需要额外操作(把证书装到系统证书目录),iOS需要去“设置→通用→关于本机→证书信任设置”里开启信任。
装完证书再刷新页面,HTTPS请求就能正常显示了。
第四步:基本操作
在mitmweb界面里,你能看到所有流经的请求。点击任意一条,右边会显示详情:Request(请求头、请求体)、Response(响应头、响应体)。你可以:
- 暂停/修改请求:点击“Edit”按钮,修改请求参数或请求头,然后点“Replay”重新发送。
- 拦截响应:在设置里开启“拦截”,可以拦截特定URL的响应,手动修改后再放行。
- 保存流量:点击“Save”导出为har格式,方便后续分析。
如果你用的是终端版的 mitmproxy,操作更酷——全键盘操作,按 ? 看帮助,按 q 退出,按 j/k 上下移动,按 Enter 查看详情,按 e 编辑当前条目。
进阶技巧
1. 用脚本自动修改流量
这是mitmproxy最强大的地方。写一个Python脚本,比如把某个接口的返回值改成你想要的数据:
# redirect_response.py
from mitmproxy import http
def request(flow: http.HTTPFlow) -> None:
# 如果请求的是某个API
if "api.example.com/data" in flow.request.pretty_url:
# 直接返回假数据
flow.response = http.Response.make(
200,
b'{"status": "ok", "data": "hacked!"}',
{"Content-Type": "application/json"}
)
启动时带上脚本:
mitmproxy -s redirect_response.py
从此所有匹配的请求都会被你的假数据拦截。后端还没写好?没问题,前端先跑起来。
2. 录制并重放流量
用mitmdump录制所有流量到文件:
mitmdump -w traffic.flow
之后用 mitmproxy 或 mitmdump 重放:
mitmdump -nC traffic.flow
这在做压力测试或者复现bug时特别有用。
3. 配合浏览器使用
如果你只想代理特定浏览器(比如Chrome),而不影响系统其他应用,可以启动Chrome时指定代理:
google-chrome --proxy-server=http://127.0.0.1:8080
这样只有这个浏览器走mitmproxy,系统其他软件不受影响。
4. 过滤请求
在mitmweb的搜索框里写过滤表达式,比如:
~u api:只显示URL包含"api"的请求~m POST:只显示POST请求!~u .js:排除所有JavaScript文件
这些过滤规则在终端的 mitmproxy 里同样有效。
写在最后
mitmproxy 是我用过最顺手的抓包工具,没有之一。它不占内存、不弹广告、不收费,而且因为可编程,能做的事情远超传统GUI工具。唯一的学习成本是:你需要适应键盘操作和命令行思维。但一旦跨过这个门槛,你会觉得其他工具都太“重”了。
如果你还在用Fiddler或者Charles,不妨试试mitmproxy。从 mitmweb 开始,慢慢过渡到 mitmproxy 终端版,你会打开新世界的大门。
最后提醒一句:抓包工具请用在合法场景,不要窥探他人隐私,不要用于非法破解。技术无罪,但使用技术的人要有底线。