“写笔记”支持四种格式——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)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
Caddy
Caddy — 一个自动HTTPS的轻量级Web服务器,零配置即可上线。
提到Web服务器,很多人第一反应是Nginx或Apache。这两个老牌工具确实强大,但配置起来也够折腾——写Location、配SSL证书、处理反向代理规则,一套下来没个半小时搞不定。尤其是HTTPS,Let’s Encrypt虽然免费,但手动续期、验证域名所有权这些操作,对新手来说简直是劝退神器。
所以我今天要安利的这个工具——Caddy,就是来终结这些痛苦的。
Caddy最核心的卖点就四个字:自动HTTPS。你只要告诉它“我要托管这个域名”,它就会自动申请Let’s Encrypt证书,自动续期,甚至自动把HTTP重定向到HTTPS。整个过程用户完全无感知。而且它默认就启用了HTTP/2和HTTP/3,性能上完全不虚Nginx。
另外,Caddy的配置文件语法极其简洁,用的是Caddyfile,而不是Nginx那种块状嵌套结构。举个例子,你想反向代理一个Node.js应用:
example.com {
reverse_proxy localhost:3000
}
就三行,搞定。没有upstream块,没有proxy_pass,没有ssl_certificate。Caddy会自动为example.com申请证书,然后把请求转发到本地的3000端口。
如果你觉得这还不够直观,Caddy还有一个API模式,可以通过JSON直接配置,适合Kubernetes或者Docker环境。当然,对于大多数人来说,Caddyfile已经够香了。
下载方式
Caddy的下载非常友好,官方提供了预编译的二进制文件,支持Windows、macOS、Linux,甚至还有ARM架构(树莓派用户狂喜)。你可以直接去官网下载:
如果你喜欢用包管理器,也可以一键安装:
- macOS:
brew install caddy - Linux (Ubuntu/Debian):
sudo apt install caddy(但可能版本较旧,建议用官方源) - Docker:
docker pull caddy:latest
我个人推荐直接下载二进制文件,因为Caddy本身就是一个单文件,丢到/usr/local/bin里就能跑,完全零依赖。
安装方法
安装过程简单到离谱。以Linux为例:
- 下载对应系统的二进制文件(比如
caddy_linux_amd64.tar.gz) - 解压:
tar -xzf caddy_linux_amd64.tar.gz - 移动到PATH:
sudo mv caddy /usr/local/bin/ - 验证安装:
caddy version
搞定。没有编译,没有依赖,没有环境变量配置。Windows用户更简单,解压后双击caddy.exe就能运行。
基础使用教程
1. 快速启动一个静态文件服务器
假设你有一个网站目录/var/www/mysite,想临时托管它:
caddy file-server --root /var/www/mysite --listen :8080
然后访问http://localhost:8080,就能看到你的网站。当然,这不是生产环境,但用来本地测试或者局域网分享文件非常方便。
2. 用Caddyfile配置反向代理
创建一个名为Caddyfile的文件(注意没有扩展名),内容如下:
myapi.example.com {
reverse_proxy /api/* localhost:3000
reverse_proxy /static/* localhost:4000
}
然后运行:
caddy run
Caddy会自动监听80和443端口,为myapi.example.com申请证书,并把不同路径的请求转发到不同后端。注意:如果你的域名还没有DNS解析,Caddy会报错无法验证域名所有权,所以请先确保域名指向了你的服务器IP。
3. 搭配Docker使用
这是生产环境最常用的方式。创建一个docker-compose.yml:
version: '3'
services:
caddy:
image: caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./data:/data
- ./config:/config
然后docker-compose up -d即可。Caddy会把证书和配置数据持久化到./data目录,重启后不会丢失。
进阶技巧
1. 使用环境变量动态配置
Caddyfile支持环境变量,比如:
{$DOMAIN} {
reverse_proxy {$BACKEND_HOST}:{$BACKEND_PORT}
}
启动时通过-e或--env传递变量,非常适合多环境部署。
2. 自定义错误页面
你想让404页面更友好?加一行:
example.com {
errors {
404 /404.html
500 /500.html
}
file_server
}
Caddy会自动匹配错误码并返回对应页面。
3. 启用日志和访问控制
生产环境一定要记录访问日志:
example.com {
log {
output file /var/log/caddy/access.log
format json
}
@blocked {
path /admin/* 192.168.1.0/24
}
respond @blocked "Forbidden" 403
}
这里用@blocked定义了一个匹配规则,如果来自内网IP访问/admin路径,直接返回403。
4. 使用插件扩展功能
Caddy支持插件机制,比如你想用Basic Auth保护某个路径:
example.com {
basicauth /admin/* {
user $2a$14$...(加密后的密码哈希)
}
file_server
}
密码可以用caddy hash-password命令生成,不需要明文存储。
5. 结合Cloudflare DNS挑战
如果你的服务器在NAT后面,或者不想暴露80端口,可以用DNS挑战来申请证书。在Caddyfile里加上:
{
acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}
这样Caddy会通过Cloudflare的API验证域名所有权,完全不需要开放端口。
总结
Caddy不是要取代Nginx,而是给那些不想在配置上浪费时间的人一个更优雅的选择。它把HTTPS、反向代理、负载均衡这些常用功能做成了“开箱即用”的体验。尤其是个人项目、小型团队、或者需要快速上线的场景,Caddy绝对能让你少掉一半头发。
如果你还在手动配Nginx的SSL证书,不妨试试Caddy,可能用一次就回不去了。