Saeed Vaziry 428140b931
refactoring (#116)
- refactoring architecture
- fix incomplete ssh logs
- code editor for scripts in the app
- remove Jobs and SSHCommands
2024-03-14 20:03:43 +01:00

47 lines
1.3 KiB
PHP
Executable File

<?php
namespace App\SSH\Services\Firewall;
use App\SSH\HasScripts;
class Ufw extends AbstractFirewall
{
use HasScripts;
public function install(): void
{
$this->service->server->ssh()->exec(
$this->getScript('ufw/install-ufw.sh'),
'install-ufw'
);
}
public function addRule(string $type, string $protocol, int $port, string $source, ?string $mask): void
{
$this->service->server->ssh()->exec(
$this->getScript('ufw/add-rule.sh', [
'type' => $type,
'protocol' => $protocol,
'port' => $port,
'source' => $source,
'mask' => $mask || $mask == 0 ? '/'.$mask : '',
]),
'add-firewall-rule'
);
}
public function removeRule(string $type, string $protocol, int $port, string $source, ?string $mask): void
{
$this->service->server->ssh()->exec(
$this->getScript('ufw/remove-rule.sh', [
'type' => $type,
'protocol' => $protocol,
'port' => $port,
'source' => $source,
'mask' => $mask || $mask == 0 ? '/'.$mask : '',
]),
'remove-firewall-rule'
);
}
}