“写笔记”支持四种格式——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)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
Nginx Proxy Manager
Nginx Proxy Manager — 用图形界面轻松管理 Nginx 反向代理,告别手写配置的繁琐。
如果你跟我一样,是个喜欢自建服务但又对 Nginx 配置文件感到头疼的人,那 Nginx Proxy Manager(简称 NPM)绝对能让你眼前一亮。它不是一个传统意义上的“面板”,更像是一个贴心的管家——你只需要在网页上点几下,就能搞定域名转发、SSL 证书、访问控制这些操作,完全不用碰那些让人眼花缭乱的 server 块和 location 指令。
这个工具到底能干什么?
简单说,Nginx Proxy Manager 把 Nginx 最核心的反向代理功能包装成了一个 Web 界面。你有一台 VPS 或 NAS,上面跑了几个 Docker 容器(比如 Jellyfin、Nextcloud、Home Assistant),每个服务都占一个端口。以前你要么记端口号,要么手动写 Nginx 配置来绑定域名。现在有了 NPM,你只需要:
- 添加一个代理主机(Proxy Host),填上域名和内部服务的 IP:端口
- 勾选“SSL”选项,自动申请 Let‘s Encrypt 证书
- 保存,生效
整个过程不超过 30 秒。它还支持流式代理(比如 WebSocket)、自定义 404 页面、访问列表(IP 白名单/黑名单)、重定向规则等等。对于家庭服务器玩家、小型团队运维、或者刚接触反向代理的新手来说,这几乎是零门槛的解决方案。
下载方式
NPM 官方推荐通过 Docker 部署,这也是最省心的方式。项目主页在 GitHub 上,但建议直接访问官方文档获取最新版本:
如果你不想用 Docker,官方也提供手动安装脚本,但说实话——Docker 版本最稳,升级也最方便。
安装方法(Docker Compose 版)
假设你已经装好了 Docker 和 Docker Compose。新建一个文件夹,比如 npm,在里面创建 docker-compose.yml:
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # HTTP
- '81:81' # 管理面板端口
- '443:443' # HTTPS
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
注意:管理面板默认跑在 81 端口,所以部署后记得在防火墙放行 80、81、443。然后执行:
docker compose up -d
等镜像拉取完成,打开浏览器访问 http://你的IP:81,首次登录用默认账号:
- 邮箱:
admin@example.com - 密码:
changeme
登录后它会强制你修改密码和邮箱,按提示操作就行。
基础使用教程
1. 添加第一个反向代理
假设你本地有个服务跑在 192.168.1.100:8096(比如 Jellyfin),你想通过 jellyfin.yourdomain.com 访问。
- 在左侧菜单点击 Hosts → Proxy Hosts
- 点右上角 Add Proxy Host
- Domain Names 填
jellyfin.yourdomain.com - Scheme 选
http(如果内部服务支持 HTTPS 就选 https) - Forward Hostname / IP 填
192.168.1.100 - Forward Port 填
8096 - 下面 Cache Assets 和 Block Common Exploits 建议勾上
- 切换到 SSL 标签,勾选 Request a new SSL Certificate
- 填你的邮箱(用于 Let‘s Encrypt 通知),勾选 Force SSL 和 I Agree
- 点 Save
等几秒钟,证书自动签发,你的域名就能通过 HTTPS 安全访问了。
2. 管理 SSL 证书
如果你有多个子域名,最好申请一个泛域名证书(比如 *.yourdomain.com)。在 SSL Certificates 里点 Add SSL Certificate → Let’s Encrypt,填域名 *.yourdomain.com,DNS 验证方式选 DNS Challenge,然后根据你的 DNS 提供商(Cloudflare、阿里云等)配置 API 令牌。这样所有子域名都能共用证书,不用每个单独申请。
3. 设置访问控制
如果某个服务只允许内网或特定 IP 访问,可以在 Access List 里创建规则。比如添加一个白名单,只允许 192.168.1.0/24 和你的家庭公网 IP,然后在代理主机的 Advanced 标签里勾选对应的 Access List。这样外人访问会直接返回 403,比改防火墙规则更灵活。
进阶技巧
1. 自定义 Nginx 配置
NPM 允许你在每个代理主机里插入自定义 Nginx 配置段。比如你需要增加上传文件大小限制,可以在 Advanced 标签的 Custom Nginx Configuration 里写:
client_max_body_size 500M;
或者你需要传递真实客户端 IP 给后端服务:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
这些配置会直接合并到生成的 Nginx 配置里,不会影响其他主机。
2. 使用 Stream 功能转发 TCP/UDP
NPM 不止能做 HTTP 代理,还支持 TCP/UDP 流代理。在 Streams 菜单里,你可以把非 HTTP 协议(比如 SSH、MySQL、RDP)通过域名或端口转发到后端。比如你想让外部通过 ssh.yourdomain.com:2222 连接内网的 22 端口,只需要添加一个 Stream,协议选 TCP,转发到内网 IP:22,然后设置 SSL 证书即可。注意流代理需要 NPM 版本 2.10.0 以上。
3. 配合 Docker 网络
如果你把 NPM 和其他服务放在同一个 Docker 网络里,可以用容器名代替 IP 地址。比如在 docker-compose.yml 里定义网络:
networks:
proxy:
external: true
然后其他服务的 compose 文件也加入这个网络,代理主机里填 容器名:端口 即可。这样即使容器重启 IP 变了,代理也不会断。
4. 批量导入导出
NPM 支持通过 API 管理配置。如果你有几十个代理要迁移,可以调用它的 REST API(默认在 81 端口,路径 /api/)。官方文档有详细的 API 说明,可以用 Python 或 curl 脚本批量导出/导入。对于重度用户来说,这比在界面里一个个点要高效得多。
一些踩坑提醒
- 端口冲突:如果你宿主机上已经跑了 Nginx 或者 Apache,记得先停掉,否则 80/443 端口会被占用。
- 防火墙:部署后如果访问不了管理面板,检查 81 端口是否放行。建议把 81 端口仅绑定到内网 IP(在 docker-compose 里写
127.0.0.1:81:81),然后用 NPM 自己代理管理面板到域名。 - 证书续期:Let‘s Encrypt 证书 90 天过期,NPM 会自动续期,但前提是 80 端口必须能被外部访问(用于 HTTP 验证)。如果你只有 443 端口开放,记得用 DNS Challenge 方式申请证书。
总的来说,Nginx Proxy Manager 是我用过最省心的反向代理工具。它没有复杂的配置,没有晦涩的术语,就像给 Nginx 穿上了一件图形化的外衣。如果你还在为域名转发和 SSL 证书发愁,花 10 分钟装一个,你会发现世界清净多了。