{"id":24068679,"url":"https://github.com/mubeng/mubeng","last_synced_at":"2025-05-14T11:09:17.345Z","repository":{"id":37747479,"uuid":"330052783","full_name":"mubeng/mubeng","owner":"mubeng","description":"An incredibly fast proxy checker \u0026 IP rotator with ease.","archived":false,"fork":false,"pushed_at":"2025-04-14T06:11:56.000Z","size":2485,"stargazers_count":1819,"open_issues_count":22,"forks_count":206,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-05-11T11:54:15.261Z","etag":null,"topics":["http-proxy","https-proxy","ip-rate-limit","ip-rotation","proxy","proxy-checker","proxy-list","proxy-rotation","proxy-rotator","proxy-server","socks5","socks5-proxy"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mubeng.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["dwisiswant0"]}},"created_at":"2021-01-16T00:33:07.000Z","updated_at":"2025-05-08T06:14:37.000Z","dependencies_parsed_at":"2023-02-19T04:45:34.267Z","dependency_job_id":"ac4a9dd8-719f-4447-b851-74b08f5be63e","html_url":"https://github.com/mubeng/mubeng","commit_stats":{"total_commits":221,"total_committers":6,"mean_commits":"36.833333333333336","dds":0.420814479638009,"last_synced_commit":"6bb8eadaccf3d805968cc72fe8bbcc21d48fcca4"},"previous_names":["mubeng/mubeng"],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubeng%2Fmubeng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubeng%2Fmubeng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubeng%2Fmubeng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mubeng%2Fmubeng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mubeng","download_url":"https://codeload.github.com/mubeng/mubeng/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129488,"owners_count":22019628,"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":["http-proxy","https-proxy","ip-rate-limit","ip-rotation","proxy","proxy-checker","proxy-list","proxy-rotation","proxy-rotator","proxy-server","socks5","socks5-proxy"],"created_at":"2025-01-09T13:20:31.089Z","updated_at":"2025-05-14T11:09:17.298Z","avatar_url":"https://github.com/mubeng.png","language":"Go","funding_links":["https://github.com/sponsors/dwisiswant0"],"categories":["Go"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"#\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/25837540/107883163-dbf70380-6f1f-11eb-856f-e69e733313e5.png\" width=\"400px\" alt=\"mubeng\"\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eAn incredibly fast proxy checker \u0026 IP rotator with ease.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003ca href=\"https://golang.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/made%20with-Go-brightgreen\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://goreportcard.com/report/github.com/mubeng/mubeng\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/mubeng/mubeng\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/mubeng/mubeng/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-yellowgreen\"\u003e\u003c/a\u003e\n\t\u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/badge/platform-osx%2Flinux%2Fwindows-green\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/mubeng/mubeng/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/mubeng/mubeng\"\u003e\u003c/a\u003e\n\t\u003ca href=\"https://github.com/mubeng/mubeng/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/mubeng/mubeng\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/mubeng/mubeng/blob/master/.github/CONTRIBUTING.md\"\u003eContributing\u003c/a\u003e •\n  \u003ca href=\"https://github.com/mubeng/mubeng/blob/master/CHANGELOG.md\"\u003eWhat's new\u003c/a\u003e •\n  \u003ca href=\"https://pkg.go.dev/github.com/mubeng/mubeng/pkg/mubeng\"\u003eDocumentation\u003c/a\u003e •\n  \u003ca href=\"https://github.com/mubeng/mubeng/issues/new/choose\"\u003eReport Issues\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n- [Features](#features)\n- [Why mubeng?](#why-mubeng)\n- [Installation](#installation)\n  - [Binary](#binary)\n  - [Docker](#docker)\n  - [Source](#source)\n- [Usage](#usage)\n  - [Basic](#basic)\n  - [Options](#options)\n  \t- [Notes](#notes)\n  - [Install SSL Certificate](#install-ssl-certificate)\n  - [Examples](#examples)\n    - [Proxy checker](#proxy-checker)\n    - [Proxy IP rotator](#proxy-ip-rotator)\n      - [Burp Suite Upstream Proxy](#burp-suite-upstream-proxy)\n      - [OWASP ZAP Proxy Chain](#owasp-zap-proxy-chain)\n    - [Proxy format](#proxy-format)\n    \t- [Templating](#templating)\n    \t- [Amazon API Gateway](#amazon-api-gateway)\n- [Limitations](#limitations)\n\t- [Known Bugs](#known-bugs)\n- [Contributors](#contributors)\n- [Pronunciation](#pronunciation)\n- [Changes](#changes)\n- [License](#license)\n\n---\n\n# Features\n\n- **Proxy IP rotator**: Rotates your IP address for every specified request.\n- **Proxy checker**: Verifies the availability of your proxy IPs.\n- **Supports all HTTP/S methods**.\n- **Compatible with HTTP, SOCKS v4(A), v5, and Amazon API Gateway** proxy protocols.\n- **Passes all parameters and URIs**.\n- **User-friendly**: Simply run it against your proxy file and select the desired action.\n- **Cross-platform**: Runs seamlessly on Windows, Linux, Mac, and even Raspberry Pi.\n\n# Why mubeng?\n\nIt's fairly simple, there is no need for additional configuration.\n\n`mubeng` has 2 core functionality:\n\n### 1. Run proxy server as proxy IP rotation\n\nThis is useful to avoid different kinds of IP ban, i.e. bruteforce protection, API rate-limiting or WAF blocking based on IP. We also leave it entirely up to user to use proxy pool resources from anywhere.\n\n### 2. Perform proxy checks\n\nSo, you don't need any extra proxy checking tools out there if you want to check your proxy pool.\n\n# Installation\n\n## Binary\n\nSimply, download a pre-built binary from [releases page](https://github.com/mubeng/mubeng/releases) and run!\n\n## Docker\n\nPull the [Docker](https://docs.docker.com/get-docker/) image by running:\n\n```bash\n▶ docker pull ghcr.io/mubeng/mubeng:latest\n```\n\n## Source\n\nUsing [Go](https://golang.org/doc/install) compiler:\n\n```bash\n▶ go install -v github.com/mubeng/mubeng@latest\n```\n\n### — or\n\nManual building executable from source code:\n\n```bash\n▶ git clone https://github.com/mubeng/mubeng\n▶ cd mubeng\n▶ make build\n▶ (sudo) install ./bin/mubeng /usr/local/bin\n```\n\n# Usage\n\nFor usage, it's always required to provide your proxy list, whether it is used to check or as a proxy pool for your proxy IP rotation.\n\n\u003ccenter\u003e\n  \u003ca href=\"#\"\u003e\u003cimg alt=\"kitabisa mubeng\" src=\"https://github.com/user-attachments/assets/3c19e328-cfd7-43f7-bf83-b3996671fc67\" width=\"80%\"\u003e\u003c/a\u003e\n\u003c/center\u003e\n\n## Basic\n\n```bash\n▶ mubeng [-c|-a :8080] -f file.txt [options...]\n```\n\n## Options\n\nHere are all the options it supports.\n\n```bash\n▶ mubeng -h\n```\n\n| **Flag**                      \t| **Description**                                              \t|\n|-------------------------------  |-------------------------------------------------------------- |\n| -f, --file `\u003cFILE\u003e`             | Proxy file.                                                   |\n| -a, --address `\u003cADDR\u003e:\u003cPORT\u003e`   | Run proxy server.                                             |\n| -A, --auth `\u003cUSER\u003e:\u003cPASS\u003e`      | Set authorization for proxy server.                           |\n| -d, --daemon                    | Daemonize proxy server.                                       |\n| -c, --check                     | To perform proxy live check.                                  |\n| -g, --goroutine `\u003cN\u003e`           | Max. goroutine to use (default: 50).                          |\n|     --only-cc `\u003cAA\u003e,\u003cBB\u003e`       | Only show specific country code (comma separated).            |\n| -t, --timeout                   | Max. time allowed for proxy server/check (default: 30s).      |\n| -r, --rotate `\u003cAFTER\u003e`          | Rotate proxy IP for every `AFTER` request (default: 1).       |\n|     --rotate-on-error           | Rotate proxy IP and retry failed HTTP requests.               |\n|     --remove-on-error           | Remove proxy IP from proxy pool on failed HTTP requests.      |\n|     --max-errors `\u003cN\u003e`          | Max. errors allowed during rotation (default: 3).             |\n|                                 | Use this with `--rotate-on-error`.                            |\n|                                 | If value is less than 0 (e.g., -1), rotation will             |\n|                                 | continue indefinitely.                                        |\n|     --max-redirs `\u003cN\u003e`          | Max. redirects allowed (default: 10).                         |\n|     --max-retries `\u003cN\u003e`         | Max. retries for failed HTTP requests (default: 0).           |\n| -m, --method `\u003cMETHOD\u003e`         | Rotation method (sequent/random) (default: sequent).          |\n| -s, --sync                      | Sync will wait for the previous request to complete.          |\n| -v, --verbose                   | Dump HTTP request/responses or show died proxy on check.      |\n| -o, --output `\u003cFILE\u003e`           | Save output from proxy server or live check.                  |\n| -u, --update                    | Update mubeng to the latest stable version.                   |\n| -w, --watch                     | Watch proxy file, live-reload from changes.                   |\n| -V, --version                   | Show current mubeng version.                                  |\n\n\u003ctable\u003e\n\t\u003ctd\u003e\n\t\t\u003ch4\u003eNOTES:\u003c/h4\u003e\n\t\t\u003cul\u003e\n\t\t\t\u003cli\u003eRotations are counted for all requests, even if the request fails.\n\t\t\t\t\u003c!-- \u003cul\u003e\n\t\t\t\t\t\u003cli\u003eThe rotation is incremental starting at the beginning of the list.\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eRotation means random, \u003cb\u003eNOT\u003c/b\u003e choosing a proxy after/increment from proxy pool. We do not set up conditions if a proxy has been used. So, there is no guarantee if your request reaches the \u003ci\u003eN\u003c/i\u003e value \u003ccode\u003e(-r/--rotate)\u003c/code\u003e your IP proxy will rotate.\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e --\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003eThe proxy server runs asynchronously by default, so it doesn't guarantee that your requests after \u003ci\u003eN\u003c/i\u003e (which is \u003ci\u003eN+1\u003c/i\u003e and so on) will rotate the proxy IP, instead use the \u003ccode\u003e-s/--sync\u003c/code\u003e flag to wait for requests to the previous proxy to complete.\u003c/li\u003e\n\t\t\t\u003cli\u003eDaemon mode \u003ccode\u003e(-d/--daemon)\u003c/code\u003e will install mubeng as a service on the (Linux/OSX) system/setting up callback (Windows).\n\t\t\t\t\u003cul\u003e\n\t\t\t\t\t\u003cli\u003eHence you can control service with \u003ccode\u003ejournalctl\u003c/code\u003e, \u003ccode\u003eservice\u003c/code\u003e or \u003ccode\u003enet\u003c/code\u003e (for Windows) command to start/stop proxy server.\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eWhenever you activate the daemon mode, it works by forcibly stop and uninstalling the existing mubeng service, then re-install and starting it up in daemon.\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003eVerbose mode \u003ccode\u003e(-v/--verbose)\u003c/code\u003e and timeout \u003ccode\u003e(-t/--timeout)\u003c/code\u003e apply to both proxy check and proxy IP rotation actions.\u003c/li\u003e\n\t\t\t\u003cli\u003eHTTP traffic requests and responses is displayed when verbose mode \u003ccode\u003e(-v/--verbose)\u003c/code\u003e is enabled, but\n\t\t\t\t\u003cul\u003e\n\t\t\t\t\t\u003cli\u003eWe \u003cb\u003eDO NOT\u003c/b\u003e explicitly display the request/response body, and\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eAll cookie values in headers will be redacted automatically.\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003eIf you use output option \u003ccode\u003e(-o/--output)\u003c/code\u003e to run proxy IP rotator, request/response headers are \u003cb\u003eNOT\u003c/b\u003e written to the log file.\u003c/li\u003e\n\t\t\t\u003cli\u003eA timeout option \u003ccode\u003e(-t/--timeout)\u003c/code\u003e value is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"5s\", \"300ms\", \"-1.5h\" or \"2h45m\".\n\t\t\t\t\u003cul\u003e\n\t\t\t\t\t\u003cli\u003eValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", and \"h\".\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003eThe max. errors \u003ccode\u003e(--max-errors)\u003c/code\u003e ≠ max. retries \u003ccode\u003e(--max-retries)\u003c/code\u003e.\u003c/li\u003e\n\t\t\t\u003cul\u003e\n\t\t\t\t\t\u003cli\u003eThe max. retries \u003ccode\u003e(--max-retries)\u003c/code\u003e apply to retrying a failed HTTP request with the same proxy.\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eMeanwhile, max. errors \u003ccode\u003e(--max-errors)\u003c/code\u003e refer to the total failed HTTP requests from the proxies used.\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eFor example, once the max. retries \u003ccode\u003e(--max-retries)\u003c/code\u003e are reached \u003ci\u003e(if supplied)\u003c/i\u003e, the error is counted, and the proxy IP will rotate for the same failed HTTP request until the max. errors \u003ccode\u003e(--max-errors)\u003c/code\u003e are reached, whereas max. retries \u003ccode\u003e(--max-retries)\u003c/code\u003e \u003cb\u003eDO NOT\u003c/b\u003e trigger a proxy rotation.\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e\n\t\t\t\u003cli\u003eIf the value of max. errors \u003ccode\u003e(--max-errors)\u003c/code\u003e is less than \u003cb\u003e0\u003c/b\u003e (e.g. \u003cb\u003e-1\u003c/b\u003e), rotation will continue indefinitely.\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\u003c/td\u003e\n\u003c/table\u003e\n\n## Install SSL Certificate\n\nmubeng uses built-in certificate authority by [GoProxy](https://github.com/elazarl/goproxy). With mubeng proxy server running, the generated certificate can be exported by visiting `http://mubeng/cert` in a browser.\n\nInstallation steps for CA certificate is [similar to other](https://portswigger.net/burp/documentation/desktop/external-browser-config/certificate) proxy tools.\n\n## Examples\n\nFor example, you've proxy pool `(proxies.txt)` as:\n\n\u003ctable\u003e\n\t\u003ctd\u003e\n\t\t\u003cpre\u003ehttp://127.0.0.1:8080\nhttps://127.0.0.1:443\nsocks4://127.0.0.1:4145\nsocks5://127.0.0.1:2121\n...\n...\u003c/pre\u003e\n\t\u003c/td\u003e\n\u003c/table\u003e\n\n\u003e Because we use auto-switch transport, `mubeng` can accept multiple proxy protocol schemes at once.\u003cbr\u003e\n\u003e Please refer to [documentation](https://pkg.go.dev/github.com/mubeng/mubeng/pkg/mubeng#Transport) for this package.\n\n### Proxy checker\n\nPass `--check` flag in command to perform proxy checks:\n\n```bash\n▶ mubeng -f proxies.txt --check --only-cc AU,US,UK --output live.txt\n```\n\nThe above case also uses `--output` flag to save a live proxy of specific country code with `--only-cc` flag (`ISO-3166` alpha-2) into file _(live.txt)_ from checking result.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/97b9e5ad-64bd-403a-bd3a-1bc4eb7fb3f1\" height=\"400\"\u003e\u003cbr /\u003e\n  \u003ci\u003e(Figure: Checking proxies mubeng with max. 5s timeout)\u003c/i\u003e\n\u003c/p\u003e\n\n### Proxy IP rotator\n\nFurthermore, if you wish to do proxy IP rotator from proxies that are still alive earlier from the results of checking `(live.txt)` _(or if you have your own list)_, you must use `-a` _(--address)_ flag instead to run proxy server:\n\n```bash\n▶ mubeng -a localhost:8089 -f live.txt -r 10 -m random\n```\n\nThe `-r` _(--rotate)_ flag works to rotate your IP for every _N_ request value you provide `(10)`, and the `-m` _(--method)_ flag will rotate the proxy sequential/randomly.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/b86a5bf4-41e6-43ac-8077-9f82442e9577\"\u003e\n  \u003ci\u003e(Figure: Running mubeng as proxy IP rotator with verbose mode)\u003c/i\u003e\n\u003c/p\u003e\n\n### [Burp Suite](https://portswigger.net/burp/documentation/desktop/getting-started/installing-burp) Upstream Proxy\n\nIn case you want to use `mubeng` _(proxy IP rotator)_ as an upstream proxy in Burp Suite, acting in-between Burp Suite and mubeng to the internet, so you don't need any additional extensions in Burp Suite for that. To demonstrate this:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/25837540/107985702-24d0ba00-6ffd-11eb-9489-c19e52c921f5.jpg\"\u003e\n  \u003ci\u003e(Figure: Settings Burp Suite Upstream Proxy to mubeng)\u003c/i\u003e\n\u003c/p\u003e\n\nIn your Burp Suite instance, select **Project options** menu, and click **Connections** tab. In the **Upstream Proxy Servers** section, check **Override user options** then press **Add** button to add your upstream proxy rule. After that, fill required columns _(Destination host, Proxy host \u0026 Proxy port)_ with correct details. Click **OK** to save settings.\n\n### [OWASP ZAP](https://www.zaproxy.org/download/) Proxy Chain\n\nIt acts the same way when you using an upstream proxy. OWASP ZAP allows you to connect to another proxy for outgoing connections in OWASP ZAP session. To chain it with a mubeng proxy server:\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://user-images.githubusercontent.com/25837540/108060995-41670380-708a-11eb-83ad-c781421af473.png\"\u003e\n\t\u003ci\u003e(Figure: Settings proxy chain connection in OWASP ZAP to mubeng)\u003c/i\u003e\n\u003c/p\u003e\n\n\nSelect **Tools** in the menu bar in your ZAP session window, then select the **Options** _(shortcut: Ctrl+Alt+O)_ submenu, and go to **Connection** section. In that window, scroll to **Use proxy chain** part then check **Use an outgoing proxy server**. After that, fill required columns _(Address/Domain Name \u0026 Port)_ with correct details. Click **OK** to save settings.\n\n### Proxy format\n\nCurrently mubeng supports HTTP(S) \u0026 SOCKSv4(A)/v5 protocol, see [examples](#examples) above. But, not limited by that we also support proxy string substitution and helper functions for your proxy pool.\n\n#### Templating\n\nIf you have an authenticated proxy, you definitely don't want to write credentials constantly to the proxy pool file. **mubeng** can evaluate environment variable with `{{VARIABLE}}` writing style.\n\nFor example:\n\n1. String substitute\n\n```console\n$ export USERNAME=\"FOO\"\n$ export PASSWORD=\"BAR\"\n$ echo \"http://{{USERNAME}}:{{PASSWORD}}@192.168.0.1:31337\" \u003e list.txt\n$ mubeng -f list.txt -a :8080\n```\n\n2. Helper function\n\nAvailable functions currently supported:\n\n- `uint32`, and\n- `uint32n N`.\n\nThose following above functions are thread-safe pseudo-randomness.\n\nAs an example of its use, we will be utilizing stream isolation over Tor SOCKS. With this method, you just need one Tor instance and each request can use a different stream with a different exit node, but that doesn't guarantee that your _ass_ will be rotated. Thus, we have to create unique `USER:PASS` pair to isolate streams for every connection. In order to pass pseudo-random proxy authorization, use `uint32` or `uint32n` function on your proxy pool, like:\n\n```console\n$ echo \"socks5://{{uint32}}:{{uint32}}@127.0.0.1:9050\" \u003e list.txt\n$ while :; do mubeng -f list.txt -c 2\u003e/dev/null; done\n[LIVE] [XX] [23.**.177.2] socks5://2123347975:3094119616@127.0.0.1:9050\n[LIVE] [XX] [199.**.253.156] socks5://1646373938:2740927425@127.0.0.1:9050\n[LIVE] [XX] [185.**.101.137] socks5://814036283:1382144874@127.0.0.1:9050\n[LIVE] [XX] [185.**.83.83] socks5://2895805939:2276057153@127.0.0.1:9050\n[LIVE] [XX] [103.**.167.10] socks5://408584795:1244204083@127.0.0.1:9050\n[LIVE] [XX] [198.**.84.99] socks5://3015151335:251835794@127.0.0.1:9050\n[LIVE] [XX] [179.**.159.197] socks5://3952852758:324998250@127.0.0.1:9050\n^C\n```\n\n#### Amazon API Gateway\n\nThe mubeng proxy rotator also supports integration with Amazon API Gateway. This allows you to route traffic through multiple AWS regions for enhanced redundancy and geographic distribution.\n\nFormat for AWS proxy strings:\n\n```\naws://AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY@REGION\n```\n\n\u003e [!TIP]\n\u003e Since it uses a custom parser, the AWS secret access key (or any other parts) can be quoted for better readability. Example: `aws://AKIAIOSFODNN7EXAMPLE:\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"@us-west-1`.\n\u003e \n\u003e This quoting feature only works for the **`aws`** protocol scheme.\n\nTo get started, you'll need to:\n\n1. Export your AWS credentials as environment variables\n\n```bash\nexport AWS_ACCESS_KEY_ID=\"AKIAIOSFODNN7EXAMPLE\"\nexport AWS_SECRET_ACCESS_KEY=\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\" \n```\n\n2. Create a proxy list file containing AWS regions\n\nGenerate proxy entries for multiple AWS regions:\n\n```bash\necho \"aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@\"{us,eu}\"-\"{east,west}\"-\"{1,2} | tr ' ' '\\n' \u003e list.txt\n```\n\nThis will create entries for regions like:\n\n* `aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@us-east-1`\n* `aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@us-east-2`\n* `aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@us-west-1`\n* ...\n\n3. Start mubeng proxy server pointing to your AWS proxy list:\n\n```bash\n$ mubeng -f list.txt -a :8080\n```\n\nThis setup enables mubeng to automatically rotate traffic through multiple AWS regions via API Gateway. When running the proxy server, mubeng will dynamically substitute your AWS credentials from environment variables using the [templating](#templating) feature described above.\n\n\u003e [!NOTE]\n\u003e Ensure your AWS credentials have the appropriate permissions to access API Gateway in the specified regions.\n\n# Limitations\n\nCurrently IP rotation runs the proxy server only as an HTTP protocol, not a SOCKSv4(A)/v5 protocol, even though the resource you have is SOCKSv4(A)/v5. In other words, the SOCKSv4(A)/v5 resource that you provide is used properly because it uses auto-switch transport on the client, but this proxy server **DOES NOT** switch to anything other than HTTP protocol.\n\n# Contributors\n\n[![contributions](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/mubeng/mubeng/issues)\n\nThis project exists thanks to all the people who contribute. To learn how to setup a development environment and for contribution guidelines, see [CONTRIBUTING.md](https://github.com/mubeng/mubeng/blob/master/.github/CONTRIBUTING.md).\n\n\u003ca href=\"https://github.com/mubeng/mubeng/graphs/contributors\"\u003e\n\t\u003cimg src=\".github/CONTRIBUTORS.svg\"\u003e\n\u003c/a\u003e\n\n# Pronunciation\n\n[`jv_ID`](https://www.localeplanet.com/java/jv-ID/index.html) • **/mo͞oˌbēNG/** — mubeng-mubeng nganti mumet. (ꦩꦸꦧꦺꦁ​ꦔꦤ꧀ꦠꦶ​ꦩꦸꦩꦺꦠ꧀)\n\n# Changes\n\nFor changes, see [CHANGELOG.md](https://github.com/mubeng/mubeng/blob/master/CHANGELOG.md).\n\n# License\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the [Apache license](https://github.com/mubeng/mubeng/blob/master/LICENSE). mubeng and any contributions are copyright © by Dwi Siswanto 2021-2025.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmubeng%2Fmubeng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmubeng%2Fmubeng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmubeng%2Fmubeng/lists"}