frp
本页由项目自动归档生成,源码与最新进展以 GitHub 仓库为准。
项目简介
一个个人部署 / 运维工具箱仓库,围绕 frp 内网穿透与 Nginx 反代,把家宽内网的 NAS、Ollama、Hexo 博客等服务统一暴露到公网,并附带的 Hexo 博客自动发布流水线与「哆啦工具袋」Web 工具集。它面向需要在无固定公网 IP 环境下对外可达内网服务、并沉淀可复用运维配置的开发者。
技术栈
| 维度 | 技术 |
|---|---|
| 主要语言/框架 | Shell(运维脚本)、Node.js / JavaScript(hexo-publish.js、toolbox-web/server.js、add-more-tag.js)、Nginx 配置、TOML(frp v0.5x 配置) |
| 关键依赖/库 | frp v0.67.0(frps / frpc 二进制)、OpenResty / Nginx、fswatch(Hexo 自动发布监听)、Hexo(静态博客生成) |
| 数据存储 | 无数据库;Hexo 静态产物(website/public)、toolbox-web/data/ 本地数据、Nginx 本地托管 |
| 运行/部署方式 | 服务端(CentOS / OpenCloudOS)跑 frps + OpenResty;客户端(macOS)跑 frpc;Nginx 做 HTTPS 终止与子域名反代;hexo-fswatch.sh + fswatch 监听 Hexo 源文件自动发布 |
核心功能 / 亮点
- frp 内网穿透(
frpc.toml/frps.toml/subdomain-setup.md):按子域名分发多个服务入口;另含frpc.ali.toml说明自建与云厂商服务端并存。 - Nginx 反代与 HTTPS 终止(
nginx.conf的include conf.d/*.conf、local-nginx.conf、ollama-proxy.conf):conf.d/下www/myllm/movie/music/siyuan/toolbox等子域名虚拟主机;ollama-proxy.conf在:11435反代本地 Ollama:11434并关闭缓冲以支持流式。 - Hexo 博客自动发布流水线(
hexo-publish.js+hexo-fswatch.sh+install-fswatch.sh+HEXO_PUBLISH_README.md):fswatch 监听文件变化,保存即脱敏并发布到 Hexo 静态博客。 - 「哆啦工具袋」Web 工具集(
toolbox-web/:server.js、index.html、pages/、data/):基于 Node 的轻量工具页。 - 运维文档沉淀(
frp-guide.md安装配置指南、subdomain-setup.md子域名记录、website-plan.md域名 / 目录方案、ai-assistant/ai-assistant-architecture.md架构说明)。 - 辅助小工具(
add-more-tag.js批量给文章加 tag、start-blog.sh/start-minimal.sh启动脚本、website/为 Hexo 站点源码)。
目录结构
1 | frp/ |
相关链接
- GitHub 仓库:frp
补充:一套穿透配置撑起「内网服务对外可达」
这套东西解决的是一个很实际的问题:家宽没有固定公网 IP,但内网跑着 NAS、Ollama、博客这些想在外面访问的服务。
几个组成部分各自的作用:
- frp 客户端/服务端配置(
frpc.toml/frps.toml/subdomain-setup):把内网端口映射出去。用subdomain-setup按子域名分发,一个服务端能给多个服务各开一个入口,不用记一堆端口号。配置文件是 TOML(frp v0.5x 之后的格式,旧版是 ini),另外还有一份frpc.ali.toml,说明服务端不止一套,自建和云厂商并存。 - Nginx 反代(
nginx.conf/local-nginx.conf/ollama-proxy.conf):frp 只管打通链路,HTTP 层的路由、HTTPS 终止、多服务复用 80/443 交给 Nginx。其中ollama-proxy.conf意味着本地跑的大模型也走同一套对外入口。 - Hexo 博客自动发布(
hexo-publish.js+hexo-fswatch.sh):用 fswatch 监听文件变化,一保存就自动触发发布。把「写完 → 上线」从一串手动命令压缩成一次保存,这个自动化本身不复杂,但它决定了我愿不愿意频繁更新博客。 - 「哆啦工具袋」Web 工具集(
toolbox-web/):同一套基础设施上顺手挂的轻量工具页。
这套配置沉淀下来的价值不在某个文件,而在一处内网、多处可达——NAS、本地模型、博客共用同一套穿透和反代规则,新增服务时照抄一份 conf 就行。