2) {
$title = "Remote control · " . $computer["host"] . " · " . $title;
} else {
$title = $computer["host"] . " · " . $title;
}
} else {
header("Location: /-/computers");
die();
}
}
if (isset($parts[2]) && $parts[2] !== "control") {
header("Location: /-/computers/" . $parts[1]);
die();
}
require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/header.inc';
$parts = array_values(array_filter($parts, function ($i) {
return $i !== "-";
}));
if (count($parts) === 2 || count($parts) === 3) {
array_unshift($parts, null);
}
?>
We are unable to give you access to this computer.
This computer is running Luna version 1.0.0. This version of Luna is considered malware because of inconspicuous behavior and is therefore not usable anymore and has been disabled. This means you cannot access this computer at the moment.
Update this computer to run Luna 1.1.0 or newer and try again.Owner: | = $owner === "raindrops" ? "Raindrops System" : "Cloudburst System" ?> |
Luna version: | = $computer["luna_version"] ?> |
System: | = $computer["os"] ?> |
OS kernel: | = $computer["kernel"] ?> |
Serial: | = $computer["serial"] ?> (= $computer["serial_source"] === "hardware" ? "logic board" : "OS" ?>) |
Last seen: | = date('j M, g:ia (T)', strtotime($computer["date"])) ?>, = timeAgo($computer["date"]) ?> |
Processors and graphics |
|
Main processor: | = trim($computer["cpu"]["manufacturer"] . " " . $computer["cpu"]["brand"] . " " . $computer["cpu"]["model"]) ?> (= $computer["cpu"]["speed"] ?> GHz) |
Processor threading: | = $computer["cpu"]["processors"] ?> processor= $computer["cpu"]["processors"] > 1 ? "s" : "" ?>, = $computer["cpu"]["physicalCores"] ?> core= $computer["cpu"]["physicalCores"] > 1 ? "s" : "" ?>= isset($computer["cpu"]["efficiencyCores"]) ? " (" . $computer["cpu"]["efficiencyCores"] . " efficiency, " . $computer["cpu"]["performanceCores"] . " performance)" : "" ?>, = $computer["cpu"]["cores"] ?> thread= $computer["cpu"]["cores"] > 1 ? "s" : "" ?> |
Hardware virtualization: | = $computer["cpu"]["virtualization"] ? "Capable" : "Disabled" ?> |
Level 1 cache: | = round($computer["cpu"]["cache"]["l1i"] / 1024, 2) ?> KiB (instruction), = round($computer["cpu"]["cache"]["l1d"] / 1024, 2) ?> KiB (data) |
Level 2 cache: | = isset($computer["cpu"]["cache"]["l2"]) ? round($computer["cpu"]["cache"]["l2"] / 1024**2, 2) . " MiB" : "Not supported" ?> |
Level 3 cache: | = isset($computer["cpu"]["cache"]["l3"]) ? round($computer["cpu"]["cache"]["l3"] / 1024**2, 2) . " MiB" : "Not supported" ?> |
Graphics processor= count($computer["gpu"]["controllers"]) > 1 ? "s" : "" ?>: |
= $controller["bus"] ?> = $controller["model"] ?> (= $controller["cores"] ?> cores, = $controller["vramDynamic"] ? "dynamic graphics memory" : $controller["vram"] . " MiB" ?>)
= $index < count($computer["gpu"]["controllers"]) - 1 ? " " : "" ?> |
Display= count($computer["gpu"]["displays"]) > 1 ? "s" : "" ?>: |
= $display["connection"] ?> = $display["vendor"] ?> = $display["model"] ?> (= $display["currentResX"] ?>x= $display["currentResY"] ?>= $display["currentResX"] !== $display["resolutionX"] ? ", native " . $display["resolutionX"] . "x" . $display["resolutionY"] : "" ?>, = $display["currentRefreshRate"] ?> Hz)
= $index < count($computer["gpu"]["controllers"]) - 1 ? " " : "" ?> |
System memory |
|
Physical memory: | = round($computer["ram"]["total"] / 1024**3, 2) ?> GiB (= round($computer["ram"]["used"] / 1024**2, 2) ?> MiB used, = round($computer["ram"]["free"] / 1024**2, 2) ?> MiB free) |
Memory usage: | = round($computer["ram"]["active"] / 1024**2, 2) ?> MiB active, = round($computer["ram"]["available"] / 1024**2, 2) ?> MiB available, = round($computer["ram"]["buffcache"] / 1024**2, 2) ?> MiB cache |
Swap memory: | = round($computer["ram"]["swaptotal"] / 1024**3, 2) ?> GiB (= round($computer["ram"]["swapused"] / 1024**2, 2) ?> MiB used, = round($computer["ram"]["swapfree"] / 1024**2, 2) ?> MiB free) |
RAM chips: |
= $chip["manufacturer"] ?> = round($chip["size"] / 1024**2, 2) ?> MiB = $chip["type"] ?>
= $index < count($computer["ram_chips"]) - 1 ? " " : "" ?> |
Battery |
|
Battery model: | = preg_replace("/ +/", " ", trim($computer["battery"]["manufacturer"] . " " . $computer["battery"]["type"] . " " . $computer["battery"]["model"])) ?> |
Charge level: | = $computer["battery"]["percent"] ?>%= $computer["battery"]["acConnected"] ? ", plugged in" : "" ?> (= round($computer["battery"]["voltage"], 2) ?> V) |
Cycles: | = $computer["battery"]["cycleCount"] ?> |
Remaining capacity: | = $computer["battery"]["currentCapacity"] ?>/= $computer["battery"]["maxCapacity"] ?> = $computer["battery"]["capacityUnit"] ?> (designed for = $computer["battery"]["designedCapacity"] ?> = $computer["battery"]["capacityUnit"] ?> 0): ?>, = round(($computer["battery"]["maxCapacity"] / $computer["battery"]["designedCapacity"]) * 100, 2) ?>% left) |
This computer does not contain a battery. | |
Operating system |
|
System: | = $computer["os_info"]["distro"] ?> = $computer["os_info"]["release"] ?> |
CPU architecture: | = $computer["os_info"]["arch"] ?> |
Kernel version: | = $computer["os_info"]["kernel"] ?> |
Code page: | = $computer["os_info"]["codepage"] ?> |
Build number: | = $computer["os_info"]["build"] ?> |
Serial number: | = $computer["os_info"]["serial"] ?> |
Startup interface: | = $computer["os_info"]["uefi"] ? "UEFI" : "BIOS (legacy)" ?> |
Software versions |
|
= match ($software) { "kernel" => "OS kernel", "systemOpenssl" => $computer["versions"]["systemOpensslLib"], "npm" => "NPM", "yarn" => "Yarn", "gulp" => "Gulp", "grunt" => "Grunt", "git" => "Git", "tsc" => "TypeScript", "mysql" => "MySQL", "redis" => "Redis", "mongodb" => "MongoDB", "apache" => "Apache HTTPD", "php" => "PHP", "docker" => "Docker", "postfix" => "Postfix SMTP Server", "postgresql" => "PostgreSQL", "perl" => "Perl", "python" => "Python (legacy)", "python3" => "Python", "pip" => "PIP (legacy)", "pip3" => "PIP", "java" => "Java", "gcc" => "C compiler", "virtualbox" => "VirtualBox", "bash" => "Bash", "zsh" => "zsh", "fish" => "Fish", "powershell" => "PowerShell", "dotnet" => ".NET", default => $software, } ?>: | = $version ?> |
You can remotely control this computer. Open remote control.
Note: The user of this computer will need to approve your connection request before you can see and control their screen.
TTY | Command | User | Open | Type |
---|---|---|---|---|
= $user["tty"] ?> | = str_replace("�", "", $user["command"]) ?> | = $user["user"] ?> | = $user["date"] . " " . $user["time"] ?> | = trim($user["ip"]) === "" || trim($user["ip"]) === ":1" || trim($user["ip"]) === "::1" ? "Local" : "Remote (" . $user["ip"] . ")" ?> |
Device | Mount point | Type | Used | Free | Total |
---|---|---|---|---|---|
= $fs["fs"] ?> | = $fs["mount"] ?> | = $fs["type"] ?> | = prettySize($fs["used"]) ?> (= $fs["use"] ?>%) | = prettySize($fs["available"]) ?> | = prettySize($fs["size"]) ?> |
Type | Manufacturer | Name | Default | Connection |
---|---|---|---|---|
= trim($device["type"]) === "" ? "Device" : $device["type"] ?> | = $device["manufacturer"] ?> | = $device["name"] ?> | = $device["default"] ? "Yes" : "" ?> | = trim($device["channel"]) === "" ? "Virtual" : $device["channel"] ?> |
Interface | State | IP addresses | MAC address | Type | Internal | Virtual | DHCP |
---|---|---|---|---|---|---|---|
= $iface["ifaceName"] ?> | = $iface["operstate"] === "up" ? "Active" : ($iface["operstate"] === "down" ? "Inactive" : "") ?> | = trim($iface["ip4"] !== "") ? $iface["ip4"] : "" ?>= trim($iface["ip6"] !== "") ? (trim($iface["ip4"] !== "") ? ", " : "") . $iface["ip6"] : "" ?> | = trim($iface["mac"] !== "") ? $iface["mac"] : "" ?> | = $iface["type"] === "wireless" ? "Wireless" : "Wired" ?> | = isset($iface["internal"]) && $iface["internal"] ? "Yes" : "" ?> | = $iface["virtual"] ? "Yes" : "" ?> | = $iface["dhcp"] ? "Yes" : "" ?> |
State | Protocol | Source | Destination | Process |
---|---|---|---|---|
= match ($connection["state"]) { "ESTABLISHED" => "Connected", "LISTEN" => "Listening", "CLOSING" => "Terminating", "UNKNOWN" => "?", "LAST_ACK", "FIN_WAIT2" => "Waiting", "TIME_WAIT" => "Waiting", "FIN_WAIT1" => "Closing", "SYN_RECV" => "Received", "SYN_SENT" => "Attempting", default => $connection["state"], } ?> | = match ($connection["protocol"]) { "tcp4" => "TCP over IPv4", "tcp6" => "TCP over IPv6", "tcp46" => "TCP over IPv4 and IPv6", "udp4" => "UDP over IPv4", "udp6" => "UDP over IPv6", "udp46" => "UDP over IPv4 and IPv6", default => $connection["protocol"], } ?> | = $connection["localAddress"] === "*" ? "<all>" : match ($connection["localAddress"]) { "127.0.0.1" => "<local IPv4>", "::1" => "<local IPv6>", default => $connection["localAddress"], } ?> (port = $connection["localPort"] ?>) | = $connection["peerAddress"] === "*" ? "<all>" : match ($connection["peerAddress"]) { "127.0.0.1" => "<local IPv4>", "::1" => "<local IPv6>", default => $connection["localAddress"], } ?> (= $connection["peerPort"] ?>) | 0) { echo($f[0]["name"] . " [" . $connection["pid"] . "]"); } else { echo($connection["pid"]); } ?> |
PID | Name | CPU | RAM | User | Started |
---|---|---|---|---|---|
= $process["pid"] ?> | = $process["name"] ?> | = round($process["cpu"], 2) ?>% | = round($process["ram"], 2) ?>% | = $process["user"] ?> | = timeAgo($process["date"]) ?> |
Click on a computer to view information about it (open windows, installed apps, ...).