39 lines
805 B
PHP
Executable File
39 lines
805 B
PHP
Executable File
#!/usr/bin/php
|
|
<?php
|
|
if (!isset($argv[1])) {
|
|
exit(1);
|
|
}
|
|
$TMPFILE = $argv[1];
|
|
|
|
require_once __DIR__ . "/loader.php";
|
|
try {
|
|
$networks = (new NetworkConfigReader())->getConfigs();
|
|
$config = new Config();
|
|
$config->read();
|
|
|
|
$data = [];
|
|
|
|
|
|
//add new routes
|
|
foreach ($config["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[] = "ifconfig-push {$dst} {$mask}";
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
file_put_contents($TMPFILE, implode("\n", $data));
|
|
|
|
|
|
} catch (Exception $e) {
|
|
echo "\nError:" . $e->getMessage() . "\n";
|
|
exit(1);
|
|
}
|
|
|
|
exit(0); |