Skip to content

Commit 1308278

Browse files
committed
Remove Factory, create instances of Client and Server
1 parent 1161c73 commit 1308278

8 files changed

Lines changed: 18 additions & 125 deletions

File tree

README.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,8 @@ include_once __DIR__.'/vendor/autoload.php';
1919

2020
$loop = React\EventLoop\Factory::create();
2121

22-
// use google's dns servers
23-
$dnsResolverFactory = new React\Dns\Resolver\Factory();
24-
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
25-
2622
// create SOCKS client which communicates with SOCKS server 127.0.0.1:9050
27-
$factory = new Clue\React\Socks\Factory($loop, $dns);
28-
$client = $factory->createClient('127.0.0.1', 9050);
23+
$client = new Clue\React\Socks\Client($loop, '127.0.0.1', 9050);
2924

3025
// now work with your $client, see below
3126

@@ -34,7 +29,7 @@ $loop->run();
3429

3530
### Tunnelled TCP connections
3631

37-
The `Socks/Client` uses a [Promise](https://github.com/reactphp/promise)-based interface which makes working with asynchronous functions a breeze.
32+
The `Client` uses a [Promise](https://github.com/reactphp/promise)-based interface which makes working with asynchronous functions a breeze.
3833
Let's open up a TCP [Stream](https://github.com/reactphp/stream) connection and write some data:
3934
```PHP
4035
$tcp = $client->createConnector();
@@ -223,7 +218,7 @@ If you already have an SSH server set up, you can easily use it as a SOCKS tunne
223218
`$ ssh -D 9050 ssh-server`
224219

225220
```PHP
226-
$client = $factory->createClient('127.0.0.1', 9050);
221+
$client = new Client($loop, '127.0.0.1', 9050);
227222
```
228223

229224
### Using the Tor (anonymity network) to tunnel SOCKS connections
@@ -232,7 +227,7 @@ The [Tor anonymity network](http://www.torproject.org) client software is design
232227

233228
```PHP
234229

235-
$client = $factory->createClient('127.0.0.1', 9050);
230+
$client = new Client($loop, '127.0.0.1', 9050);
236231
$client->setResolveLocal(false);
237232
```
238233

examples/client.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,13 @@
33
use ConnectionManager\SecureConnectionManager;
44
use React\Promise\PromiseInterface;
55
use React\Stream\Stream;
6+
use Clue\React\Socks\Client;
67

78
include_once __DIR__.'/../vendor/autoload.php';
89

910
$loop = React\EventLoop\Factory::create();
1011

11-
$dnsResolverFactory = new React\Dns\Resolver\Factory();
12-
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
13-
14-
$factory = new Clue\React\Socks\Factory($loop, $dns);
15-
16-
$client = $factory->createClient('127.0.0.1', 9051);
12+
$client = new Client($loop, '127.0.0.1', 9051);
1713
$client->setTimeout(3.0);
1814
$client->setResolveLocal(false);
1915
//$client->setProtocolVersion(5);

examples/server-middleman.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
<?php
22

3+
use Clue\React\Socks\Client;
4+
use Clue\React\Socks\Server;
35
include_once __DIR__.'/../vendor/autoload.php';
46

57
$loop = React\EventLoop\Factory::create();
68

7-
$dnsResolverFactory = new React\Dns\Resolver\Factory();
8-
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
9-
10-
$factory = new Clue\React\Socks\Factory($loop, $dns);
11-
129
// set next SOCKS server as target
13-
$target = $factory->createClient('127.0.0.1',9050);
10+
$target = new Client($loop, '127.0.0.1',9050);
1411
$target->setAuth('user','p@ssw0rd');
1512

1613
// start a new server which forwards all connections to another SOCKS server
1714
$socket = new React\Socket\Server($loop);
18-
$server = new Clue\React\Socks\Server($socket, $loop, $target->createConnector());
15+
$socket->listen(9051, 'localhost');
1916

20-
$socket->listen('9051','localhost');
17+
$server = new Server($loop, $socket, $target->createConnector());
2118

2219
echo 'SOCKS server listening on localhost:9051 (which forwards everything to SOCKS server 127.0.0.1:9050)' . PHP_EOL;
2320

examples/server.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
<?php
22

3+
use Clue\React\Socks\Server;
34
include_once __DIR__.'/../vendor/autoload.php';
45

56
$loop = React\EventLoop\Factory::create();
67

7-
$dnsResolverFactory = new React\Dns\Resolver\Factory();
8-
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
9-
108
$socket = new React\Socket\Server($loop);
119
$socket->listen('9050','localhost');
1210

13-
$factory = new Clue\React\Socks\Factory($loop, $dns);
14-
$server = $factory->createServer($socket);
11+
$server = new Server($loop, $socket);
1512
$server->setAuthArray(array(
1613
'tom' => 'god',
1714
'user' => 'p@ssw0rd'

src/Factory.php

Lines changed: 0 additions & 33 deletions
This file was deleted.

tests/ClientApiTest.php

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?php
22

3-
use Clue\React\Socks;
43
use Clue\React\Socks\Client;
54

65
class ClientApiTest extends TestCase
@@ -11,13 +10,7 @@ class ClientApiTest extends TestCase
1110
public function setUp()
1211
{
1312
$loop = React\EventLoop\Factory::create();
14-
15-
$dnsResolverFactory = new React\Dns\Resolver\Factory();
16-
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);
17-
18-
$factory = new Socks\Factory($loop, $dns);
19-
20-
$this->client = $factory->createClient('127.0.0.1', 9050);
13+
$this->client = new Client($loop, '127.0.0.1', 9050);
2114
}
2215

2316
/**

tests/FactoryTest.php

Lines changed: 0 additions & 47 deletions
This file was deleted.

tests/PairTest.php

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
<?php
22

3-
use Clue\React\Socks\Factory;
43
use React\Stream\Stream;
4+
use Clue\React\Socks\Client;
5+
use Clue\React\Socks\Server;
56

67
class PairTest extends TestCase
78
{
89
private $loop;
9-
private $factory;
1010

1111
public function setUp()
1212
{
1313
$this->loop = React\EventLoop\Factory::create();
14-
15-
$dnsResolverFactory = new React\Dns\Resolver\Factory();
16-
$dns = $dnsResolverFactory->createCached('8.8.8.8', $this->loop);
17-
18-
$this->factory = new Factory($this->loop, $dns);
1914
}
2015

2116
public function testClientConnection()
@@ -24,14 +19,14 @@ public function testClientConnection()
2419
$port = $socket->getPort();
2520
$this->assertNotEquals(0, $port);
2621

27-
$server = $this->factory->createServer($socket);
22+
$server = new Server($this->loop, $socket);
2823

2924
$server->on('connection', function () use ($socket) {
3025
// close server socket once first connection has been established
3126
$socket->shutdown();
3227
});
3328

34-
$client = $this->factory->createClient('127.0.0.1', $port);
29+
$client = new Client($this->loop, '127.0.0.1', $port);
3530

3631
$that = $this;
3732
$client->getConnection('www.google.com', 80)->then(

0 commit comments

Comments
 (0)