mirror of
https://github.com/gSpotx2f/ruantiblock_openwrt.git
synced 2026-05-14 22:50:58 +00:00
v0.9.2. New blacklist source: ruabtiblock. Allowed hosts option. Configuration variable changes. Removed total-proxy.
This commit is contained in:
@@ -16,7 +16,7 @@ export LANGUAGE="en"
|
||||
CONFIG_DIR="/etc/${NAME}"
|
||||
CONFIG_FILE="${CONFIG_DIR}/${NAME}.conf"
|
||||
export DATA_DIR="${CONFIG_DIR}/var"
|
||||
export MODULES_DIR="/usr/bin"
|
||||
export MODULES_DIR="/usr/libexec/${NAME}"
|
||||
|
||||
### Команда для перезапуска dnsmasq
|
||||
export DNSMASQ_RESTART_CMD="/etc/init.d/dnsmasq restart"
|
||||
@@ -31,12 +31,16 @@ export PROXY_MODE=1
|
||||
export PROXY_LOCAL_CLIENTS=1
|
||||
### Удаление записей из основных сетов перед началом заполнения временных сетов при обновлении (для освобождения оперативной памяти перед заполнением сетов) (0 - off, 1 - on)
|
||||
export IPSET_CLEAR_SETS=0
|
||||
### Входящий сетевой интерфейс для правил iptables
|
||||
export IF_LAN=""
|
||||
### Режим фильтра хостов которым разрешено обходить блокировки (0 - выкл., 1 - только адреса из списка, 2 - любые адреса кроме присутствующих в списке)
|
||||
export ALOWED_HOSTS_MODE=0
|
||||
### Список IP адресов хостов для фильтра, через пробел (прим.: 192.168.0.10 192.168.0.15)
|
||||
export ALOWED_HOSTS_LIST=""
|
||||
### VPN интерфейс для правил iptables
|
||||
export IF_VPN="tun0"
|
||||
### Порт транспарентного proxy Tor (параметр TransPort в torrc)
|
||||
export TOR_TRANS_PORT=9040
|
||||
### Отправлять в Tor UDP-трафик
|
||||
export TOR_ALLOW_UDP=1
|
||||
### DNS-сервер для резолвинга в домене .onion (Tor)
|
||||
export ONION_DNS_ADDR="127.0.0.1#9053"
|
||||
### Добавление в список блокировок пользовательских записей из файла $USER_ENTRIES_FILE (0 - off, 1 - on)
|
||||
@@ -49,13 +53,9 @@ export USER_ENTRIES_DNS=""
|
||||
### Файл пользовательских записей
|
||||
export USER_ENTRIES_FILE="${CONFIG_DIR}/user_entries"
|
||||
### Запись событий в syslog (0 - off, 1 - on)
|
||||
export USE_LOGGER=1
|
||||
### Режим полного прокси при старте скрипта (0 - off, 1 - on). Если 1, то весь трафик всегда идёт через прокси. Все пакеты попадающие в цепочку $IPT_CHAIN попадают в tor или VPN, за исключением сетей из $TOTAL_PROXY_EXCLUDE_NETS. Списки блокировок не используются для фильтрации. Работает только при PROXY_LOCAL_CLIENTS=0
|
||||
export DEF_TOTAL_PROXY=0
|
||||
### Трафик в заданные сети идет напрямую, не попадая в Tor или VPN, в режиме total-proxy
|
||||
export TOTAL_PROXY_EXCLUDE_NETS="10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 100.64.0.0/10"
|
||||
export ENABLE_LOGGING=1
|
||||
### Html-страница с инфо о текущем статусе (0 - off, 1 - on) (не используется в OpenWrt)
|
||||
export HTML_INFO=0
|
||||
export ENABLE_HTML_INFO=0
|
||||
### --set-mark для отбора пакетов в VPN туннель
|
||||
export VPN_PKTS_MARK=8
|
||||
### Максимальное кол-во элементов списка ipset
|
||||
@@ -73,44 +73,40 @@ export BLLIST_MODULE=""
|
||||
|
||||
##############################
|
||||
|
||||
### Источник для обновления списка блокировок (rublacklist, zapret-info, antifilter)
|
||||
export BLLIST_SOURCE="rublacklist"
|
||||
### Режим обхода блокировок: ip, fqdn
|
||||
export BLLIST_MODE="ip"
|
||||
### Режим обхода блокировок: zapret-info-fqdn, zapret-info-ip, rublacklist-fqdn, rublacklist-ip, antifilter-ip, ruantiblock-fqdn, ruantiblock-ip
|
||||
export BLLIST_PRESET="zapret-info-fqdn"
|
||||
### В случае если из источника получено менее указанного кол-ва записей, то обновления списков не происходит
|
||||
export BLLIST_MIN_ENTRS=30000
|
||||
|
||||
export BLLIST_MIN_ENTRIES=30000
|
||||
### Лимит IP адресов. При достижении, в конфиг ipset будет добавлена вся подсеть /24 вместо множества IP адресов пренадлежащих этой сети (0 - off)
|
||||
export IP_LIMIT=0
|
||||
### Подсети класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр.). Прим.: OPT_EXCLUDE_NETS="68.183.221. 149.154.162."
|
||||
export OPT_EXCLUDE_NETS=""
|
||||
export BLLIST_IP_LIMIT=0
|
||||
### Подсети класса C (/24). IP адреса из этих подсетей не группируются при оптимизации (записи д.б. в виде: 68.183.221. 149.154.162. и пр.). Прим.: "68.183.221. 149.154.162."
|
||||
export BLLIST_GR_EXCLUDED_NETS=""
|
||||
### Группировать идущие подряд IP адреса в подсетях /24 в диапазоны CIDR
|
||||
export SUMMARIZE_IP=0
|
||||
export BLLIST_SUMMARIZE_IP=0
|
||||
### Группировать идущие подряд подсети /24 в диапазоны CIDR
|
||||
export SUMMARIZE_CIDR=0
|
||||
### Фильтрация записей блэклиста по шаблонам из файла IP_FILTER_FILE. Записи (IP, CIDR) попадающие под шаблоны исключаются из кофига ipset (0 - off, 1 - on)
|
||||
export IP_FILTER=0
|
||||
### Файл с шаблонами IP для опции FQDN_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
|
||||
export IP_FILTER_FILE="${CONFIG_DIR}/ip_filter"
|
||||
|
||||
### Лимит для субдоменов. При достижении, в конфиг dnsmasq будет добавлен весь домен 2-го ур-ня вместо множества субдоменов (0 - off)
|
||||
export SD_LIMIT=16
|
||||
### SLD не подлежащие оптимизации (через пробел)
|
||||
export OPT_EXCLUDE_SLD="livejournal.com facebook.com vk.com blog.jp msk.ru net.ru org.ru net.ua com.ua org.ua co.uk amazonaws.com"
|
||||
### Не оптимизировать SLD попадающие под выражения (через пробел) ("[.][a-z]{2,3}[.][a-z]{2}$")
|
||||
export OPT_EXCLUDE_MASKS=""
|
||||
export BLLIST_SUMMARIZE_CIDR=0
|
||||
### Фильтрация записей блэклиста по шаблонам из файла BLLIST_IP_FILTER_FILE. Записи (IP, CIDR) попадающие под шаблоны исключаются из кофига ipset (0 - off, 1 - on)
|
||||
export BLLIST_IP_FILTER=0
|
||||
### Файл с шаблонами IP для опции BLLIST_IP_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
|
||||
export BLLIST_IP_FILTER_FILE="${CONFIG_DIR}/ip_filter"
|
||||
### Лимит субдоменов для группировки. При достижении, в конфиг dnsmasq будет добавлен весь домен 2-го ур-ня вместо множества субдоменов (0 - off)
|
||||
export BLLIST_SD_LIMIT=16
|
||||
### SLD не подлежащие группировке при оптимизации (через пробел)
|
||||
export BLLIST_GR_EXCLUDED_SLD="livejournal.com facebook.com vk.com blog.jp msk.ru net.ru org.ru net.ua com.ua org.ua co.uk amazonaws.com"
|
||||
### Не группировать SLD попадающие под выражения (через пробел) ("[.][a-z]{2,3}[.][a-z]{2}$")
|
||||
export BLLIST_GR_EXCLUDED_MASKS=""
|
||||
### Фильтрация записей блэклиста по шаблонам из файла ENTRIES_FILTER_FILE. Записи (FQDN) попадающие под шаблоны исключаются из кофига dnsmasq (0 - off, 1 - on)
|
||||
export FQDN_FILTER=0
|
||||
### Файл с шаблонами FQDN для опции FQDN_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
|
||||
export FQDN_FILTER_FILE="${CONFIG_DIR}/fqdn_filter"
|
||||
export BLLIST_FQDN_FILTER=0
|
||||
### Файл с шаблонами FQDN для опции BLLIST_FQDN_FILTER (каждый шаблон в отдельной строке. # в первом символе строки - комментирует строку)
|
||||
export BLLIST_FQDN_FILTER_FILE="${CONFIG_DIR}/fqdn_filter"
|
||||
### Обрезка www[0-9]. в FQDN (0 - off, 1 - on)
|
||||
export STRIP_WWW=1
|
||||
export BLLIST_STRIP_WWW=1
|
||||
### Преобразование кириллических доменов в punycode (0 - off, 1 - on)
|
||||
export USE_IDN=0
|
||||
export BLLIST_ENABLE_IDN=0
|
||||
### Перенаправлять DNS-запросы на альтернативный DNS-сервер для заблокированных FQDN (0 - off, 1 - on)
|
||||
export ALT_NSLOOKUP=0
|
||||
export BLLIST_ALT_NSLOOKUP=0
|
||||
### Альтернативный DNS-сервер
|
||||
export ALT_DNS_ADDR="8.8.8.8"
|
||||
export BLLIST_ALT_DNS_ADDR="8.8.8.8"
|
||||
|
||||
### Источники блэклиста
|
||||
export RBL_ALL_URL="https://reestr.rublacklist.net/api/v2/current/csv/"
|
||||
@@ -118,9 +114,16 @@ export RBL_IP_URL="https://reestr.rublacklist.net/api/v2/ips/csv/"
|
||||
export ZI_ALL_URL="https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv"
|
||||
export AF_IP_URL="https://antifilter.download/list/allyouneed.lst"
|
||||
export AF_FQDN_URL="https://antifilter.download/list/domains.lst"
|
||||
export RA_IP_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist/ip/ruantiblock.ip"
|
||||
export RA_IP_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist/ip/ruantiblock.dnsmasq"
|
||||
export RA_IP_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist/ip/update_status"
|
||||
export RA_FQDN_IPSET_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist/fqdn/ruantiblock.ip"
|
||||
export RA_FQDN_DMASK_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist/fqdn/ruantiblock.dnsmasq"
|
||||
export RA_FQDN_STAT_URL="https://raw.githubusercontent.com/gSpotx2f/ruantiblock_blacklist/master/blacklist/fqdn/update_status"
|
||||
export RBL_ENCODING=""
|
||||
export ZI_ENCODING="CP1251"
|
||||
export AF_ENCODING=""
|
||||
export RA_ENCODING=""
|
||||
|
||||
############################ Configuration #############################
|
||||
|
||||
@@ -134,6 +137,40 @@ STOP_SCRIPT="${CONFIG_DIR}/scripts/stop_script"
|
||||
### Config script
|
||||
[ -f "$CONFIG_SCRIPT" ] && . "$CONFIG_SCRIPT"
|
||||
|
||||
### Blacklist source and mode
|
||||
case "$BLLIST_PRESET" in
|
||||
zapret-info-ip)
|
||||
### Источник для обновления списка блокировок (zapret-info, rublacklist, antifilter, ruantiblock)
|
||||
export BLLIST_SOURCE="zapret-info"
|
||||
### Режим обхода блокировок: ip, fqdn
|
||||
export BLLIST_MODE="ip"
|
||||
;;
|
||||
rublacklist-ip)
|
||||
export BLLIST_SOURCE="rublacklist"
|
||||
export BLLIST_MODE="ip"
|
||||
;;
|
||||
rublacklist-fqdn)
|
||||
export BLLIST_SOURCE="rublacklist"
|
||||
export BLLIST_MODE="fqdn"
|
||||
;;
|
||||
antifilter-ip)
|
||||
export BLLIST_SOURCE="antifilter"
|
||||
export BLLIST_MODE="ip"
|
||||
;;
|
||||
ruantiblock-ip)
|
||||
export BLLIST_SOURCE="ruantiblock"
|
||||
export BLLIST_MODE="ip"
|
||||
;;
|
||||
ruantiblock-fqdn)
|
||||
export BLLIST_SOURCE="ruantiblock"
|
||||
export BLLIST_MODE="fqdn"
|
||||
;;
|
||||
*)
|
||||
export BLLIST_SOURCE="zapret-info"
|
||||
export BLLIST_MODE="fqdn"
|
||||
;;
|
||||
esac
|
||||
|
||||
AWK_CMD="awk"
|
||||
IPSET_CMD=`which ipset`
|
||||
if [ $? -ne 0 ]; then
|
||||
@@ -141,20 +178,20 @@ if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
LOGGER_CMD=`which logger`
|
||||
if [ $USE_LOGGER = "1" -a $? -ne 0 ]; then
|
||||
if [ $ENABLE_LOGGING = "1" -a $? -ne 0 ]; then
|
||||
echo " Logger doesn't exists" >&2
|
||||
USE_LOGGER=0
|
||||
ENABLE_LOGGING=0
|
||||
fi
|
||||
LOGGER_PARAMS="-t `basename $0` -p user.notice"
|
||||
export DNSMASQ_DATA_FILE="${DATA_DIR}/${NAME}.dnsmasq"
|
||||
export IP_DATA_FILE="${DATA_DIR}/${NAME}.ip"
|
||||
export IPSET_IP="${NAME}-ip"
|
||||
export IPSET_IP_TMP="${IPSET_IP}-tmp"
|
||||
export IPSET_CIDR="${NAME}-cidr"
|
||||
export IPSET_CIDR_TMP="${IPSET_CIDR}-tmp"
|
||||
export IPSET_DNSMASQ="${NAME}-dnsmasq"
|
||||
export IPSET_ONION="onion"
|
||||
export IPSET_TOTAL_PROXY="total-proxy"
|
||||
export IPSET_ALOWED_HOSTS="${NAME}_alowed_ip"
|
||||
export IPSET_IP="${NAME}_ip"
|
||||
export IPSET_IP_TMP="${IPSET_IP}_tmp"
|
||||
export IPSET_CIDR="${NAME}_cidr"
|
||||
export IPSET_CIDR_TMP="${IPSET_CIDR}_tmp"
|
||||
export IPSET_DNSMASQ="${NAME}_dnsmasq"
|
||||
export IPSET_ONION="${NAME}_onion"
|
||||
export UPDATE_STATUS_FILE="${DATA_DIR}/update_status"
|
||||
UPDATE_PID_FILE="/var/run/${NAME}_update.pid"
|
||||
START_PID_FILE="/var/run/${NAME}_start.pid"
|
||||
@@ -169,14 +206,14 @@ INFO_OUTPUT_FUNCTION="${CONFIG_DIR}/scripts/info_output"
|
||||
if [ -f "$INFO_OUTPUT_FUNCTION" ]; then
|
||||
. "$INFO_OUTPUT_FUNCTION"
|
||||
else
|
||||
HTML_INFO=0
|
||||
ENABLE_HTML_INFO=0
|
||||
fi
|
||||
|
||||
############################## Functions ###############################
|
||||
|
||||
Help() {
|
||||
cat << EOF
|
||||
Usage: `basename $0` start|force-start|stop|destroy|restart|update|force-update|data-files|total-proxy-on|total-proxy-off|renew-ipt|status|status-html|--help
|
||||
Usage: `basename $0` start|force-start|stop|destroy|restart|update|force-update|data-files|renew-ipt|status|status-html|--help
|
||||
start : Start
|
||||
force-start :
|
||||
stop : Stop
|
||||
@@ -186,9 +223,6 @@ cat << EOF
|
||||
update : Update blacklist
|
||||
force-update : Force update blacklist
|
||||
data-files : Create ${IP_DATA_FILE} & ${DNSMASQ_DATA_FILE} (without network functions)
|
||||
total-proxy-on : Turn on total-proxy mode
|
||||
total-proxy-off : Turn off total-proxy mode
|
||||
total-proxy-status : total-proxy status
|
||||
status : Status & some info
|
||||
raw-status : Return code: 0 - enabled, 1 - error, 2 - disabled, 3 - starting, 4 - updating
|
||||
html-info : Return the html-info output
|
||||
@@ -202,16 +236,13 @@ cat << EOF
|
||||
`basename $0` update
|
||||
`basename $0` force-update
|
||||
`basename $0` data-files
|
||||
`basename $0` total-proxy-on
|
||||
`basename $0` total-proxy-off
|
||||
`basename $0` total-proxy-status
|
||||
`basename $0` status
|
||||
`basename $0` html-info
|
||||
EOF
|
||||
}
|
||||
|
||||
MakeLogRecord() {
|
||||
if [ $USE_LOGGER = "1" ]; then
|
||||
if [ $ENABLE_LOGGING = "1" ]; then
|
||||
$LOGGER_CMD $LOGGER_PARAMS -p "user.${1}" "$2"
|
||||
fi
|
||||
}
|
||||
@@ -241,52 +272,19 @@ DestroyIpsets() {
|
||||
done
|
||||
}
|
||||
|
||||
FillTotalProxySet() {
|
||||
FillAllowedHostsSet() {
|
||||
local _entry
|
||||
for _entry in $TOTAL_PROXY_EXCLUDE_NETS
|
||||
for _entry in $ALOWED_HOSTS_LIST
|
||||
do
|
||||
$IPSET_CMD add "$IPSET_TOTAL_PROXY" "$_entry"
|
||||
$IPSET_CMD add "$IPSET_ALOWED_HOSTS" "$_entry"
|
||||
done
|
||||
}
|
||||
|
||||
TotalProxyOn() {
|
||||
if [ "$PROXY_LOCAL_CLIENTS" != "1" ]; then
|
||||
IptTotalProxyDel &> /dev/null
|
||||
IptTotalProxyAdd
|
||||
if [ $? -eq 0 ]; then
|
||||
echo " ${IPSET_TOTAL_PROXY} enabled"
|
||||
MakeLogRecord "notice" "${IPSET_TOTAL_PROXY} enabled"
|
||||
fi
|
||||
MakeToken
|
||||
fi
|
||||
}
|
||||
|
||||
TotalProxyOff() {
|
||||
if [ "$PROXY_LOCAL_CLIENTS" != "1" ]; then
|
||||
IptTotalProxyDel &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
echo " ${IPSET_TOTAL_PROXY} is already disabled" >&2
|
||||
else
|
||||
echo " ${IPSET_TOTAL_PROXY} disabled"
|
||||
MakeLogRecord "notice" "${IPSET_TOTAL_PROXY} disabled"
|
||||
fi
|
||||
MakeToken
|
||||
fi
|
||||
}
|
||||
|
||||
TotalProxyStatus() {
|
||||
IptTotalProxyStatus
|
||||
return $?
|
||||
}
|
||||
|
||||
AddIptRules() {
|
||||
IptMainAdd
|
||||
if [ "$PROXY_LOCAL_CLIENTS" = "1" ]; then
|
||||
IptLocalClientsAdd
|
||||
fi
|
||||
if [ "$DEF_TOTAL_PROXY" = "1" ]; then
|
||||
TotalProxyOn
|
||||
fi
|
||||
}
|
||||
|
||||
DelIptRules() {
|
||||
@@ -297,22 +295,21 @@ DelIptRules() {
|
||||
SetNetConfig() {
|
||||
local _set
|
||||
### Создание списков ipset. Проверка на наличие списка с таким же именем, если нет, то создается новый
|
||||
for _set in "$IPSET_TOTAL_PROXY" "$IPSET_CIDR_TMP" "$IPSET_CIDR"
|
||||
for _set in "$IPSET_CIDR_TMP" "$IPSET_CIDR"
|
||||
do
|
||||
IsIpsetExists "$_set" || $IPSET_CMD create "$_set" hash:net maxelem $IPSET_MAXELEM
|
||||
done
|
||||
for _set in "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_ONION"
|
||||
for _set in "$IPSET_ALOWED_HOSTS" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_ONION"
|
||||
do
|
||||
IsIpsetExists "$_set" || $IPSET_CMD create "$_set" hash:ip maxelem $IPSET_MAXELEM
|
||||
done
|
||||
IsIpsetExists "$IPSET_DNSMASQ" || $IPSET_CMD create "$IPSET_DNSMASQ" hash:ip maxelem $IPSET_MAXELEM timeout $IPSET_DNSMASQ_TIMEOUT
|
||||
FillTotalProxySet
|
||||
AddIptRules
|
||||
}
|
||||
|
||||
DropNetConfig() {
|
||||
DelIptRules
|
||||
FlushIpSets "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION" "$IPSET_TOTAL_PROXY"
|
||||
FlushIpSets "$IPSET_ALOWED_HOSTS" "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION"
|
||||
}
|
||||
|
||||
FillIpsets() {
|
||||
@@ -344,14 +341,14 @@ ClearDataFiles() {
|
||||
CheckStatus() {
|
||||
local _set _ipset_return=0 _return_code=1
|
||||
if [ "$1" = "ipsets" ]; then
|
||||
for _set in "$IPSET_TOTAL_PROXY" "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION"
|
||||
for _set in "$IPSET_ALOWED_HOSTS" "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION"
|
||||
do
|
||||
IsIpsetExists "$_set"
|
||||
_ipset_return=$?
|
||||
[ $_ipset_return -ne 0 ] && break
|
||||
done
|
||||
fi
|
||||
if IptListChain &> /dev/null && [ $_ipset_return -eq 0 ]; then
|
||||
if IptListBllistChain &> /dev/null && [ $_ipset_return -eq 0 ]; then
|
||||
_return_code=0
|
||||
fi
|
||||
return $_return_code
|
||||
@@ -359,7 +356,7 @@ CheckStatus() {
|
||||
|
||||
PreStartCheck() {
|
||||
[ -d "$DATA_DIR" ] || mkdir -p "$DATA_DIR"
|
||||
[ "$HTML_INFO" = "1" -a ! -d "$HTML_DIR" ] && mkdir -p "$HTML_DIR"
|
||||
[ "$ENABLE_HTML_INFO" = "1" -a ! -d "$HTML_DIR" ] && mkdir -p "$HTML_DIR"
|
||||
### Костыль для старта dnsmasq
|
||||
[ -e "$DNSMASQ_DATA_FILE" ] || printf "\n" > "$DNSMASQ_DATA_FILE"
|
||||
}
|
||||
@@ -512,6 +509,7 @@ Start() {
|
||||
MakeLogRecord "info" "${1}..."
|
||||
DropNetConfig &> /dev/null
|
||||
SetNetConfig
|
||||
FillAllowedHostsSet
|
||||
PreStartCheck
|
||||
FillIpsets
|
||||
_return_code=$?
|
||||
@@ -560,7 +558,7 @@ Reload() {
|
||||
Status() {
|
||||
local _set
|
||||
if CheckStatus; then
|
||||
printf "\n \033[1m${NAME} status\033[m: \033[1;32mEnabled\033[m\n\n PROXY_MODE: ${PROXY_MODE}\n DEF_TOTAL_PROXY: ${DEF_TOTAL_PROXY}\n PROXY_LOCAL_CLIENTS: ${PROXY_LOCAL_CLIENTS}\n BLLIST_MODULE: ${BLLIST_MODULE}\n"
|
||||
printf "\n \033[1m${NAME} status\033[m: \033[1;32mEnabled\033[m\n\n PROXY_MODE: ${PROXY_MODE}\n PROXY_LOCAL_CLIENTS: ${PROXY_LOCAL_CLIENTS}\n BLLIST_MODULE: ${BLLIST_MODULE}\n"
|
||||
if [ -f "$UPDATE_STATUS_FILE" ]; then
|
||||
$AWK_CMD '{
|
||||
update_string=(NF < 4) ? "No data" : $4" (IP: "$1" | CIDR: "$2" | FQDN: "$3")";
|
||||
@@ -573,15 +571,14 @@ Status() {
|
||||
printf "\n \033[1;31mVPN ROUTING ERROR! (NEED THE RESTART)\033[m\n"
|
||||
fi
|
||||
printf "\n \033[4mIptables rules\033[m:\n\n"
|
||||
IptListChain | $AWK_CMD '
|
||||
IptListBllistChain | $AWK_CMD '
|
||||
{
|
||||
if(NR > 2) {
|
||||
match_set=(NR == 3 && $0 ~ ENVIRON["IPSET_TOTAL_PROXY"]) ? "\033[1;33m"ENVIRON["IPSET_TOTAL_PROXY"]" (Enabled!)\033[m" : $11;
|
||||
printf " Match-set: %s\n Bytes: %s\n\n", match_set, $2;
|
||||
printf " Match-set: %s\n Bytes: %s\n\n", $11, $2;
|
||||
};
|
||||
}'
|
||||
printf " \033[4mIp sets\033[m:\n\n"
|
||||
for _set in "$IPSET_TOTAL_PROXY" "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION"
|
||||
for _set in "$IPSET_ALOWED_HOSTS" "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION"
|
||||
do
|
||||
$IPSET_CMD list "$_set" -terse | $AWK_CMD -F ":" '
|
||||
{
|
||||
@@ -598,7 +595,7 @@ Status() {
|
||||
}
|
||||
|
||||
StatusOutput() {
|
||||
if [ "$HTML_INFO" = "1" -a -d "$HTML_DIR" ]; then
|
||||
if [ "$ENABLE_HTML_INFO" = "1" -a -d "$HTML_DIR" ]; then
|
||||
Info
|
||||
fi
|
||||
}
|
||||
@@ -631,7 +628,7 @@ case "$1" in
|
||||
;;
|
||||
destroy)
|
||||
Stop "$1" &> /dev/null
|
||||
DestroyIpsets "$IPSET_TOTAL_PROXY" "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION"
|
||||
DestroyIpsets "$IPSET_ALOWED_HOSTS" "$IPSET_CIDR_TMP" "$IPSET_CIDR" "$IPSET_IP_TMP" "$IPSET_IP" "$IPSET_DNSMASQ" "$IPSET_ONION"
|
||||
ClearDataFiles
|
||||
return_code=$?
|
||||
rm -f "$UPDATE_PID_FILE" "$START_PID_FILE"
|
||||
@@ -652,31 +649,6 @@ case "$1" in
|
||||
return_code=$?
|
||||
fi
|
||||
;;
|
||||
total-proxy-on)
|
||||
if ! CheckStatus; then
|
||||
echo " ${NAME} does not running" >&2
|
||||
return_code=1
|
||||
else
|
||||
TotalProxyOn
|
||||
return_code=$?
|
||||
fi
|
||||
StatusOutput
|
||||
;;
|
||||
total-proxy-off)
|
||||
if ! CheckStatus; then
|
||||
echo " ${NAME} does not running" >&2
|
||||
return_code=1
|
||||
else
|
||||
TotalProxyOff
|
||||
return_code=$?
|
||||
fi
|
||||
StatusOutput
|
||||
;;
|
||||
total-proxy-status)
|
||||
TotalProxyStatus
|
||||
return_code=$?
|
||||
echo $return_code
|
||||
;;
|
||||
status)
|
||||
Status
|
||||
return_code=$?
|
||||
|
||||
Reference in New Issue
Block a user