{"id":21509292,"url":"https://github.com/mark24code/auto-restful-mitmproxy","last_synced_at":"2025-03-17T15:14:58.772Z","repository":{"id":82887247,"uuid":"377780717","full_name":"Mark24Code/auto-restful-mitmproxy","owner":"Mark24Code","description":null,"archived":false,"fork":false,"pushed_at":"2021-06-17T10:29:28.000Z","size":4,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-24T01:08:29.570Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mark24Code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-17T09:47:43.000Z","updated_at":"2022-06-28T03:07:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"46469bf0-755e-4157-8dc2-09a29e8cf222","html_url":"https://github.com/Mark24Code/auto-restful-mitmproxy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fauto-restful-mitmproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fauto-restful-mitmproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fauto-restful-mitmproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mark24Code%2Fauto-restful-mitmproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mark24Code","download_url":"https://codeload.github.com/Mark24Code/auto-restful-mitmproxy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244056424,"owners_count":20390719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-23T21:23:18.250Z","updated_at":"2025-03-17T15:14:58.749Z","avatar_url":"https://github.com/Mark24Code.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MITMProxy 辅助机器人\n\n使用mitmproxy作为中间抓包层。\n\n增加DSL书写本地Restful API Mapper\n\n支持自动重载。\n\n\n# 使用说明\n\n\n## 一、安装依赖\n\n0. 确认系统中是否有\n\nPython3+\n\nRuby2.7+\n\n1. 确认安装 mitmproxy\n\nmac \n\n`brew install mitmproxy`\n\n`pip3 install mitproxy`\n\n\n2. 安装Ruby依赖\n\n\u003e 如果没有安装 bundle 安装  `gem install bundler`\n\n安装依赖\n\n`bundle install`\n\n## 二、开始使用\n\n\n1. 书写本地接口\n\n约定在 `local_proxy` 文件夹中 使用 `xxx.api.rb` 的模式新建文件。\n\n\n文件中接口DSL形如\n\n```ruby\n\nget '/keyword/of/path' do\n\n{\n  \"result\": {\n    \"errno\": \"OK\",\n    \"errmsg\": \"成功\"\n  },\n  \"data\": {\n    \"details\": [\n      {\n        \"id\": 123,\n        \"nick\": \"Hello\",\n      }\n    ]\n  }\n}\n  \nend\n\n\npost '/keyword/of/path' do\n\n{\n  \"result\": {\n    \"errno\": \"OK\",\n    \"errmsg\": \"成功\"\n  },\n  \"data\": {\n    \"details\": [\n      {\n        \"id\": 123,\n        \"nick\": \"Hello\",\n      }\n    ]\n  }\n}\n  \nend\n\n```\n\n支持方法有 \n\n```\n:get,:post, :patch, :put, :delete, :head, :options\n```\n\n2. 可以使用的命令\n\n执行 `rake` 可以查看提供的工作列表\n\n\n3. 启动编译DSL的 watch服务\n\n`rake run` 或者 `rake r`\n\n当你不断地书写 接口的DSL，服务将回归自动转换为中间JSON文件，在 `./build/mock_api.json` 可查看\n\n\n4. 启动 mitmproxy 服务\n\n命令行界面\n\n`rake mitmproxy` 或者 `rake m`\n\n如果想要启动 web ui\n\n`rake mitmweb` 或者 `rake mw`\n\n\nmitmproxy 会自动检查，mock_api.json ，当请求路径 包含 配置路径的时，方法匹配会进入捕捉阶段，返回配置的返回。\n\n\n5. 两个服务启动，发生联动\n\n启动两个server。可以实现 `书写DSL-\u003e热更新翻译JSON-\u003e MITM中间层 本地Mapper热更新` 从而实现热更新 本地Mapper数据的server。\n\n方便测试测试接口。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmark24code%2Fauto-restful-mitmproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmark24code%2Fauto-restful-mitmproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmark24code%2Fauto-restful-mitmproxy/lists"}