{"id":19872500,"url":"https://github.com/yint-tech/proxycompose","last_synced_at":"2025-07-15T13:02:32.443Z","repository":{"id":233274082,"uuid":"786344547","full_name":"yint-tech/ProxyCompose","owner":"yint-tech","description":"ProxyCompose是一个对代理IP池进行二次组合的工具，用户可以将多个采购的IP资源进行二次组合，使用统一的账户密码，服务器端口等信息进行统一访问。","archived":false,"fork":false,"pushed_at":"2024-04-15T13:54:00.000Z","size":83,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-16T13:25:01.998Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/yint-tech.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}},"created_at":"2024-04-14T06:53:34.000Z","updated_at":"2024-04-15T03:03:54.000Z","dependencies_parsed_at":"2024-04-15T11:10:49.887Z","dependency_job_id":null,"html_url":"https://github.com/yint-tech/ProxyCompose","commit_stats":null,"previous_names":["yint-tech/proxycompose"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yint-tech%2FProxyCompose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yint-tech%2FProxyCompose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yint-tech%2FProxyCompose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yint-tech%2FProxyCompose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yint-tech","download_url":"https://codeload.github.com/yint-tech/ProxyCompose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224305497,"owners_count":17289446,"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-12T16:15:49.036Z","updated_at":"2024-11-12T16:15:50.190Z","avatar_url":"https://github.com/yint-tech.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ProxyCompose\n\n这是malenia的开源分支，主要用于给商业代码引流😊\n\nProxyCompose是一个对代理IP池进行二次组合的工具，用户可以将多个采购的IP资源进行二次组合，使用统一的账户密码，服务器端口等信息进行统一访问。\n\n交流群： 加微信：（iinti_cn）拉入微信交流群\n\n## 特性\n\n1. 访问统一：如论是什么IP资源供应商，业务代码均接入ProxyCompose，IP资源供应商的变动不会影响业务代码\n2. 池间路由：对于多个IP资源供应商，支持浮动流量比例动态调控，即根据IP池健康评估，弹性伸缩各个IP池的流量。某个IP池挂了不影响整体业务\n3. 协议转换：你可以使用ProxyCompose实现http/https/socks5几种代理协议的转换，这样即使采购的代理资源仅支持socks5，也能转换为https代理\n4. 池化加速：ProxyCompose内置了一个高效的IP池模块，可以对IP资源的访问进行探测、评分、连接池等工作，提高IP资源使用成功率\n\n## 使用\n\n### 构建\n\n- 安装Java\n- 安装maven\n- Linux/mac下，执行脚本：``build.sh``，得到文件``target/proxy-compose.zip``即为产出文件\n- 配置： 请根据实际情况配置代理资源 ``conf/config.ini``\n- 运行脚本：``bin/ProxyComposed.sh`` 或 ``bin/ProxyComposed.bat``\n- 代理测试：``curl -x iinti:iinti@127.0.0.1:36000 https://www.baidu.com/``\n\n**如不方便构建，可以使用我们构建好的发布包:[https://oss.iinti.cn/malenia/proxy-compose.zip](https://oss.iinti.cn/malenia/proxy-compose.zip)**\n\n### 最简配置\n\n```ini\n[global]\n# 鉴权用户，即用户连接到proxy_compose的鉴权\nauth_username=iinti\n# 鉴权密码\nauth_password=iinti\n\n# 定义IP资源，即从IP供应商采购的IP资源,要求至少配置一个IP资源\n[source:dailiyun]\n# IP资源下载连接\nloadURL=http://修改这里.user.xiecaiyun.com/api/proxies?action=getText\u0026key=修改这里\u0026count=修改这里\u0026word=\u0026rand=false\u0026norepeat=false\u0026detail=false\u0026ltime=0\n# Ip供应提供的代理账户（如果是白名单，后者无鉴权，则无需配置）\nupstreamAuthUser=修改这里\n# Ip供应提供的代密码\nupstreamAuthPassword=修改这里\n# IP池大小，重要\npoolSize=10\n```\n\n### 完整配置\n\n```ini\n[global]\n# 开启debug将会有更加丰富的日志\ndebug=false\n# 对代理IP质量进行探测的URL\nproxyHttpTestURL = https://iinti.cn/conn/getPublicIp?scene=proxy_compose\n# 代理服务器启动端口，本系统将会在配置端口范围连续启动多个代理服务器\nmappingSpace=36000-36010\n# 是否启用随机隧道，启用随机隧道之后，每次代理请求将会使用随机的IP出口\nrandomTurning=false\n# 是否启用池间路由，池间路由支持根据IP池的健康状态在多个IP池之间动态调整比例\nenableFloatIpSourceRatio=true\n# failover次数，即系统为失败的代理转发进行的充实\nmaxFailoverCount=3\n# 代理连接超时时间\nhandleSharkConnectionTimeout=5000\n# 鉴权用户，即用户连接到proxy_compose的鉴权\nauth_username=iinti\n# 鉴权密码\nauth_password=iinti\n# 使用IP白名单，或者IP端的方式进行鉴权\nauth_white_ips=122.23.43.0/24,29.23.45.65\n\n# 定义IP资源，即从IP供应商采购的IP资源,要求至少配置一个IP资源\n# section 要求以 《source:》开始\n[source:dailiyun]\n# 本资源是否启用，如果希望临时关闭本资源，但是不希望删除配置，可以使用本开关\nenable=true\n# IP资源下载连接\nloadURL=http://修改这里.user.xiecaiyun.com/api/proxies?action=getText\u0026key=修改这里\u0026count=修改这里\u0026word=\u0026rand=false\u0026norepeat=false\u0026detail=false\u0026ltime=0\n# IP资源格式，目前支持plain，json两种格式，其中json格式需要满足json格式要求 cn.iinti.proxycompose.resource.ProxyIp\nresourceFormat=plain\n# Ip供应提供的代理账户（如果是白名单，后者无鉴权，则无需配置）\nupstreamAuthUser=修改这里\n# Ip供应提供的代密码\nupstreamAuthPassword=修改这里\n# IP池大小，非常重要，此字段为您的IP供应商单次提取返回的节点数\npoolSize=10\n# 本IP资源池是否需要探测IP质量，如开启，则IP需要被验证可用后方可加入IP池\nneedTest=true\n# IP资源下载间隔时间，单位秒\nreloadInterval=240\n# IP资源入库后最长存活时间，单位秒，达到此时间后，对应IP资源将会从IP池中移除，除非被重新下载到IP池中\nmaxAlive=300\n# 当前IP资源支持的代理协议（建议至少选择支持socks5的资源）\nsupportProtocol=socks5,https,http\n# 连接池连接空转时间，单位秒，IP池将会提前创建到代理真实代理服务器的连接，给业务使用提供加速功能\nconnIdleSeconds=20\n# 提前创建连接的时间间隔，单位秒\nmakeConnInterval=20\n# 当前IP池在池间流量比例，当存在多个Ip资源配置时，本配置有效，即业务按照此比例对多个IP池进行流量情切\nratio=1\n```\n\n## 特别说明\n\nComposeProxy本身能做的工作非常丰富，更多想象空间可以参考我们对应的商业分支：[malenia](https://malenia.iinti.cn/malenia-doc/)\n用户如提交任何新的功能（即使和商业分支重叠）均可以被接收","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyint-tech%2Fproxycompose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyint-tech%2Fproxycompose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyint-tech%2Fproxycompose/lists"}