Intranet

🌐 零配置本地HTTP服务器与插件平台

轻量级本地HTTP文件服务器,支持插件挂载与CGI脚本执行,无需Apache/nginx,无需root权限,适合快速搭建内网服务。

收藏
6.4k
安装
2k
版本
3.1.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Intranet 是一个基于 Python3 的轻量级本地 HTTP 文件服务器,定位为传统 Apache/nginx 的极简替代方案。用户无需 root 权限即可快速启动,默认监听 127.0.0.1:8080,通过 {baseDir}/scripts/intranet.py start 即可运行。核心功能包括:静态文件服务(webroot 目录)、插件目录挂载(通过 config.json 配置 URL 前缀)、以及可选的 CGI 脚本执行。

插件系统支持两种配置模式:简单路径挂载(仅静态文件)或扩展配置(带 SHA-256 哈希验证的 CGI)。CGI 功能默认关闭,开启后仅允许名为 index.py 的入口文件执行,且脚本必须设置可执行权限。访问控制方面,支持 --token 参数启用 Bearer Token 认证,以及 allowed_hosts 配置限制 Host 头,LAN 访问需同时满足两者。

显著优点

1. 零依赖部署:仅需 Python3,无需安装 Apache/nginx 或配置系统服务
2. 工作空间隔离:所有文件(配置、PID、webroot)限制在工作空间内,无外部写入

3. 多重安全设计:CGI 默认关闭、符号链接拒绝(静态路径)、路径遍历防护、插件白名单机制

4. 灵活的插件架构:支持外部目录挂载,CGI 版本通过哈希锁定特定脚本,防止篡改

5. 轻量级认证:Token + Session Cookie 机制,兼顾浏览器与 API 客户端

潜在缺点与局限性

  • CGI 性能瓶颈:Python CGI 非持久化进程,高并发场景下性能受限
  • 仅支持 index.py:CGI 入口严格限制,复杂应用需自行路由处理
  • 无 HTTPS 原生支持:需配合反向代理实现加密传输
  • 哈希管理开销:插件 CGI 需手动计算并维护 SHA-256 哈希值
  • 30秒执行超时:长时间运行的脚本会被强制终止

适合人群

  • 本地开发测试环境快速搭建
  • 小型团队内网文件共享与工具集成
  • 需要轻量级 CGI 服务的 Python 开发者
  • 对系统权限敏感、追求最小化部署的场景

常规风险

1. CGI 启用后的代码执行风险:尽管限制为 index.py 且需哈希匹配,但任意代码执行能力仍存在被利用可能
2. Token 泄露:Bearer Token 通过 URL 参数传递时可能留存于浏览器历史或日志

3. --host 0.0.0.0 暴露面扩大**:LAN 访问需严格配合 Token 与 allowed_hosts,配置不当可导致未授权访问

4. 插件目录遍历:插件路径必须位于工作空间内,配置错误可能突破隔离边界

5. 符号链接绕过:静态路径拒绝符号链接,但插件 CGI 的 index.py 允许符号链接(需哈希匹配),存在配置混淆风险

Intranet 内容

scripts文件夹
手动下载zip · 15.0 kB
intranet_web.pytext/plain
请选择文件