mirror of
https://github.com/openwrt/packages.git
synced 2025-12-21 23:34:31 +04:00
pbr: 1.1.8-36 bugfixes
- drop load_environment_flag and always load environment on start, making restart command great again - store/restore existing jshn namespace when using json() - remove unneeded sleepCount in is_wan_up() - move updated README inside files/ Signed-off-by: Stan Grishin <stangri@melmac.ca>
This commit is contained in:
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=pbr
|
PKG_NAME:=pbr
|
||||||
PKG_VERSION:=1.1.8
|
PKG_VERSION:=1.1.8
|
||||||
PKG_RELEASE:=34
|
PKG_RELEASE:=36
|
||||||
PKG_LICENSE:=AGPL-3.0-or-later
|
PKG_LICENSE:=AGPL-3.0-or-later
|
||||||
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
# Policy-Based Routing (pbr)
|
|
||||||
|
|
||||||
[](https://openwrt.org)
|
|
||||||
[](https://docs.openwrt.melmac.ca/pbr/)
|
|
||||||
[](https://github.com/stangri/pbr/blob/master/LICENSE)
|
|
||||||
|
|
||||||
Flexible policy-based routing (PBR) framework for OpenWrt.
|
|
||||||
Allows routing specific traffic (by IP, MAC, port, protocol, or domain) through a specific WAN, VPN, or tunnel.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- Route by IP, MAC, port, or domain name
|
|
||||||
- Works with WAN, VPNs (WireGuard, OpenVPN), or tunnels
|
|
||||||
- Lightweight shell-based implementation
|
|
||||||
- Optional Web UI integration via LuCI
|
|
||||||
|
|
||||||
**Full documentation:**
|
|
||||||
[https://docs.openwrt.melmac.ca/pbr/](https://docs.openwrt.melmac.ca/pbr/)
|
|
||||||
@@ -1,3 +1,18 @@
|
|||||||
# README
|
# Policy-Based Routing (pbr)
|
||||||
|
|
||||||
README is available at [https://docs.openwrt.melmac.net/pbr/](https://docs.openwrt.melmac.net/pbr/).
|
[](https://openwrt.org)
|
||||||
|
[](https://docs.openwrt.melmac.ca/pbr/)
|
||||||
|
[](https://github.com/stangri/pbr/blob/master/LICENSE)
|
||||||
|
|
||||||
|
Flexible policy-based routing (PBR) framework for OpenWrt.
|
||||||
|
Allows routing specific traffic (by IP, MAC, port, protocol, or domain) through a specific WAN, VPN, or tunnel.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Route by IP, MAC, port, or domain name
|
||||||
|
- Works with WAN, VPNs (WireGuard, OpenVPN), or tunnels
|
||||||
|
- Lightweight shell-based implementation
|
||||||
|
- Optional Web UI integration via LuCI
|
||||||
|
|
||||||
|
**Full documentation:**
|
||||||
|
[https://docs.openwrt.melmac.ca/pbr/](https://docs.openwrt.melmac.ca/pbr/)
|
||||||
|
|||||||
@@ -101,7 +101,6 @@ nft_set_policy=
|
|||||||
nft_set_timeout=
|
nft_set_timeout=
|
||||||
|
|
||||||
# run-time
|
# run-time
|
||||||
load_environment_flag=
|
|
||||||
aghConfigFile='/etc/AdGuardHome/AdGuardHome.yaml'
|
aghConfigFile='/etc/AdGuardHome/AdGuardHome.yaml'
|
||||||
gatewaySummary=
|
gatewaySummary=
|
||||||
wanIface4=
|
wanIface4=
|
||||||
@@ -569,7 +568,6 @@ load_environment() {
|
|||||||
return "$_ret"
|
return "$_ret"
|
||||||
}
|
}
|
||||||
local param="$1" validation_result="$2"
|
local param="$1" validation_result="$2"
|
||||||
[ -z "$load_environment_flag" ] || return 0
|
|
||||||
case "$param" in
|
case "$param" in
|
||||||
on_boot|on_start)
|
on_boot|on_start)
|
||||||
json init
|
json init
|
||||||
@@ -607,7 +605,6 @@ load_environment() {
|
|||||||
load_network "$param"
|
load_network "$param"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
load_environment_flag=1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# shellcheck disable=SC2317
|
# shellcheck disable=SC2317
|
||||||
@@ -648,7 +645,7 @@ load_network() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
is_wan_up() {
|
is_wan_up() {
|
||||||
local sleepCount='1' param="$1"
|
local param="$1"
|
||||||
if [ -z "$(uci_get network "$procd_wan_interface")" ]; then
|
if [ -z "$(uci_get network "$procd_wan_interface")" ]; then
|
||||||
json add error 'errorNoWanInterface' "$procd_wan_interface"
|
json add error 'errorNoWanInterface' "$procd_wan_interface"
|
||||||
json add error 'errorNoWanInterfaceHint'
|
json add error 'errorNoWanInterfaceHint'
|
||||||
@@ -864,8 +861,10 @@ cleanup_sets() {
|
|||||||
json() {
|
json() {
|
||||||
local status message stats i
|
local status message stats i
|
||||||
local action="$1" param="$2" value="$3"; shift 3; local info="$*";
|
local action="$1" param="$2" value="$3"; shift 3; local info="$*";
|
||||||
|
local _current_namespace="$_JSON_PREFIX"
|
||||||
[ "$param" = 'error' ] && param='errors'
|
[ "$param" = 'error' ] && param='errors'
|
||||||
[ "$param" = 'warning' ] && param='warnings'
|
[ "$param" = 'warning' ] && param='warnings'
|
||||||
|
json_set_namespace "${packageName}_"
|
||||||
{ json_load_file "$runningStatusFile" || json_init; } >/dev/null 2>&1
|
{ json_load_file "$runningStatusFile" || json_init; } >/dev/null 2>&1
|
||||||
case "$action" in
|
case "$action" in
|
||||||
'get')
|
'get')
|
||||||
@@ -882,6 +881,7 @@ json() {
|
|||||||
fi
|
fi
|
||||||
printf "%b" "$i"
|
printf "%b" "$i"
|
||||||
json_select ..
|
json_select ..
|
||||||
|
json_set_namespace "$_current_namespace"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
'add')
|
'add')
|
||||||
@@ -903,6 +903,7 @@ json() {
|
|||||||
mkdir -p "${runningStatusFile%/*}"
|
mkdir -p "${runningStatusFile%/*}"
|
||||||
json_dump > "$runningStatusFile"
|
json_dump > "$runningStatusFile"
|
||||||
sync
|
sync
|
||||||
|
json_set_namespace "$_current_namespace"
|
||||||
}
|
}
|
||||||
|
|
||||||
resolver() {
|
resolver() {
|
||||||
|
|||||||
Reference in New Issue
Block a user