Skip to content

Releases: mubeng/mubeng

v0.23.0

02 Aug 20:52
164c0b1

Choose a tag to compare

Changelog

  • a8b0f24 feat(checker): adds custom output format option (#305)

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

    ▶ 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:

    # 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).

  • 53cac2d feat(mubeng): use unsafe cipher suites by default (#298)

v0.22.0

03 Feb 14:29
c87d7fa

Choose a tag to compare

Changelog

  • c87d7fa chore(docker): bump golang base image to 1.22
  • 337a3c6 feat(server): allow http2 by default (#284)
  • 959d6dd build(deps): bump the gomod group with 4 updates (#285)
  • 3ae1740 chore(deps): go mod tidy
  • 5d0299a build(deps): bump the gomod group with 4 updates (#282)
  • 1006113 build(deps): bump the gomod group with 5 updates (#279)
  • 5a76487 build(deps): bump the gomod group across 1 directory with 5 updates (#277)
  • 407b35d build(deps): bump github.com/elazarl/goproxy in the gomod group (#275)
  • 6bb8ead build(deps): bump the gomod group across 1 directory with 5 updates (#273)
  • 7da985a build(deps): bump the gomod group across 1 directory with 5 updates (#268)
  • 9d875d0 build(deps): bump the gomod group with 6 updates (#263)

v0.21.0

02 Jan 14:06
11a7920

Choose a tag to compare

Changelog

Amazon API Gateway

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

Format for AWS proxy strings:

aws://AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY@REGION

Tip

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.

This quoting feature only works for the aws protocol scheme.

To get started, you'll need to:

  1. Export your AWS credentials as environment variables
export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" 
  1. Create a proxy list file containing AWS regions

Generate proxy entries for multiple AWS regions:

echo "aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@"{us,eu}"-"{east,west}"-"{1,2} | tr ' ' '\n' > list.txt

This will create entries for regions like:

  • aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@us-east-1
  • aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@us-east-2
  • aws://{{AWS_ACCESS_KEY_ID}}:{{AWS_SECRET_ACCESS_KEY}}@us-west-1
  • ...
  1. Start mubeng proxy server pointing to your AWS proxy list:
$ mubeng -f list.txt -a :8080

This 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 feature described above.

Note

Ensure your AWS credentials have the appropriate permissions to access API Gateway in the specified regions.

v0.19.0

21 Dec 19:46
a77f2d5

Choose a tag to compare

Changelog

v0.18.0

15 Sep 20:47
034b8aa

Choose a tag to compare

Changelog

  • 034b8aa docs(README): add notes for max-errors & max-retries
  • 0724d5f feat(server): infinite max. errors if lt 0
  • 9c37b4d docs: add remove-on-error option
  • 7f946f3 feat: add remove-on-error option
  • fd8db54 refactor(proxymanager): handle Proxies index
  • 7faca4e feat: add errors pkg
  • 711da74 feat(server): add proxy count log
  • 8a90f36 feat(proxymanager): add Count method
  • e51a07a feat(proxymanager): add RemoveProxy method

v0.17.0

07 Sep 09:36
4892854

Choose a tag to compare

Changelog

  • 4892854 docs(README): update preview usage img
  • 85d7582 chore: tidy up go mods
  • a6a39a3 docs(README): minor wording changes
  • 82ae8ac feat: add --rotate-on-error & --max-errors options (#249)

v0.16.0

04 Sep 10:21
901e2cb

Choose a tag to compare

Changelog

  • 901e2cb feat: add Timeout field to Proxy
  • c65b80d feat: add --max-redirects option (#248)
  • 66705fe feat: defaulting max retries to 0
  • 414ecaf feat(server): early returns for unsupported schemes
  • aa6624e refactor(server): use ProxyManager.Rotate method
  • 96de3aa feat(proxymanager): add Rotate method
  • cc2f825 feat: retryable HTTP requests (#245)

v0.15.3

03 Sep 08:43
7676522

Choose a tag to compare

Changelog

  • 7676522 docs: update img figures
  • 4a35de2 feat(runner): adjust default goroutine to 50
  • 5221e02 feat(runner): use stdin data if any
  • 5ff0df2 feat(runner): add hasStdin util

v0.15.0

03 Sep 07:43
9830b86

Choose a tag to compare

Changelog

  • dcfd2fa feat(server): handle logo.Open err
  • a575344 feat(server): update mubeng.New impl
  • 982b53f feat(checker): update mubeng.New impl
  • 9ab7897 refactor(mubeng): replace *http.Request return with err

v0.14.2

26 Jan 07:07
ae2221d

Choose a tag to compare

Changelog

  • ae2221d feat: handle http.ErrServerClosed when interrupted (#227)
  • b2266f9 fix: NIL pointer deref in onRequest (#226)