Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
M

mubeng

> 编程语言
Open source

An incredibly fast proxy checker & IP rotator with ease.

2.1K stars0 likes0 views
WebsiteGitHub

About

An incredibly fast proxy checker & IP rotator with ease.


An incredibly fast proxy checker & IP rotator with ease.

Contributing • What's new • Documentation • Report Issues


  • Features
  • Why mubeng?
  • Installation
    • Binary
    • Docker
    • Source
  • Usage
    • Basic
    • Options
      • Notes
    • Install SSL Certificate
    • Examples
      • Proxy checker
      • Proxy IP rotator
        • Burp Suite Upstream Proxy
        • OWASP ZAP Proxy Chain
      • Proxy format
        • Templating
        • Amazon API Gateway
  • Limitations
    • Known Bugs
  • Contributors
  • Pronunciation
  • Changes
  • License

Features

  • Proxy IP rotator: Rotates your IP address for every specified request.
  • Proxy checker: Verifies the availability of your proxy IPs.
  • Supports all HTTP/S methods.
  • Compatible with HTTP, SOCKS v4(A), v5, and Amazon API Gateway proxy protocols.
  • Passes all parameters and URIs.
  • User-friendly: Simply run it against your proxy file and select the desired action.
  • Cross-platform: Runs seamlessly on Windows, Linux, Mac, and even Raspberry Pi.

Why mubeng?

It's fairly simple, there is no need for additional configuration.

mubeng has 2 core functionality:

1. Run proxy server as proxy IP rotation

This 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.

2. Perform proxy checks

So, you don't need any extra proxy checking tools out there if you want to check your proxy pool.

Installation

Binary

Simply, download a pre-built binary from releases page and run!

Docker

Pull the Docker image by running:

bash
▶ docker pull ghcr.io/mubeng/mubeng:latest

Source

Using Go compiler:

bash
▶ go install -v github.com/mubeng/mubeng@latest

— or

Manual building executable from source code:

bash
▶ git clone https://github.com/mubeng/mubeng
▶ cd mubeng
▶ make build
▶ (sudo) install ./bin/mubeng /usr/local/bin

Usage

For 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.

Basic

bash
▶ mubeng [-c|-a :8080] -f file.txt [options...]

Options

Here are all the options it supports.

bash
▶ mubeng -h
Flag Description
-f, --file <FILE> Proxy file.
-a, --address <ADDR>:<PORT> Run proxy server.
-A, --auth <USER>:<PASS> Set authorization for proxy server.
-d, --daemon Daemonize proxy server.
-c, --check To perform proxy live check.
-g, --goroutine <N> Max. goroutine to use (default: 50).
--only-cc <AA>,<BB> Only show specific country code (comma separated).
-t, --timeout Max. time allowed for proxy server/check (default: 30s).
-r, --rotate <AFTER> Rotate proxy IP for every AFTER request (default: 1).
--rotate-on-error Rotate proxy IP and retry failed HTTP requests.
--remove-on-error Remove proxy IP from proxy pool on failed HTTP requests.
--max-errors <N> Max. errors allowed during rotation (default: 3).
Use this with --rotate-on-error.
If value is less than 0 (e.g., -1), rotation will
continue indefinitely.
--max-redirs <N> Max. redirects allowed (default: 10).
--max-retries <N> Max. retries for failed HTTP requests (default: 0).
-m, --method <METHOD> Rotation method (sequent/random) (default: sequent).
-s, --sync Sync will wait for the previous request to complete.
-v, --verbose Dump HTTP request/responses or show died proxy on check.
-o, --output <FILE> Save output from proxy server or live check.
-u, --update Update mubeng to the latest stable version.
-w, --watch Watch proxy file, live-reload from changes.
-V, --version Show current mubeng version.

NOTES:

  • Rotations are counted for all requests, even if the request fails.
    		</li>
    		<li>The proxy server runs asynchronously by default, so it doesn't guarantee that your requests after <i>N</i> (which is <i>N+1</i> and so on) will rotate the proxy IP, instead use the <code>-s/--sync</code> flag to wait for requests to the previous proxy to complete.</li>
    		<li>Daemon mode <code>(-d/--daemon)</code> will install mubeng as a service on the (Linux/OSX) system/setting up callback (Windows).
    			<ul>
    				<li>Hence you can control service with <code>journalctl</code>, <code>service</code> or <code>net</code> (for Windows) command to start/stop proxy server.</li>
    				<li>Whenever 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.</li>
    			</ul>
    		</li>
    		<li>Verbose mode <code>(-v/--verbose)</code> and timeout <code>(-t/--timeout)</code> apply to both proxy check and proxy IP rotation actions.</li>
    		<li>HTTP traffic requests and responses is displayed when verbose mode <code>(-v/--verbose)</code> is enabled, but
    			<ul>
    				<li>We <b>DO NOT</b> explicitly display the request/response body, and</li>
    				<li>All cookie values in headers will be redacted automatically.</li>
    			</ul>
    		</li>
    		<li>If you use output option <code>(-o/--output)</code> to run proxy IP rotator, request/response headers are <b>NOT</b> written to the log file.</li>
    		<li>A timeout option <code>(-t/--timeout)</code> 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".
    			<ul>
    				<li>Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", and "h".</li>
    			</ul>
    		</li>
    		<li>The max. errors <code>(--max-errors)</code> ≠ max. retries <code>(--max-retries)</code>.</li>
    		<ul>
    				<li>The max. retries <code>(--max-retries)</code> apply to retrying a failed HTTP request with the same proxy.</li>
    				<li>Meanwhile, max. errors <code>(--max-errors)</code> refer to the total failed HTTP requests from the proxies used.</li>
    				<li>For example, once the max. retries <code>(--max-retries)</code> are reached <i>(if supplied)</i>, the error is counted, and the proxy IP will rotate for the same failed HTTP request until the max. errors <code>(--max-errors)</code> are reached, whereas max. retries <code>(--max-retries)</code> <b>DO NOT</b> trigger a proxy rotation.</li>
    			</ul>
    		<li>If the value of max. errors <code>(--max-errors)</code> is less than <b>0</b> (e.g. <b>-1</b>), rotation will continue indefinitely.</li>
    	</ul>
    </td>
    

Install SSL Certificate

mubeng uses built-in certificate authority by GoProxy. With mubeng proxy server running, the generated certificate can be exported by visiting http://mubeng/cert in a browser.

Installation steps for CA certificate is similar to other proxy tools.

Examples

For example, you've proxy pool (proxies.txt) as:

http://127.0.0.1:8080
https://127.0.0.1:443
socks4://127.0.0.1:4145
socks5://127.0.0.1:2121
...
...

Because we use auto-switch transport, mubeng can accept multiple proxy protocol schemes at once.
Please refer to documentation for this package.

Proxy checker

Pass --check flag in command to perform proxy checks:

bash
▶ mubeng -f proxies.txt --check --only-cc AU,US,UK --output live.txt

The 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.


(Figure: Checking proxies mubeng with max. 5s timeout)

Custom Output Format

You can customize the output format of the proxy checker using the --output-format flag with fasttemplate syntax:

bash
▶ mubeng -f proxies.txt --check --output-format "{{proxy}} | {{country}} | {{duration}}"

Available template variables:

Variable Description Example
{{proxy}} Full proxy URL http://192.168.1.1:8080
{{protocol}} Proxy protocol scheme http, https, socks5
{{host}} Proxy host/IP address 192.168.1.1
{{port}} Proxy port 8080
{{ip}} External IP address 203.0.113.1
{{country}} Country code US, UK, AU
{{city}} City name New York, London
{{org}} Organization/ISP Google Inc.
{{region}} Region/State California, England
{{timezone}} Timezone America/New_York
{{loc}} Latitude,Longitude 40.7128,-74.0060
{{hostname}} Hostname example.com
{{duration}} Response time 245ms

Examples:

bash
# JSON-like format
▶ mubeng -f proxies.txt --check --output-format '{"proxy":"{{proxy}}","country":"{{country}}","duration":"{{duration}}"}'

# CSV format
▶ mubeng -f proxies.txt --check --output-format "{{proxy}},{{country}},{{city}},{{duration}}"

# Custom detailed format
▶ mubeng -f proxies.txt --check --output-format "[{{country}}] {{proxy}} ({{org}}) - {{duration}}"

When using --output-format, the formatted output is applied to both console display and file output (when using -o/--output flag).

Proxy IP rotator

Furthermore, 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 inst

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Gohttp-proxyhttps-proxyip-rate-limitip-rotation

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言