核心功能
Intranet 是一款基于 Python 3 的轻量级本地 HTTP 文件服务器,定位为 Apache/nginx 的极简替代品。它无需系统级权限,通过命令行即可在数秒内启动服务,默认监听 127.0.0.1:8080,适合开发者快速共享本地文件或搭建微型 API 服务。
核心用法
- 静态文件服务:将文件放入
{workspace}/intranet/www/即可通过 HTTP 访问,目录结构自动映射为 URL 路径 - 插件系统:通过
config.json将外部目录挂载到 URL 前缀(如/banker、/deliveries),支持静态挂载或带 CGI 认证的动态挂载 - CGI 动态执行:启用后可执行
index.py作为 CGI 入口,实现轻量级后端逻辑(Python 脚本需可执行权限)
显著优点
1. 零依赖部署:仅需 Python 3 标准库,无需安装额外软件包
2. 配置驱动:config.json 集中管理插件、认证、CGI 开关,支持 token 鉴权与 host 白名单
3. 安全隔离:配置文件置于 webroot 之外,默认关闭 CGI,插件需显式注册且可绑定 SHA-256 哈希校验
4. 灵活网络:默认仅本地访问,可通过 --host 0.0.0.0 开放 LAN,配合 token 实现安全的内网共享
潜在局限
- 单进程架构:无多 worker 支持,高并发场景性能受限
- CGI 仅支持 Python:其他语言脚本无法直接执行
- 无 HTTPS 原生支持:需配合反向代理实现加密传输
- 非生产级:定位为开发与测试工具,不建议直接暴露公网
适合人群
- 前端开发者快速预览本地构建产物
- 后端开发者搭建微型 API 或 webhook 接收端
- 需要在内网临时共享文件但无系统权限的用户
- 希望以最小开销运行 CGI 脚本的自动化场景
常规风险
- CGI 启用后执行风险:
index.py获得完整 Python 执行环境,恶意脚本可访问本地文件系统 - Token 泄露:若使用
--token且开放 LAN,token 可能被嗅探或暴力破解 - 路径遍历:虽实现了目录隔离与符号链接校验,但自定义插件目录配置错误可能导致越权访问
- LAN 暴露误配:
--host 0.0.0.0配合弱 token 或无allowed_hosts限制时,内网服务可能被未授权访问