reactphp-http-proxy

Async HTTP proxy connector, tunnel any TCP/IP-based protocol through an HTTP CONNECT proxy server, built on top of ReactPHP.

MIT License

Downloads
1.4M
Stars
48
Committers
4
reactphp-http-proxy - Latest Release

Published by SimonFrings 7 months ago

  • Feature / Fix: Forward compatibility with Promise v3.
    (#56 by @SimonFrings)

  • Feature: Full PHP 8.3 compatibility.
    (#54 by @yadaiio)

  • Minor documentation improvements.
    (#53 and #55 by @yadaiio)

  • Update test suite to use new reactphp/async package instead of clue/reactphp-block.
    (#50 and #57 by @dinooo13 and @SimonFrings)

reactphp-http-proxy -

Published by SimonFrings about 2 years ago

  • Feature: Full support for PHP 8.1 and PHP 8.2.
    (#47 and #48 by @SimonFrings)

  • Feature: Mark passwords and URIs as #[\SensitiveParameter] (PHP 8.2+).
    (#49 by @SimonFrings)

  • Feature: Forward compatibility with upcoming Promise v3.
    (#44 by @clue)

  • Fix: Fix invalid references in exception stack trace.
    (#45 by @clue)

  • Improve test suite and fix legacy HHVM build.
    (#46 by @SimonFrings)

reactphp-http-proxy -

Published by clue about 3 years ago

  • Feature: Simplify usage by supporting new default loop and making Connector optional.
    (#41 and #42 by @clue)

    // old (still supported)
    $proxy = new Clue\React\HttpProxy\ProxyConnector(
        '127.0.0.1:8080',
        new React\Socket\Connector($loop)
    );
    
    // new (using default loop)
    $proxy = new Clue\React\HttpProxy\ProxyConnector('127.0.0.1:8080');
    
  • Documentation improvements and updated examples.
    (#39 and #43 by @clue and #40 by @PaulRotmann)

  • Improve test suite and use GitHub actions for continuous integration (CI).
    (#38 by @SimonFrings)

reactphp-http-proxy -

Published by clue about 4 years ago

  • Enhanced documentation for ReactPHP's new HTTP client.
    (#35 and #37 by @SimonFrings)

  • Improve test suite, prepare PHP 8 support and support PHPUnit 9.3.
    (#36 by @SimonFrings)

reactphp-http-proxy -

Published by clue over 4 years ago

  • Feature / Fix: Support PHP 7.4 by skipping unneeded cleanup of exception trace args.
    (#33 by @clue)

  • Clean up test suite and add .gitattributes to exclude dev files from exports.
    Run tests on PHP 7.4, PHPUnit 9 and simplify test matrix.
    Link to using SSH proxy (SSH tunnel) as an alternative.
    (#27 by @clue and #31, #32 and #34 by @SimonFrings)

reactphp-http-proxy -

Published by clue almost 6 years ago

  • Feature: Improve error reporting for failed connection attempts and improve
    cancellation forwarding during proxy connection setup.
    (#23 and #26 by @clue)

    All error messages now always contain a reference to the remote URI to give
    more details which connection actually failed and the reason for this error.
    Similarly, any underlying connection issues to the proxy server will now be
    reported as part of the previous exception.

    For most common use cases this means that simply reporting the Exception
    message should give the most relevant details for any connection issues:

    $promise = $proxy->connect('tcp://example.com:80');
    $promise->then(function (ConnectionInterface $conn) use ($loop) {
        // …
    }, function (Exception $e) {
        echo $e->getMessage();
    });
    
  • Feature: Add support for custom HTTP request headers.
    (#25 by @valga and @clue)

    // new: now supports custom HTTP request headers
    $proxy = new ProxyConnector('127.0.0.1:8080', $connector, array(
        'Proxy-Authorization' => 'Bearer abc123',
        'User-Agent' => 'ReactPHP'
    ));
    
  • Fix: Fix connecting to IPv6 destination hosts.
    (#22 by @clue)

  • Link to clue/reactphp-buzz for HTTP requests and update project homepage.
    (#21 and #24 by @clue)

reactphp-http-proxy -

Published by clue over 6 years ago

  • Feature: Support communication over Unix domain sockets (UDS)
    (#20 by @clue)

    // new: now supports communication over Unix domain sockets (UDS)
    $proxy = new ProxyConnector('http+unix:///tmp/proxy.sock', $connector);
    
  • Reduce memory consumption by avoiding circular reference from stream reader
    (#18 by @valga)

  • Improve documentation
    (#19 by @clue)

reactphp-http-proxy -

Published by clue about 7 years ago

  • Feature: Use socket error codes for connection rejections
    (#17 by @clue)

    $promise = $proxy->connect('imap.example.com:143');
    $promise->then(null, function (Exception $e) {
        if ($e->getCode() === SOCKET_EACCES) {
            echo 'Failed to authenticate with proxy!';
        }
        throw $e;
    });
    
  • Improve test suite by locking Travis distro so new defaults will not break the build and
    optionally exclude tests that rely on working internet connection
    (#15 and #16 by @clue)

reactphp-http-proxy -

Published by clue over 7 years ago

  • Feature: Support proxy authentication if proxy URL contains username/password
    (#14 by @clue)

    // new: username/password will now be passed to HTTP proxy server
    $proxy = new ProxyConnector('user:[email protected]:8080');
    
reactphp-http-proxy -

Published by clue over 7 years ago

  • First stable release, now following SemVer

Contains no other changes, so it's actually fully compatible with the v0.3.2 release.

reactphp-http-proxy -

Published by clue over 7 years ago

  • Fix: Fix rejecting invalid URIs and unexpected URI schemes
    (#13 by @clue)

  • Fix HHVM build for now again and ignore future HHVM build errors
    (#12 by @clue)

  • Documentation for Connector concepts (TCP/TLS, timeouts, DNS resolution)
    (#11 by @clue)

reactphp-http-proxy -

Published by clue over 7 years ago

  • Feature: Forward compatibility with upcoming Socket v1.0 and v0.8
    (#10 by @clue)
reactphp-http-proxy -

Published by clue over 7 years ago

  • Feature / BC break: Replace deprecated SocketClient with new Socket component
    (#9 by @clue)

    This implies that the ProxyConnector from this package now implements the
    React\Socket\ConnectorInterface instead of the legacy
    React\SocketClient\ConnectorInterface.

reactphp-http-proxy -

Published by clue over 7 years ago

  • Feature / BC break: Update SocketClient to v0.7 or v0.6 and
    use connect($uri) instead of create($host, $port)
    (#8 by @clue)

    // old
    $connector->create($host, $port)->then(function (Stream $conn) {
        $conn->write("…");
    });
    
    // new
    $connector->connect($uri)->then(function (ConnectionInterface $conn) {
        $conn->write("…");
    });
    
  • Improve test suite by adding PHPUnit to require-dev
    (#7 by @clue)

reactphp-http-proxy -

Published by clue almost 8 years ago

  • First tagged release
Package Rankings
Top 1.73% on Packagist.org
Badges
Extracted from project README
CI status installs on Packagist
Related Projects