init
This commit is contained in:
Executable
+65
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use LayLink\Agent\AgentClient;
|
||||
use LayLink\Util\Env;
|
||||
use Workerman\Worker;
|
||||
|
||||
require dirname(__DIR__) . '/vendor/autoload.php';
|
||||
|
||||
Env::load(dirname(__DIR__) . '/.env');
|
||||
Worker::$logFile = dirname(__DIR__) . '/runtime/workerman.log';
|
||||
Worker::$pidFile = dirname(__DIR__) . '/runtime/client-agent.pid';
|
||||
|
||||
$nodeId = Env::get('NODE_ID', 'client-01');
|
||||
|
||||
$bootAgent = function (string $protocol, string $listen, string $name) use ($nodeId): void {
|
||||
$agent = new AgentClient(
|
||||
$listen,
|
||||
$protocol,
|
||||
Env::get('POP_SERVER_ADDRESS', 'tcp://127.0.0.1:9001'),
|
||||
$nodeId,
|
||||
Env::get('NODE_TYPE', 'client'),
|
||||
Env::get('NODE_TOKEN', 'CHANGE_ME'),
|
||||
Env::get('NODE_ZONE', 'corp'),
|
||||
Env::get('AGENT_TRANSPORT_PROTOCOL', 'tcp'),
|
||||
Env::get('CLIENT_AGENT_AUTH_TOKEN', 'dev-token'),
|
||||
Env::get('CLIENT_AGENT_USER_ID', 'admin'),
|
||||
Env::get('CLIENT_AGENT_SOCKS5_AUTH_MODE', 'no-auth'),
|
||||
Env::get('CLIENT_AGENT_SOCKS5_USERNAME', ''),
|
||||
Env::get('CLIENT_AGENT_SOCKS5_PASSWORD', ''),
|
||||
$protocol === 'socks5'
|
||||
? Env::get('CLIENT_AGENT_SOCKS5_UDP_LISTEN_IP', '127.0.0.1') . ':' . Env::get('CLIENT_AGENT_SOCKS5_UDP_LISTEN_PORT', '1081')
|
||||
: null,
|
||||
Env::get('CLIENT_AGENT_SOCKS5_UDP_ADVERTISE_IP', Env::get('CLIENT_AGENT_SOCKS5_LISTEN_IP', '127.0.0.1')),
|
||||
);
|
||||
$agent->boot($name);
|
||||
};
|
||||
|
||||
if (Env::bool('CLIENT_AGENT_SOCKS5_ENABLED', true)) {
|
||||
$bootAgent(
|
||||
'socks5',
|
||||
Env::get('CLIENT_AGENT_SOCKS5_LISTEN_IP', '127.0.0.1') . ':' . Env::get('CLIENT_AGENT_SOCKS5_LISTEN_PORT', '1080'),
|
||||
'laylink-client-agent-socks5',
|
||||
);
|
||||
}
|
||||
|
||||
if (Env::bool('CLIENT_AGENT_HTTP_PROXY_ENABLED', false)) {
|
||||
$bootAgent(
|
||||
'http-proxy',
|
||||
Env::get('CLIENT_AGENT_HTTP_PROXY_LISTEN_IP', '127.0.0.1') . ':' . Env::get('CLIENT_AGENT_HTTP_PROXY_LISTEN_PORT', '8080'),
|
||||
'laylink-client-agent-http-proxy',
|
||||
);
|
||||
}
|
||||
|
||||
if (Env::bool('CLIENT_AGENT_RAW_JSON_ENABLED', false)) {
|
||||
$bootAgent(
|
||||
'raw-json',
|
||||
Env::get('CLIENT_AGENT_RAW_JSON_LISTEN_IP', '127.0.0.1') . ':' . Env::get('CLIENT_AGENT_RAW_JSON_LISTEN_PORT', '9000'),
|
||||
'laylink-client-agent-raw-json',
|
||||
);
|
||||
}
|
||||
|
||||
Worker::runAll();
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use LayLink\Server\PopServer;
|
||||
use LayLink\Util\Env;
|
||||
use Workerman\Worker;
|
||||
|
||||
require dirname(__DIR__) . '/vendor/autoload.php';
|
||||
|
||||
Env::load(dirname(__DIR__) . '/.env');
|
||||
Worker::$logFile = dirname(__DIR__) . '/runtime/workerman.log';
|
||||
Worker::$pidFile = dirname(__DIR__) . '/runtime/pop-server.pid';
|
||||
|
||||
$server = new PopServer(
|
||||
Env::get('POP_AGENT_LISTEN', '0.0.0.0:9001'),
|
||||
require dirname(__DIR__) . '/config/nodes.php',
|
||||
require dirname(__DIR__) . '/config/policies.php',
|
||||
Env::csv('POP_ALLOWED_AGENT_TRANSPORTS', ['tcp']),
|
||||
Env::get('AUDIT_LOG', dirname(__DIR__) . '/runtime/audit.log'),
|
||||
);
|
||||
$server->boot();
|
||||
|
||||
Worker::runAll();
|
||||
Reference in New Issue
Block a user