1. Go to this page and download the library: Download clue/socks-server library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
clue / socks-server example snippets
// old from clue/socks-server
$server = new Clue\React\Socks\Server\Server($loop, $socket);
// new
$server = new Clue\React\Socks\Server($loop, $socket);
$loop = React\EventLoop\Factory::create();
// listen on localhost:1080
$socket = new Socket($loop);
$socket->listen(1080,'localhost');
// start a new server listening for incoming connection on the given socket
$server = new Server($loop, $socket);
$loop->run();
$loop = \React\EventLoop\Factory::create();
// listen on localhost:$port
$socket = new Socket($loop);
$socket->listen($port,'localhost');
$server = new Server($loop, $socket);
// use local DNS server
$dnsResolverFactory = new DnsFactory();
$resolver = $dnsResolverFactory->createCached('127.0.0.1', $loop);
// outgoing connections to target host via interface 192.168.10.1
$connector = new DnsConnector(
new TcpConnector($loop, array('bindto' => '192.168.10.1:0')),
$resolver
);
$server = new Server($loop, $socket, $connector);
$server->setProtocolVersion(5);
$server->setProtocolVersion(null);
$server->setAuth(function ($username, $password) {
// either return a boolean success value right away
// or use promises for delayed authentication
});
// set next SOCKS server localhost:$targetPort as target
$connector = new React\Socket\TcpConnector($loop);
$client = new Clue\React\Socks\Client('user:[email protected]:' . $targetPort, $connector);
// listen on localhost:$middlemanPort
$socket = new Socket($loop);
$socket->listen($middlemanPort, 'localhost');
// start a new server which forwards all connections to the other SOCKS server
$server = new Server($loop, $socket, $client);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.