openwrt utils upd

This commit is contained in:
Evgeny Zinoviev 2023-03-23 07:35:02 +03:00
parent 5e0d6a17eb
commit be3701c558
2 changed files with 68 additions and 19 deletions

View File

@ -2,23 +2,23 @@
class MyOpenWrtUtils {
public static function getRoutingTable($table = null) {
$arguments = ['route-show'];
if ($table)
$arguments[] = $table;
// public static function getRoutingTable(?string $table = null): array {
// $arguments = ['route-show'];
// if ($table)
// $arguments[] = $table;
//
// return self::toList(self::run($arguments));
// }
//
// public static function getRoutingRules(): array {
// return self::toList(self::run(['rule-show']));
// }
//
// public static function ipsetList(string $set_name): array {
// return self::toList(self::run(['ipset-list', $set_name]));
// }
return self::toList(self::run($arguments));
}
public static function getRoutingRules() {
return self::toList(self::run(['rule-show']));
}
public static function ipsetList($set_name) {
return self::toList(self::run(['ipset-list', $set_name]));
}
public static function ipsetListAll() {
public static function ipsetListAll(): array {
global $config;
$args = ['ipset-list-all'];
@ -47,15 +47,15 @@ class MyOpenWrtUtils {
return $sets;
}
public static function ipsetAdd($set_name, $ip) {
public static function ipsetAdd(string $set_name, string $ip) {
return self::run(['ipset-add', $set_name, $ip]);
}
public static function ipsetDel($set_name, $ip) {
public static function ipsetDel(string $set_name, string $ip) {
return self::run(['ipset-del', $set_name, $ip]);
}
public static function getDHCPLeases() {
public static function getDHCPLeases(): array {
$list = self::toList(self::run(['dhcp-leases']));
$list = array_map('self::toDHCPLease', $list);
return $list;

View File

@ -0,0 +1,49 @@
#!/bin/sh
list_ipset() {
skip=1
while read -r line; do
if [ "$line" = "Members:" ]; then skip=0; continue; fi;
[ "$skip" = "1" ] && continue
echo "$line"
done
}
case "$1" in
dhcp-leases)
cat /tmp/dhcp.leases
;;
ipset-add)
ipset add "$2" "$3"
;;
ipset-del)
ipset del "$2" "$3"
;;
# ipset_list)
# ipset list "$2" | list_ipset
# ;;
ipset-list-all)
shift
while [ -n "$1" ]; do
echo ">$1"
skip=1
ipset list "$1" | list_ipset
shift
done
;;
# rule-show)
# ;;
#
# route-show)
# ;;
*)
2>&1 echo "error: invalid command"
exit 1
;;
esac