init
This commit is contained in:
42
vendor/react/socket/examples/01-echo-server.php
vendored
Executable file
42
vendor/react/socket/examples/01-echo-server.php
vendored
Executable file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
// Just start this server and connect to it. Everything you send to it will be
|
||||
// sent back to you.
|
||||
//
|
||||
// $ php examples/01-echo-server.php 8000
|
||||
// $ telnet localhost 8000
|
||||
//
|
||||
// You can also run a secure TLS echo server like this:
|
||||
//
|
||||
// $ php examples/01-echo-server.php tls://127.0.0.1:8000 examples/localhost.pem
|
||||
// $ openssl s_client -connect localhost:8000
|
||||
//
|
||||
// You can also run a Unix domain socket (UDS) server like this:
|
||||
//
|
||||
// $ php examples/01-echo-server.php unix:///tmp/server.sock
|
||||
// $ nc -U /tmp/server.sock
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\Server;
|
||||
use React\Socket\ConnectionInterface;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$loop = Factory::create();
|
||||
|
||||
$server = new Server(isset($argv[1]) ? $argv[1] : 0, $loop, array(
|
||||
'tls' => array(
|
||||
'local_cert' => isset($argv[2]) ? $argv[2] : (__DIR__ . '/localhost.pem')
|
||||
)
|
||||
));
|
||||
|
||||
$server->on('connection', function (ConnectionInterface $conn) {
|
||||
echo '[' . $conn->getRemoteAddress() . ' connected]' . PHP_EOL;
|
||||
$conn->pipe($conn);
|
||||
});
|
||||
|
||||
$server->on('error', 'printf');
|
||||
|
||||
echo 'Listening on ' . $server->getAddress() . PHP_EOL;
|
||||
|
||||
$loop->run();
|
||||
59
vendor/react/socket/examples/02-chat-server.php
vendored
Executable file
59
vendor/react/socket/examples/02-chat-server.php
vendored
Executable file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
// Just start this server and connect with any number of clients to it.
|
||||
// Everything a client sends will be broadcasted to all connected clients.
|
||||
//
|
||||
// $ php examples/02-chat-server.php 8000
|
||||
// $ telnet localhost 8000
|
||||
//
|
||||
// You can also run a secure TLS chat server like this:
|
||||
//
|
||||
// $ php examples/02-chat-server.php tls://127.0.0.1:8000 examples/localhost.pem
|
||||
// $ openssl s_client -connect localhost:8000
|
||||
//
|
||||
// You can also run a Unix domain socket (UDS) server like this:
|
||||
//
|
||||
// $ php examples/02-chat-server.php unix:///tmp/server.sock
|
||||
// $ nc -U /tmp/server.sock
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\Server;
|
||||
use React\Socket\ConnectionInterface;
|
||||
use React\Socket\LimitingServer;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$loop = Factory::create();
|
||||
|
||||
$server = new Server(isset($argv[1]) ? $argv[1] : 0, $loop, array(
|
||||
'tls' => array(
|
||||
'local_cert' => isset($argv[2]) ? $argv[2] : (__DIR__ . '/localhost.pem')
|
||||
)
|
||||
));
|
||||
|
||||
$server = new LimitingServer($server, null);
|
||||
|
||||
$server->on('connection', function (ConnectionInterface $client) use ($server) {
|
||||
// whenever a new message comes in
|
||||
$client->on('data', function ($data) use ($client, $server) {
|
||||
// remove any non-word characters (just for the demo)
|
||||
$data = trim(preg_replace('/[^\w\d \.\,\-\!\?]/u', '', $data));
|
||||
|
||||
// ignore empty messages
|
||||
if ($data === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
// prefix with client IP and broadcast to all connected clients
|
||||
$data = trim(parse_url($client->getRemoteAddress(), PHP_URL_HOST), '[]') . ': ' . $data . PHP_EOL;
|
||||
foreach ($server->getConnections() as $connection) {
|
||||
$connection->write($data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$server->on('error', 'printf');
|
||||
|
||||
echo 'Listening on ' . $server->getAddress() . PHP_EOL;
|
||||
|
||||
$loop->run();
|
||||
57
vendor/react/socket/examples/03-http-server.php
vendored
Executable file
57
vendor/react/socket/examples/03-http-server.php
vendored
Executable file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
// Simple HTTP server example (for illustration purposes only).
|
||||
// This shows how a plaintext TCP/IP connection is accepted to then receive an
|
||||
// application level protocol message (HTTP request) and reply with an
|
||||
// application level protocol message (HTTP response) in return.
|
||||
//
|
||||
// This example exists for illustraion purposes only. It does not actually
|
||||
// parse incoming HTTP requests, so you can actually send *anything* and will
|
||||
// still respond with a valid HTTP response.
|
||||
// Real applications should use react/http instead!
|
||||
//
|
||||
// Just start this server and send a request to it:
|
||||
//
|
||||
// $ php examples/03-http-server.php 8000
|
||||
// $ curl -v http://localhost:8000/
|
||||
// $ ab -n1000 -c10 http://localhost:8000/
|
||||
// $ docker run -it --rm --net=host jordi/ab ab -n1000 -c10 http://localhost:8000/
|
||||
//
|
||||
// You can also run a secure HTTPS echo server like this:
|
||||
//
|
||||
// $ php examples/03-http-server.php tls://127.0.0.1:8000 examples/localhost.pem
|
||||
// $ curl -v --insecure https://localhost:8000/
|
||||
// $ ab -n1000 -c10 https://localhost:8000/
|
||||
// $ docker run -it --rm --net=host jordi/ab ab -n1000 -c10 https://localhost:8000/
|
||||
//
|
||||
// You can also run a Unix domain socket (UDS) server like this:
|
||||
//
|
||||
// $ php examples/03-http-server.php unix:///tmp/server.sock
|
||||
// $ nc -U /tmp/server.sock
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\Server;
|
||||
use React\Socket\ConnectionInterface;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$loop = Factory::create();
|
||||
|
||||
$server = new Server(isset($argv[1]) ? $argv[1] : 0, $loop, array(
|
||||
'tls' => array(
|
||||
'local_cert' => isset($argv[2]) ? $argv[2] : (__DIR__ . '/localhost.pem')
|
||||
)
|
||||
));
|
||||
|
||||
$server->on('connection', function (ConnectionInterface $conn) {
|
||||
$conn->once('data', function () use ($conn) {
|
||||
$body = "<html><h1>Hello world!</h1></html>\r\n";
|
||||
$conn->end("HTTP/1.1 200 OK\r\nContent-Length: " . strlen($body) . "\r\nConnection: close\r\n\r\n" . $body);
|
||||
});
|
||||
});
|
||||
|
||||
$server->on('error', 'printf');
|
||||
|
||||
echo 'Listening on ' . strtr($server->getAddress(), array('tcp:' => 'http:', 'tls:' => 'https:')) . PHP_EOL;
|
||||
|
||||
$loop->run();
|
||||
36
vendor/react/socket/examples/11-http-client.php
vendored
Executable file
36
vendor/react/socket/examples/11-http-client.php
vendored
Executable file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
// Simple plaintext HTTP client example (for illustration purposes only).
|
||||
// This shows how a plaintext TCP/IP connection is established to then send an
|
||||
// application level protocol message (HTTP).
|
||||
// Real applications should use react/http-client instead!
|
||||
//
|
||||
// This simple example only accepts an optional host parameter to send the
|
||||
// request to. See also example #22 for proper URI parsing.
|
||||
//
|
||||
// $ php examples/11-http-client.php
|
||||
// $ php examples/11-http-client.php reactphp.org
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\Connector;
|
||||
use React\Socket\ConnectionInterface;
|
||||
|
||||
$host = isset($argv[1]) ? $argv[1] : 'www.google.com';
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$loop = Factory::create();
|
||||
$connector = new Connector($loop);
|
||||
|
||||
$connector->connect($host. ':80')->then(function (ConnectionInterface $connection) use ($host) {
|
||||
$connection->on('data', function ($data) {
|
||||
echo $data;
|
||||
});
|
||||
$connection->on('close', function () {
|
||||
echo '[CLOSED]' . PHP_EOL;
|
||||
});
|
||||
|
||||
$connection->write("GET / HTTP/1.0\r\nHost: $host\r\n\r\n");
|
||||
}, 'printf');
|
||||
|
||||
$loop->run();
|
||||
36
vendor/react/socket/examples/12-https-client.php
vendored
Executable file
36
vendor/react/socket/examples/12-https-client.php
vendored
Executable file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
// Simple secure HTTPS client example (for illustration purposes only).
|
||||
// This shows how a secure TLS connection is established to then send an
|
||||
// application level protocol message (HTTP).
|
||||
// Real applications should use react/http-client instead
|
||||
//
|
||||
// This simple example only accepts an optional host parameter to send the
|
||||
// request to. See also example #22 for proper URI parsing.
|
||||
//
|
||||
// $ php examples/12-https-client.php
|
||||
// $ php examples/12-https-client.php reactphp.org
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\Connector;
|
||||
use React\Socket\ConnectionInterface;
|
||||
|
||||
$host = isset($argv[1]) ? $argv[1] : 'www.google.com';
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$loop = Factory::create();
|
||||
$connector = new Connector($loop);
|
||||
|
||||
$connector->connect('tls://' . $host . ':443')->then(function (ConnectionInterface $connection) use ($host) {
|
||||
$connection->on('data', function ($data) {
|
||||
echo $data;
|
||||
});
|
||||
$connection->on('close', function () {
|
||||
echo '[CLOSED]' . PHP_EOL;
|
||||
});
|
||||
|
||||
$connection->write("GET / HTTP/1.0\r\nHost: $host\r\n\r\n");
|
||||
}, 'printf');
|
||||
|
||||
$loop->run();
|
||||
68
vendor/react/socket/examples/21-netcat-client.php
vendored
Executable file
68
vendor/react/socket/examples/21-netcat-client.php
vendored
Executable file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
// Simple plaintext TCP/IP and secure TLS client example that pipes console I/O.
|
||||
// This shows how a plaintext TCP/IP or secure TLS connection is established and
|
||||
// then everything you type on STDIN will be sent and everything the server
|
||||
// sends will be piped to your STDOUT.
|
||||
//
|
||||
// $ php examples/21-netcat-client.php www.google.com:80
|
||||
// $ php examples/21-netcat-client.php tls://www.google.com:443
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\Connector;
|
||||
use React\Socket\ConnectionInterface;
|
||||
use React\Stream\ReadableResourceStream;
|
||||
use React\Stream\WritableResourceStream;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
if (!defined('STDIN')) {
|
||||
echo 'STDIO streams require CLI SAPI' . PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (DIRECTORY_SEPARATOR === '\\') {
|
||||
fwrite(STDERR, 'Non-blocking console I/O not supported on Microsoft Windows' . PHP_EOL);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!isset($argv[1])) {
|
||||
fwrite(STDERR, 'Usage error: required argument <host:port>' . PHP_EOL);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$loop = Factory::create();
|
||||
$connector = new Connector($loop);
|
||||
|
||||
$stdin = new ReadableResourceStream(STDIN, $loop);
|
||||
$stdin->pause();
|
||||
$stdout = new WritableResourceStream(STDOUT, $loop);
|
||||
$stderr = new WritableResourceStream(STDERR, $loop);
|
||||
|
||||
$stderr->write('Connecting' . PHP_EOL);
|
||||
|
||||
$connector->connect($argv[1])->then(function (ConnectionInterface $connection) use ($stdin, $stdout, $stderr) {
|
||||
// pipe everything from STDIN into connection
|
||||
$stdin->resume();
|
||||
$stdin->pipe($connection);
|
||||
|
||||
// pipe everything from connection to STDOUT
|
||||
$connection->pipe($stdout);
|
||||
|
||||
// report errors to STDERR
|
||||
$connection->on('error', function ($error) use ($stderr) {
|
||||
$stderr->write('Stream ERROR: ' . $error . PHP_EOL);
|
||||
});
|
||||
|
||||
// report closing and stop reading from input
|
||||
$connection->on('close', function () use ($stderr, $stdin) {
|
||||
$stderr->write('[CLOSED]' . PHP_EOL);
|
||||
$stdin->close();
|
||||
});
|
||||
|
||||
$stderr->write('Connected' . PHP_EOL);
|
||||
}, function ($error) use ($stderr) {
|
||||
$stderr->write('Connection ERROR: ' . $error . PHP_EOL);
|
||||
});
|
||||
|
||||
$loop->run();
|
||||
60
vendor/react/socket/examples/22-http-client.php
vendored
Executable file
60
vendor/react/socket/examples/22-http-client.php
vendored
Executable file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
// Simple plaintext HTTP and secure HTTPS client example (for illustration purposes only).
|
||||
// This shows how an URI parameter can parsed to decide whether to establish
|
||||
// a plaintext TCP/IP or secure TLS connection and then send an
|
||||
// application level protocol message (HTTP).
|
||||
// Real applications should use react/http-client instead!
|
||||
//
|
||||
// Unlike examples #11 and #12, this example will actually take an optional URI
|
||||
// parameter and parse it to connect to the correct default port and use the
|
||||
// correct transport protocol.
|
||||
//
|
||||
// $ php examples/22-http-client.php
|
||||
// $ php examples/22-http-client.php https://reactphp.org/
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\ConnectionInterface;
|
||||
use React\Socket\Connector;
|
||||
use React\Stream\WritableResourceStream;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$uri = isset($argv[1]) ? $argv[1] : 'www.google.com';
|
||||
|
||||
if (strpos($uri, '://') === false) {
|
||||
$uri = 'http://' . $uri;
|
||||
}
|
||||
$parts = parse_url($uri);
|
||||
|
||||
if (!$parts || !isset($parts['scheme'], $parts['host'])) {
|
||||
fwrite(STDERR, 'Usage error: required argument <host:port>' . PHP_EOL);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$loop = Factory::create();
|
||||
$connector = new Connector($loop);
|
||||
|
||||
if (!isset($parts['port'])) {
|
||||
$parts['port'] = $parts['scheme'] === 'https' ? 443 : 80;
|
||||
}
|
||||
|
||||
$host = $parts['host'];
|
||||
if (($parts['scheme'] === 'http' && $parts['port'] !== 80) || ($parts['scheme'] === 'https' && $parts['port'] !== 443)) {
|
||||
$host .= ':' . $parts['port'];
|
||||
}
|
||||
$target = ($parts['scheme'] === 'https' ? 'tls' : 'tcp') . '://' . $parts['host'] . ':' . $parts['port'];
|
||||
$resource = isset($parts['path']) ? $parts['path'] : '/';
|
||||
if (isset($parts['query'])) {
|
||||
$resource .= '?' . $parts['query'];
|
||||
}
|
||||
|
||||
$stdout = new WritableResourceStream(STDOUT, $loop);
|
||||
|
||||
$connector->connect($target)->then(function (ConnectionInterface $connection) use ($resource, $host, $stdout) {
|
||||
$connection->pipe($stdout);
|
||||
|
||||
$connection->write("GET $resource HTTP/1.0\r\nHost: $host\r\n\r\n");
|
||||
}, 'printf');
|
||||
|
||||
$loop->run();
|
||||
60
vendor/react/socket/examples/91-benchmark-server.php
vendored
Executable file
60
vendor/react/socket/examples/91-benchmark-server.php
vendored
Executable file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
// Just start the server and connect to it. It will count the number of bytes
|
||||
// sent for each connection and will print the average throughput once the
|
||||
// connection closes.
|
||||
//
|
||||
// $ php examples/91-benchmark-server.php 8000
|
||||
// $ telnet localhost 8000
|
||||
// $ echo hello world | nc -N localhost 8000
|
||||
// $ dd if=/dev/zero bs=1M count=1000 | nc -N localhost 8000
|
||||
//
|
||||
// You can also run a secure TLS benchmarking server like this:
|
||||
//
|
||||
// $ php examples/91-benchmark-server.php tls://127.0.0.1:8000 examples/localhost.pem
|
||||
// $ openssl s_client -connect localhost:8000
|
||||
// $ echo hello world | openssl s_client -connect localhost:8000
|
||||
// $ dd if=/dev/zero bs=1M count=1000 | openssl s_client -connect localhost:8000
|
||||
//
|
||||
// You can also run a Unix domain socket (UDS) server benchmark like this:
|
||||
//
|
||||
// $ php examples/91-benchmark-server.php unix:///tmp/server.sock
|
||||
// $ nc -N -U /tmp/server.sock
|
||||
// $ dd if=/dev/zero bs=1M count=1000 | nc -N -U /tmp/server.sock
|
||||
|
||||
use React\EventLoop\Factory;
|
||||
use React\Socket\Server;
|
||||
use React\Socket\ConnectionInterface;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
$loop = Factory::create();
|
||||
|
||||
$server = new Server(isset($argv[1]) ? $argv[1] : 0, $loop, array(
|
||||
'tls' => array(
|
||||
'local_cert' => isset($argv[2]) ? $argv[2] : (__DIR__ . '/localhost.pem')
|
||||
)
|
||||
));
|
||||
|
||||
$server->on('connection', function (ConnectionInterface $conn) use ($loop) {
|
||||
echo '[connected]' . PHP_EOL;
|
||||
|
||||
// count the number of bytes received from this connection
|
||||
$bytes = 0;
|
||||
$conn->on('data', function ($chunk) use (&$bytes) {
|
||||
$bytes += strlen($chunk);
|
||||
});
|
||||
|
||||
// report average throughput once client disconnects
|
||||
$t = microtime(true);
|
||||
$conn->on('close', function () use ($conn, $t, &$bytes) {
|
||||
$t = microtime(true) - $t;
|
||||
echo '[disconnected after receiving ' . $bytes . ' bytes in ' . round($t, 3) . 's => ' . round($bytes / $t / 1024 / 1024, 1) . ' MiB/s]' . PHP_EOL;
|
||||
});
|
||||
});
|
||||
|
||||
$server->on('error', 'printf');
|
||||
|
||||
echo 'Listening on ' . $server->getAddress() . PHP_EOL;
|
||||
|
||||
$loop->run();
|
||||
31
vendor/react/socket/examples/99-generate-self-signed.php
vendored
Executable file
31
vendor/react/socket/examples/99-generate-self-signed.php
vendored
Executable file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
// A very simple helper script used to generate self-signed certificates.
|
||||
// Accepts the CN and an optional passphrase to encrypt the private key.
|
||||
//
|
||||
// $ php 10-generate-self-signed.php localhost swordfish > secret.pem
|
||||
|
||||
// certificate details (Distinguished Name)
|
||||
// (OpenSSL applies defaults to missing fields)
|
||||
$dn = array(
|
||||
"commonName" => isset($argv[1]) ? $argv[1] : "localhost",
|
||||
// "countryName" => "AU",
|
||||
// "stateOrProvinceName" => "Some-State",
|
||||
// "localityName" => "London",
|
||||
// "organizationName" => "Internet Widgits Pty Ltd",
|
||||
// "organizationalUnitName" => "R&D",
|
||||
// "emailAddress" => "admin@example.com"
|
||||
);
|
||||
|
||||
// create certificate which is valid for ~10 years
|
||||
$privkey = openssl_pkey_new();
|
||||
$cert = openssl_csr_new($dn, $privkey);
|
||||
$cert = openssl_csr_sign($cert, null, $privkey, 3650);
|
||||
|
||||
// export public and (optionally encrypted) private key in PEM format
|
||||
openssl_x509_export($cert, $out);
|
||||
echo $out;
|
||||
|
||||
$passphrase = isset($argv[2]) ? $argv[2] : null;
|
||||
openssl_pkey_export($privkey, $out, $passphrase);
|
||||
echo $out;
|
||||
49
vendor/react/socket/examples/localhost.pem
vendored
Executable file
49
vendor/react/socket/examples/localhost.pem
vendored
Executable file
@@ -0,0 +1,49 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBZMRIwEAYDVQQDDAkxMjcu
|
||||
MC4wLjExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQK
|
||||
DBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTYxMjMwMTQ1OTA2WhcNMjYx
|
||||
MjI4MTQ1OTA2WjBZMRIwEAYDVQQDDAkxMjcuMC4wLjExCzAJBgNVBAYTAkFVMRMw
|
||||
EQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0
|
||||
eSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC8SZWNS+Ktg0Py
|
||||
W8dx5uXZ+ZUawd3wnzLMHW7EhoUpIrIdp3kDU9NezF68dOhPMJY/Kh+6btRCxWXN
|
||||
2OVTqS5Xi826j3TSE07iF83JRLeveW0PcodjUBd+RzdwCWWo2pfMJz4v7x1wu1c9
|
||||
zNi6JxxpDAXTFSB4GiWsI4tFu2XmMRhfm6LRK4WPfsZIJKokdiG5fKSPDn7nrVj0
|
||||
UUXr2eBsEAzdwL14U9+mwbLdaAkz3qK3fqi8sEC09lEWm95gKMOhkQf5qvXODtT4
|
||||
wdVrrKDTyehLv0xaItnUDnXzrkMBU5QS9TQzzqSW6ZaBsSxtONEFUiXiN9dtyXsY
|
||||
YCUE54G/AgMBAAGjUDBOMB0GA1UdDgQWBBQ2GRz3QsQzdXaTMnPVCKfpigA10DAf
|
||||
BgNVHSMEGDAWgBQ2GRz3QsQzdXaTMnPVCKfpigA10DAMBgNVHRMEBTADAQH/MA0G
|
||||
CSqGSIb3DQEBBQUAA4IBAQA77iZ4KrpPY18Ezjt0mngYAuAxunKddXYdLZ2khywN
|
||||
0uI/VzYnkFVtrsC7y2jLHSxlmE2/viPPGZDUplENV2acN6JNW+tlt7/bsrQHDQw3
|
||||
7VCF27EWiDxHsaghhLkqC+kcop5YR5c0oDQTdEWEKSbow2zayUXDYbRRs76SClTe
|
||||
824Yul+Ts8Mka+AX2PXDg47iZ84fJRN/nKavcJUTJ2iS1uYw0GNnFMge/uwsfMR3
|
||||
V47qN0X5emky8fcq99FlMCbcy0gHAeSWAjClgr2dd2i0LDatUbj7YmdmFcskOgII
|
||||
IwGfvuWR2yPevYGAE0QgFeLHniN3RW8zmpnX/XtrJ4a7
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC8SZWNS+Ktg0Py
|
||||
W8dx5uXZ+ZUawd3wnzLMHW7EhoUpIrIdp3kDU9NezF68dOhPMJY/Kh+6btRCxWXN
|
||||
2OVTqS5Xi826j3TSE07iF83JRLeveW0PcodjUBd+RzdwCWWo2pfMJz4v7x1wu1c9
|
||||
zNi6JxxpDAXTFSB4GiWsI4tFu2XmMRhfm6LRK4WPfsZIJKokdiG5fKSPDn7nrVj0
|
||||
UUXr2eBsEAzdwL14U9+mwbLdaAkz3qK3fqi8sEC09lEWm95gKMOhkQf5qvXODtT4
|
||||
wdVrrKDTyehLv0xaItnUDnXzrkMBU5QS9TQzzqSW6ZaBsSxtONEFUiXiN9dtyXsY
|
||||
YCUE54G/AgMBAAECggEBAKiO/3FE1CMddkCLZVtUp8ShqJgRokx9WI5ecwFApAkV
|
||||
ZHsjqDQQYRNmxhDUX/w0tOzLGyhde2xjJyZG29YviKsbHwu6zYwbeOzy/mkGOaK/
|
||||
g6DmmMmRs9Z6juifoQCu4GIFZ6il2adIL2vF7OeJh+eKudQj/7NFRSB7mXzNrQWK
|
||||
tZY3eux5zXWmio7pgZrx1HFZQiiL9NVLwT9J7oBnaoO3fREiu5J2xBpljG9Cr0j1
|
||||
LLiVLhukWJYRlHDtGt1CzI9w8iKo44PCRzpKyxpbsOrQxeSyEWUYQRv9VHA59LC7
|
||||
tVAJTbnTX1BNHkGZkOkoOpoZLwBaM2XbbDtcOGCAZMECgYEA+mTURFQ85/pxawvk
|
||||
9ndqZ+5He1u/bMLYIJDp0hdB/vgD+vw3gb2UyRwp0I6Wc6Si4FEEnbY7L0pzWsiR
|
||||
43CpLs+cyLfnD9NycuIasxs5fKb/1s1nGTkRAp7x9x/ZTtEf8v4YTmmMXFHzdo7V
|
||||
pv+czO89ppEDkxEtMf/b5SifhO8CgYEAwIDIUvXLduGhL+RPDwjc2SKdydXGV6om
|
||||
OEdt/V8oS801Z7k8l3gHXFm7zL/MpHmh9cag+F9dHK42kw2RSjDGsBlXXiAO1Z0I
|
||||
2A34OdPw/kow8fmIKWTMu3+28Kca+3RmUqeyaq0vazQ/bWMO9px+Ud3YfLo1Tn5I
|
||||
li0MecAx8DECgYEAvsLceKYYtL83c09fg2oc1ctSCCgw4WJcGAtvJ9DyRZacKbXH
|
||||
b/+H/+OF8879zmKqd+0hcCnqUzAMTCisBLPLIM+o6b45ufPkqKObpcJi/JWaKgLY
|
||||
vf2c+Psw6o4IF6T5Cz4MNIjzF06UBknxecYZpoPJ20F1kLCwVvxPgfl99l8CgYAb
|
||||
XfOcv67WTstgiJ+oroTfJamy+P5ClkDqvVTosW+EHz9ZaJ8xlXHOcj9do2LPey9I
|
||||
Rp250azmF+pQS5x9JKQKgv/FtN8HBVUtigbhCb14GUoODICMCfWFLmnumoMefnTR
|
||||
iV+3BLn6Dqp5vZxx+NuIffZ5/Or5JsDhALSGVomC8QKBgAi3Z/dNQrDHfkXMNn/L
|
||||
+EAoLuAbFgLs76r9VGgNaRQ/q5gex2bZEGoBj4Sxvs95NUIcfD9wKT7FF8HdxARv
|
||||
y3o6Bfc8Xp9So9SlFXrje+gkdEJ0rQR67d+XBuJZh86bXJHVrMwpoNL+ahLGdVSe
|
||||
81oh1uCH1YPLM29hPyaohxL8
|
||||
-----END PRIVATE KEY-----
|
||||
51
vendor/react/socket/examples/localhost_swordfish.pem
vendored
Executable file
51
vendor/react/socket/examples/localhost_swordfish.pem
vendored
Executable file
@@ -0,0 +1,51 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBZMRIwEAYDVQQDDAkxMjcu
|
||||
MC4wLjExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQK
|
||||
DBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMTYxMjMwMTQxMDQzWhcNMjYx
|
||||
MjI4MTQxMDQzWjBZMRIwEAYDVQQDDAkxMjcuMC4wLjExCzAJBgNVBAYTAkFVMRMw
|
||||
EQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0
|
||||
eSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRXt83SrKIHr/i
|
||||
3lc8O8pz6NHE1DNHJa4xg2xalXWzCEV6m1qLd9VdaLT9cJD1afNmEMBgY6RblNL/
|
||||
paJWVoR9MOUeIoYl2PrhUCxsf7h6MRtezQQe3e+n+/0XunF0JUQIZuJqbxfRk5WT
|
||||
XmYnphqOZKEcistAYvFBjzl/D+Cl/nYsreADc+t9l5Vni89oTWEuqIrsM4WUZqqB
|
||||
VMAakd2nZJLWIrMxq9hbW1XNukOQfcmZVFTC6CUnLq8qzGbtfZYBuMBACnL1k/E/
|
||||
yPaAgR46l14VAcndDUJBtMeL2qYuNwvXQhg3KuBmpTUpH+yzxU+4T3lmv0xXmPqu
|
||||
ySH3xvW3AgMBAAGjUDBOMB0GA1UdDgQWBBRu68WTI4pVeTB7wuG9QGI3Ie441TAf
|
||||
BgNVHSMEGDAWgBRu68WTI4pVeTB7wuG9QGI3Ie441TAMBgNVHRMEBTADAQH/MA0G
|
||||
CSqGSIb3DQEBBQUAA4IBAQCc4pEjEHO47VRJkbHgC+c2gAVgxekkaA1czBA1uAvh
|
||||
ILRda0NLlvyftbjaG0zZp2ABUCfRfksl/Pf/PzWLUMEuH/9kEW2rgP43z6YgiL6k
|
||||
kBPlmAU607UjD726RPGkw8QPSXS/dWiNJ5CBpPWLpxC45pokqItYbY0ijQ5Piq09
|
||||
TchYlCX044oSRnPiP394PQ3HVdaGhJB2DnjDq3in5dVivFf8EdgzQSvp/wXy3WQs
|
||||
uFSVonSnrZGY/4AgT3psGaQ6fqKb4SBoqtf5bFQvp1XNNRkuEJnS/0dygEya0c+c
|
||||
aCe/1gXC2wDjx0/TekY5m1Nyw5SY6z7stOqL/ekwgejt
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
||||
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIG7idPRLgiHkCAggA
|
||||
MBQGCCqGSIb3DQMHBAg+MLPdepHWSwSCBMgVW9LseCjfTAmF9U1qRnKsq3kIwEnW
|
||||
6aERBqs/mnmEhrXgZYgcvRRK7kD12TdHt/Nz46Ymu0h+Lrvuwtl1fHQUARTk/gFh
|
||||
onLhc9kjMUhLRIR007vJe3HvWOb/v+SBSDB38OpUxUwJmBVBuSaYLWVuPR6J5kUj
|
||||
xOgBS049lN3E9cfrHvb3bF/epIQrU0OgfyyxEvIi5n30y+tlRn3y68PY6Qd46t4Y
|
||||
UN5VZUwvJBgoRy9TGxSkiSRjhxC2PWpLYq/HMzDbcRcFF5dVAIioUd/VZ7fdgBfA
|
||||
uMW4SFfpFLDUX0aaYe+ZdA5tM0Bc0cOtG8Z0sc9JYDNNcvjmSiGCi646h8F0D3O6
|
||||
JKAQMMxQGWiyQeJ979LVjtq4lJESXA8VEKz9rV03y5xunmFCLy6dGt+6GJwXgabn
|
||||
OH7nvEv4GqAOqKc6E9je4JM+AF/oUazrfPse1KEEtsPKarazjCB/SKYtHyDJaavD
|
||||
GGjtiU9zWwGMOgIDyNmXe3ga7/TWoGOAg5YlTr6Hbq2Y/5ycgjAgPFjuXtvnoT0+
|
||||
mF5TnNfMAqTgQsE2gjhonK1pdlOen0lN5FtoUXp3CXU0dOq0J70GiX+1YA7VDn30
|
||||
n5WNAgfOXX3l3E95jGN370pHXyli5RUNW0NZVHV+22jlNWCVtQHUh+DVswQZg+i5
|
||||
+DqaIHz2jUetMo7gWtqGn/wwSopOs87VM1rcALhZL4EsJ+Zy81I/hA32RNnGbuol
|
||||
NAiZh+0KrtTcc/fPunpd8vRtOwGphM11dKucozUufuiPG2inR3aEqt5yNx54ec/f
|
||||
J6nryWRYiHEA/rCU9MSBM9cqKFtEmy9/8oxV41/SPxhXjHwDlABWTtFuJ3pf2sOF
|
||||
ILSYYFwB0ZGvdjE5yAJFBr9efno/L9fafmGk7a3vmVgK2AmUC9VNB5XHw1GjF8OP
|
||||
aQAXe4md9Bh0jk/D/iyp7e7IWNssul/7XejhabidWgFj6EXc9YxE59+FlhDqyMhn
|
||||
V6houc+QeUXuwsAKgRJJhJtpv/QSZ5BI3esxHHUt3ayGnvhFElpAc0t7C/EiXKIv
|
||||
DAFYP2jksBqijM8YtEgPWYzEP5buYxZnf/LK7FDocLsNcdF38UaKBbeF90e7bR8j
|
||||
SHspG9aJWICu8Yawnh8zuy/vQv+h9gWyGodd2p9lQzlbRXrutbwfmPf7xP6nzT9i
|
||||
9GcugJxTaZgkCfhhHxFk/nRHS2NAzagKVib1xkUlZJg2hX0fIFUdYteL1GGTvOx5
|
||||
m3mTOino4T19z9SEdZYb2OHYh29e/T74bJiLCYdXwevSYHxfZc8pYAf0jp4UnMT2
|
||||
f7B0ctX1iXuQ2uZVuxh+U1Mcu+v0gDla1jWh7AhcePSi4xBNUCak0kQip6r5e6Oi
|
||||
r4MIyMRk/Pc5pzEKo8G6nk26rNvX3aRvECoVfmK7IVdsqZ6IXlt9kOmWx3IeKzrO
|
||||
J5DxpzW+9oIRZJgPTkc4/XRb0tFmFQYTiChiQ1AJUEiCX0GpkFf7cq61aLGYtWyn
|
||||
vL2lmQhljzjrDo15hKErvk7eBZW7GW/6j/m/PfRdcBI4ceuP9zWQXnDOd9zmaE4b
|
||||
q3bJ+IbbyVZA2WwyzN7umCKWghsiPMAolxEnYM9JRf8BcqeqQiwVZlfO5KFuN6Ze
|
||||
le4=
|
||||
-----END ENCRYPTED PRIVATE KEY-----
|
||||
Reference in New Issue
Block a user