HTTPS MITM 代理手册项目教程
1. 项目的目录结构及介绍
https-mitm-proxy-handbook/
├── README.md
├── docs/
│ ├── chapter1.md
│ ├── chapter2.md
│ └── ...
├── examples/
│ ├── example1.py
│ ├── example2.py
│ └── ...
├── src/
│ ├── main.py
│ ├── config.py
│ └── ...
└── tests/
├── test_main.py
├── test_config.py
└── ...
- README.md: 项目的主介绍文件,包含项目的基本信息和使用说明。
- docs/: 存放项目的文档文件,每个文件对应一个章节。
- examples/: 存放示例代码,帮助用户理解如何使用项目。
- src/: 项目的源代码目录,包含主要的逻辑和配置文件。
- tests/: 项目的测试代码目录,包含各种单元测试和集成测试。
2. 项目的启动文件介绍
在 src/
目录下,主要的启动文件是 main.py
。这个文件负责初始化项目并启动代理服务。以下是 main.py
的主要内容:
import config
from proxy import ProxyServer
def main():
# 读取配置文件
conf = config.load_config('config.yaml')
# 初始化代理服务器
server = ProxyServer(conf)
# 启动代理服务器
server.start()
if __name__ == "__main__":
main()
- config: 导入配置模块,用于读取配置文件。
- ProxyServer: 代理服务器类,负责处理代理请求。
- main(): 主函数,负责读取配置、初始化代理服务器并启动服务。
3. 项目的配置文件介绍
项目的配置文件位于 src/
目录下,文件名为 config.yaml
。以下是配置文件的主要内容:
server:
host: '0.0.0.0'
port: 8080
ssl_cert: 'cert.pem'
ssl_key: 'key.pem'
logging:
level: 'INFO'
file: 'proxy.log'
mitm:
enabled: true
rules:
- pattern: '*.example.com'
action: 'block'
- pattern: '*.another-example.com'
action: 'allow'
- server: 服务器配置,包括主机地址、端口、SSL证书和密钥。
- logging: 日志配置,包括日志级别和日志文件路径。
- mitm: MITM 配置,包括是否启用 MITM 和规则列表。
配置文件使用 YAML 格式,便于阅读和编辑。用户可以根据需要修改配置文件以适应不同的使用场景。