Exemple #1
0
 public function setUp()
 {
     $loop = React\EventLoop\Factory::create();
     $dnsResolverFactory = new React\Dns\Resolver\Factory();
     $dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
     $factory = new Socks\Factory($loop, $dns);
     $this->client = $factory->createClient('127.0.0.1', 9050);
 }
Exemple #2
0
<?php

include_once __DIR__ . '/../vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$dnsResolverFactory = new React\Dns\Resolver\Factory();
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
$socket = new React\Socket\Server($loop);
$socket->listen('9050', 'localhost');
$factory = new Socks\Factory($loop, $dns);
$server = $factory->createServer($socket);
$server->setAuthArray(array('tom' => 'god', 'user' => 'p@ssw0rd'));
echo 'SOCKS server listening on localhost:9050' . PHP_EOL;
$loop->run();
<?php

include_once __DIR__ . '/../vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$dnsResolverFactory = new React\Dns\Resolver\Factory();
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
$factory = new Socks\Factory($loop, $dns);
// set next SOCKS server as target
$target = $factory->createClient('127.0.0.1', 9050);
$target->setAuth('user', 'p@ssw0rd');
// start a new server which forwards all connections to another SOCKS server
$socket = new React\Socket\Server($loop);
$server = new Socks\Server($socket, $loop, $target->createConnector());
$socket->listen('9051', 'localhost');
echo 'SOCKS server listening on localhost:9051 (which forwards everything to SOCKS server 127.0.0.1:9050)' . PHP_EOL;
$loop->run();
Exemple #4
0
<?php

use ConnectionManager\SecureConnectionManager;
use React\Promise\PromiseInterface;
use React\HttpClient\Client as HttpClient;
use React\HttpClient\Response;
use React\Stream\Stream;
include_once __DIR__ . '/../vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$dnsResolverFactory = new React\Dns\Resolver\Factory();
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
$factory = new Socks\Factory($loop, $dns);
$client = $factory->createClient('127.0.0.1', 9051);
$client->setTimeout(3.0);
$client->setResolveLocal(false);
//$client->setProtocolVersion(5);
// $client->setAuth('test','test');
echo 'Demo SOCKS client connecting to SOCKS server 127.0.0.1:9051' . PHP_EOL;
function ex(Exception $exception = null)
{
    if ($exception !== null) {
        echo 'message: ' . $exception->getMessage() . PHP_EOL;
        while ($exception = $exception->getPrevious()) {
            echo 'previous: ' . $exception->getMessage() . PHP_EOL;
        }
    }
}
function assertFail(PromiseInterface $promise, $name = 'end')
{
    return $promise->then(function (Stream $stream) use($name) {
        echo 'FAIL: connection to ' . $name . ' OK' . PHP_EOL;