#!/usr/bin/php context->getConfig()["ovpn"]["restart_cmd"]); } public function init(PluginContext $context): void { $this->context = $context; $this->checkConfig(); } private function checkConfig(): void { $config = $this->context->getConfig(); if (!isset($config["ovpn"])) { $config["ovpn"] = $this->context->getMetadata()["config"]; } } public function getRoutingConfig(): array { $networks = (new NetworkConfigReader())->getConfigs(); $data = []; //add new routes foreach ($this->context->getConfig() ["networks"] as $key) { if (isset($networks[$key])) { foreach ($networks[$key]["networks"] as $route) { $parts = explode("/", $route); $mask = long2ip(-1 << (32 - (int)$parts[1])); $dst = $parts[0]; $data[] = "push \"route {$dst} {$mask}\""; } } } return $data; } }