mrkeyoor.com_
Sat 26 Sept 21:06 UTC
Dev Toolsevaluationupdated 26 Aug 2026

mubeng review

Mubeng checks lists of HTTP and SOCKS proxies, then runs a local HTTP proxy that rotates outgoing requests across the working entries. It is aimed at developers and security testers who already have a proxy pool and want one small command-line tool to validate and use it.

+2stars / 7d
Verdict

Our Mubeng run built in 47 seconds and passed all 3 tests in 17 seconds, so trying the 1.2 MB checkout is cheap. Use it for an authorized proxy pool when mixed upstream protocols and simple HTTP rotation fit the job. Avoid daemon deployment until you verify shutdown and retry-option behavior, and choose a dedicated interception proxy when inspection matters more than rotation.

We ran it

Lab card: what happened when we ran mubengScreenshot of mubeng (github.com/mubeng/mubeng)
Install✓ · 47s230 packages
Build✓ · 47s
Tests✓ · 17s3 passed · 0 failed of 3 (go test)
Repo79 files~2,882 lines of source · 1.2 MB · 3 CI workflows · Dockerfile

Answers from our run

Does mubeng build from source?

Dependencies installed in 47 seconds (230 packages), and the build succeeded in 47 seconds. We cloned commit 2709fa9 into a clean Debian container with 3 CPUs and no project-specific setup.

Do mubeng's tests pass?

Yes: 3 of 3 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use mubeng?

Anyone who needs a SOCKS listener: the README says rotation is exposed only through an HTTP proxy, even when upstream entries use SOCKS.

What are the alternatives to mubeng?

Proxify, mitmproxy, proxychains-ng. Our Mubeng run built in 47 seconds and passed all 3 tests in 17 seconds, so trying the 1.

Setup4/547-second build with binaries, Docker, and Go install paths
Docs4/5Flags, formats, certificates, AWS, and limitations are explicit
Community3/52,537 stars; current fixes sit in a 31-item issue and PR queue
Maturity3/5Useful core, but only 3 measured tests and daemon gaps remain

Who it’s for

Security testers who need to feed rotating upstream proxies into Burp Suite or OWASP ZAP.
Developers checking mixed HTTP, HTTPS, SOCKS4, and SOCKS5 proxy lists from one command.
Operators who want a single Go binary with file watching, authentication, retries, and formatted checker output.
Teams using their own authorized proxy pool and prepared to inspect traffic and certificate handling.

Who it’s NOT for

Anyone who needs a SOCKS listener: the README says rotation is exposed only through an HTTP proxy, even when upstream entries use SOCKS.
Operators who expect asynchronous requests to rotate at an exact boundary: the README says only sync mode guarantees waiting before the next request.
Services that depend on graceful SIGTERM shutdown: issue 314 reports that only interrupt signals enter the existing clean shutdown path.
Daemon users relying on retry flags: issue 316 says five retry and error options are omitted when service arguments are rebuilt.
Teams unwilling to trust a local certificate authority or the unsafe cipher suites enabled in v0.23.0.

Setup reality

Our sandbox install succeeded in 47 seconds and downloaded 230 Go packages. The build also took 47 seconds. Tests completed in 17 seconds, with 3 passing and 0 failing out of 3; the checkout held 79 files, about 2,882 source lines, and measured 1.2 MB.

Running it needs a proxy-list file, and authenticated entries may draw credentials from environment-variable templates. The AWS API Gateway mode needs access-key credentials and suitable regional permissions. HTTPS interception requires installing Mubeng's generated local CA certificate in the client you control.

Prebuilt binaries, a container image, and source installation are documented. Daemon mode replaces an existing Mubeng service before installing it again, while current issues report missing retry arguments and incomplete SIGTERM handling in service-like operation.

Mubeng turns a proxy list into one rotating HTTP endpoint

Mubeng has two jobs. It checks whether entries in a proxy file respond, then it can listen locally and forward requests through those upstream proxies. The input pool may mix HTTP, HTTPS, SOCKS4, SOCKS4A, SOCKS5, and Amazon API Gateway entries because the client transport selects the matching scheme. Applications point at one Mubeng HTTP address while the tool rotates the upstream route sequentially or randomly. That is a useful shape for scraping tests, authorized security work, and comparing proxy providers.

The codebase is compact. Our checkout had 79 files, roughly 2,882 source lines, and measured 1.2 MB. Mubeng still covers authentication on its listener, live reload when a proxy file changes, geographic filtering during checks, retries, removal of failed entries, custom output templates, and daemon installation. A prebuilt binary or container avoids a local compiler. Source users can install with Go or run the Make target, which keeps the first evaluation simpler than a multi-service proxy platform.

Rotation boundaries require sync mode

The default asynchronous server does not promise that request number N+1 uses a different upstream immediately after the rotation threshold. The README explains that concurrent work can cross that boundary before the previous request completes. Passing --sync makes requests wait and gives the rotation counter a predictable order, at the cost of concurrency. Buyers should decide which property matters: request throughput or exact sequencing. A test that sends serial requests will not expose the behavior of the default concurrent mode.

Error options add another policy layer. Mubeng can retry a failed request on the same proxy, rotate after errors, remove a bad proxy, and cap total failures. Those counters mean different things, and a negative maximum can keep rotation going indefinitely. Our 230 downloaded Go packages do not make the chosen policy safe by themselves. Set bounded values, log final failures, and test a pool containing slow, dead, and authentication-rejected proxies before sending a long job through it.

What happened when we ran it

Our fresh Debian sandbox installed the Go dependencies in 47 seconds, downloading 230 packages. Building commit 2709fa9 also took 47 seconds. The repository includes a Dockerfile and 3 CI workflow files, while it has no top-level tests directory. Nothing in the install or build log required manual packages, credentials, or a privileged container. That makes the source path easy to reproduce even when the eventual proxy workload has more network requirements.

Tests finished in 17 seconds, with 3 passed and 0 failed out of 3. That is a clean result, but it is a narrow suite for a network tool spanning several proxy protocols, certificate generation, service installation, retry state, and signal handling. Open issue 315 reports that the Make test target omits the pkg/helper/awsurl package and its parser tests. A proposed change would use a module-wide short test command. Our measured count remains 3; the issue explains why maintainers are discussing broader coverage.

The listener is HTTP even with SOCKS upstreams

Mubeng accepts SOCKS entries in the pool, yet its limitations section says the rotating server itself listens only as an HTTP proxy. A SOCKS-aware upstream will still be used by Mubeng's client transport, but an application that requires a SOCKS4 or SOCKS5 proxy endpoint cannot connect to Mubeng in that mode. This distinction is easy to miss because the feature list names supported upstream schemes without describing the listener in the same sentence.

TLS handling also deserves an explicit decision. Mubeng uses GoProxy's built-in certificate authority and lets users export a generated CA from a local URL. Installing that CA allows controlled clients to trust connections passed through the proxy. Release v0.23.0 also says unsafe cipher suites became enabled by default. Neither fact belongs in an unattended rollout. Limit CA trust to a dedicated test profile, keep proxy credentials out of checked-in files, and confirm whether older cipher support is acceptable for the environment.

Daemon mode drops options and replaces its service

The README says enabling daemon mode forcibly stops and uninstalls the existing Mubeng service, then installs and starts it again. That behavior is convenient for a deliberate upgrade and surprising as an incidental flag. Issue 316 reports that the service argument builder leaves out --rotate-on-error, --remove-on-error, and three numeric retry limits. The direct process retains them, according to the report, while the installed child falls back to defaults. A pending pull request addresses the mapping.

Issue 314 identifies a separate lifecycle problem: a direct process catches an interrupt but does not register SIGTERM, so the normal shutdown path is bypassed. Container managers and service supervisors commonly stop programs with SIGTERM. The report includes a reproduction and points to a focused proposed fix. Until that change is in the version you deploy, test the exact stop signal and check whether in-flight requests finish. The successful 17-second unit run did not exercise a live service stop.

Current source activity is ahead of the latest release

GitHub recorded 2,537 stars and 31 combined open issues and pull requests when fetched. The last push was August 17, 2026, and several August issues already had matching proposed fixes. The latest tagged release, v0.23.0, was published August 2, 2025. The older tag alone does not show abandonment because source and tracker activity continued a year later. It does mean binary users must distinguish released behavior from fixes still waiting on the default branch.

For a local, authorized proxy pool, Mubeng earns a trial. It built without drama, its core interface is clear, and Apache 2.0 permits broad use and modification. The 3-test result is too small to settle protocol and service behavior, so production acceptance should include dead proxies, concurrency, certificate trust, retries, daemon arguments, and supervisor shutdown. If the only requirement is rotating upstreams behind one HTTP endpoint, that work is manageable. More general interception or arbitrary TCP proxying calls for another tool.

Alternatives

ProjectWhat it isPick it when
ProxifyA Swiss Army proxy for capturing, manipulating, and replaying HTTP traffic.pick this instead when traffic inspection and rule-based modification matter more than rotating a proxy list.
mitmproxyAn interactive interception proxy with scripting and deep protocol inspection.pick this instead when debugging requests and responses is the main job.
proxychains-ngA Unix tool that sends an application's TCP connections through proxy chains.pick this instead when you need to wrap arbitrary command-line programs rather than expose an HTTP rotation server.

What people are saying

  1. [github-trending] mubeng/mubeng

Sources

  1. Mubeng repository and README
  2. Mubeng v0.23.0 release
  3. SIGTERM shutdown report
  4. Test target coverage report
  5. Daemon retry option report

More dev tools reviews

terminal-browser · fearless_simd · devops-exercises · scriptc · 30-seconds-of-code · styleguide · the whole board →