{"id":16257487,"url":"https://github.com/waylaidwanderer/node-rotating-proxy-manager","last_synced_at":"2025-03-19T22:30:22.971Z","repository":{"id":57355663,"uuid":"75852492","full_name":"waylaidwanderer/node-rotating-proxy-manager","owner":"waylaidwanderer","description":"Rotating Proxy Manager module for Node.js","archived":false,"fork":false,"pushed_at":"2018-12-22T05:34:03.000Z","size":20,"stargazers_count":14,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-18T07:02:36.882Z","etag":null,"topics":["manager","module","node","nodejs","proxy","rotating-proxy"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waylaidwanderer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-07T16:03:54.000Z","updated_at":"2023-11-30T05:39:01.000Z","dependencies_parsed_at":"2022-09-26T16:31:42.839Z","dependency_job_id":null,"html_url":"https://github.com/waylaidwanderer/node-rotating-proxy-manager","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylaidwanderer%2Fnode-rotating-proxy-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylaidwanderer%2Fnode-rotating-proxy-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylaidwanderer%2Fnode-rotating-proxy-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylaidwanderer%2Fnode-rotating-proxy-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waylaidwanderer","download_url":"https://codeload.github.com/waylaidwanderer/node-rotating-proxy-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243982177,"owners_count":20378604,"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":["manager","module","node","nodejs","proxy","rotating-proxy"],"created_at":"2024-10-10T15:48:22.525Z","updated_at":"2025-03-19T22:30:22.628Z","avatar_url":"https://github.com/waylaidwanderer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-rotating-proxy-manager\nRotating Proxy Manager module for Node.js\n\nThis module was written in an ES6 environment and uses SQLite to store proxy usage info so you can use this across multiple scripts with the same database file.\n\n    const RotatingProxyManager = require('rotating-proxy-manager');\n    const RotatingProxy = RotatingProxyManager.RotatingProxy;\n    \n    let proxies = []; // should be an array of RotatingProxy\n    \n    // or you can use RotatingProxy.buildArray() to build an array of RotatingProxy\n    // proxiesStr can be either a path to a file or a multi-line string of proxies\n    let proxiesStr = \"123.123.123:8080\\n123.123.123:8081\";\n    proxies = RotatingProxy.buildArray(proxiesStr, 1, 3); // wait 1-3 seconds before re-using proxy\n    \n    let proxyManager = new RotatingProxyManager(proxies, __dirname, true); // set true to recreate proxy sqlite file\n    proxyManager.on('ready', () =\u003e {\n        proxyManager.nextProxy(function(err, proxy) {\n            if (err) return console.log(err);\n            // proxy will be the next proxy in the rotation\n            console.log(proxy); // 123.123.123:8080\n        });\n        proxyManager.nextProxy(function(err, proxy) {\n            // you don't need to call this function nested or as a promise -\n            // it will wait for any previous nextProxy() calls to complete first\n            if (err) return console.log(err);\n            console.log(proxy); // 123.123.123:8081\n        });\n    });","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylaidwanderer%2Fnode-rotating-proxy-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaylaidwanderer%2Fnode-rotating-proxy-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylaidwanderer%2Fnode-rotating-proxy-manager/lists"}