mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-05 07:52:34 +00:00
Merge (#127)
This commit is contained in:
46
app/SSH/Services/Firewall/Ufw.php
Executable file
46
app/SSH/Services/Firewall/Ufw.php
Executable file
@ -0,0 +1,46 @@
|
||||
<?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'
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user