diff --git a/autoinstall/autoinstall.sh b/autoinstall/autoinstall.sh index 586f595..6be8e03 100755 --- a/autoinstall/autoinstall.sh +++ b/autoinstall/autoinstall.sh @@ -9,9 +9,9 @@ LUA_MODULE=1 LUCI_APP=1 OWRT_VERSION="current" -RUAB_VERSION="0.9.0-3" -RUAB_MOD_LUA_VERSION="0.9.0-3" -RUAB_LUCI_APP_VERSION="0.9.0-9" +RUAB_VERSION="0.9.1-1" +RUAB_MOD_LUA_VERSION="0.9.1-1" +RUAB_LUCI_APP_VERSION="0.9.1-1" BASE_URL="https://github.com/gSpotx2f/packages-openwrt/raw/master" PKG_DIR="/tmp" @@ -245,7 +245,7 @@ InstallLuaModule() { DlFile "$URL_MOD_LUA_PKG" "$FILE_MOD_LUA_PKG" && $OPKG_CMD install "$FILE_MOD_LUA_PKG" FileExists "$FILE_LUA_IPTOOL" || DlFile "$URL_LUA_IPTOOL" "$FILE_LUA_IPTOOL" FileExists "$FILE_LUA_IDN" || DlFile "$URL_LUA_IDN" "$FILE_LUA_IDN" - $UCI_CMD set ruantiblock.config.bllist_module="/usr/bin/ruab_parser.lua" + $UCI_CMD set ruantiblock.config.bllist_module="/usr/libexec/ruantiblock/ruab_parser.lua" $UCI_CMD commit } diff --git a/luci-app-ruantiblock/Makefile b/luci-app-ruantiblock/Makefile index 67f142f..5144860 100644 --- a/luci-app-ruantiblock/Makefile +++ b/luci-app-ruantiblock/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=0.9.0-9 +PKG_VERSION:=0.9.1-1 LUCI_TITLE:=LuCI support for ruantiblock LUCI_DEPENDS:=+ruantiblock LUCI_PKGARCH:=all diff --git a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/log.js b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/log.js index c3feb72..9f61ba9 100644 --- a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/log.js +++ b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/log.js @@ -8,7 +8,7 @@ return abc.view.extend({ title : _('Ruantiblock') + ' - ' + _('Log'), - appRegexp : new RegExp(`^.*${tools.appName}\[[0-9]+\].*$`, 'gm'), + appRegexp : new RegExp(`^.*${tools.appName}.*$`, 'gm'), testRegexp : new RegExp(/([0-9]{2}:){2}[0-9]{2}/), diff --git a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js index b2001ba..c1f99b5 100644 --- a/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js +++ b/luci-app-ruantiblock/htdocs/luci-static/resources/view/ruantiblock/tools.js @@ -40,7 +40,7 @@ return baseclass.extend({ appName : 'ruantiblock', execPath : '/usr/bin/ruantiblock', tokenFile : '/var/run/ruantiblock.token', - parsersDir : '/usr/bin', + parsersDir : '/usr/libexec/ruantiblock', torrcFile : '/etc/tor/torrc', userEntriesFile : '/etc/ruantiblock/user_entries', fqdnFilterFile : '/etc/ruantiblock/fqdn_filter', diff --git a/ruantiblock-mod-lua/Makefile b/ruantiblock-mod-lua/Makefile index d15a6a2..30c4663 100644 --- a/ruantiblock-mod-lua/Makefile +++ b/ruantiblock-mod-lua/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock-mod-lua -PKG_VERSION:=0.9.0 -PKG_RELEASE:=3 +PKG_VERSION:=0.9.1 +PKG_RELEASE:=1 PKG_MAINTAINER:=gSpot PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -30,8 +30,8 @@ define Build/Prepare endef define Package/$(PKG_NAME)/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/usr/bin/ruab_parser.lua $(1)/usr/bin/ruab_parser.lua + $(INSTALL_DIR) $(1)/usr/libexec/ruantiblock + $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/usr/libexec/ruantiblock/ruab_parser.lua $(1)/usr/libexec/ruantiblock/ruab_parser.lua $(INSTALL_DIR) $(1)/usr/lib/lua $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/usr/lib/lua/ruab_sum_ip.lua $(1)/usr/lib/lua/ruab_sum_ip.lua endef diff --git a/ruantiblock-mod-lua/files/usr/bin/ruab_parser.lua b/ruantiblock-mod-lua/files/usr/libexec/ruantiblock/ruab_parser.lua similarity index 97% rename from ruantiblock-mod-lua/files/usr/bin/ruab_parser.lua rename to ruantiblock-mod-lua/files/usr/libexec/ruantiblock/ruab_parser.lua index fde97a1..7069cde 100755 --- a/ruantiblock-mod-lua/files/usr/bin/ruab_parser.lua +++ b/ruantiblock-mod-lua/files/usr/libexec/ruantiblock/ruab_parser.lua @@ -3,6 +3,13 @@ --[[ (с) 2020 gSpot (https://github.com/gSpotx2f/ruantiblock_openwrt) + Модуль поддерживает следующие источники: + https://reestr.rublacklist.net/api/v2/current/csv + https://reestr.rublacklist.net/api/v2/ips/csv + https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv + https://antifilter.download/list/domains.lst + https://antifilter.download/list/allyouneed.lst + lua == 5.1 --]] @@ -35,7 +42,6 @@ end local Config = Class(nil, { environ_table = { - ["EXEC_DIR"] = true, ["BLLIST_SOURCE"] = true, ["BLLIST_MODE"] = true, ["ALT_NSLOOKUP"] = true, @@ -86,7 +92,7 @@ local Config = Class(nil, { }) Config.wget_user_agent = (Config.http_send_headers["User-Agent"]) and ' -U "' .. Config.http_send_headers["User-Agent"] .. '"' or '' --- Load external config +-- Loading external config function Config:load_config(t) local config_arrays = { @@ -131,7 +137,7 @@ Config.IP_FILTER = remap_bool(Config.IP_FILTER) Config.SUMMARIZE_IP = remap_bool(Config.SUMMARIZE_IP) Config.SUMMARIZE_CIDR = remap_bool(Config.SUMMARIZE_CIDR) --- Load filters +-- Loading filters function Config:load_filter_files() function load_file(file, t) @@ -155,7 +161,7 @@ end Config:load_filter_files() --- Import packages +-- Importing packages local function prequire(package) local ret_val, pkg = pcall(require, package) @@ -187,7 +193,7 @@ if not si then Config.SUMMARIZE_IP = false end --- Check iconv +-- Iconv check if Config.ICONV_TYPE == "standalone" then local handler = io.popen("which " .. Config.ICONV_CMD) diff --git a/ruantiblock-mod-py/Makefile b/ruantiblock-mod-py/Makefile index 22c4245..de45608 100644 --- a/ruantiblock-mod-py/Makefile +++ b/ruantiblock-mod-py/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock-mod-py -PKG_VERSION:=0.9.0 -PKG_RELEASE:=3 +PKG_VERSION:=0.9.1 +PKG_RELEASE:=1 PKG_MAINTAINER:=gSpot PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) @@ -30,8 +30,8 @@ define Build/Prepare endef define Package/$(PKG_NAME)/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/usr/bin/ruab_parser.py $(1)/usr/bin/ruab_parser.py + $(INSTALL_DIR) $(1)/usr/libexec/ruantiblock + $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/usr/libexec/ruantiblock/ruab_parser.py $(1)/usr/libexec/ruantiblock/ruab_parser.py $(INSTALL_DIR) $(1)/usr/lib/python3.7 $(INSTALL_DATA) $(PKG_BUILD_DIR)/files/usr/lib/python3.7/ruab_sum_ip.py $(1)/usr/lib/python3.7/ruab_sum_ip.py endef diff --git a/ruantiblock-mod-py/files/usr/bin/ruab_parser.py b/ruantiblock-mod-py/files/usr/libexec/ruantiblock/ruab_parser.py similarity index 100% rename from ruantiblock-mod-py/files/usr/bin/ruab_parser.py rename to ruantiblock-mod-py/files/usr/libexec/ruantiblock/ruab_parser.py diff --git a/ruantiblock/Makefile b/ruantiblock/Makefile index 47fa219..b5a20c6 100644 --- a/ruantiblock/Makefile +++ b/ruantiblock/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ruantiblock -PKG_VERSION:=0.9.0 -PKG_RELEASE:=3 +PKG_VERSION:=0.9.1 +PKG_RELEASE:=1 PKG_MAINTAINER:=gSpot PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf index 604ed8c..d5d24bc 100644 --- a/ruantiblock/files/etc/ruantiblock/ruantiblock.conf +++ b/ruantiblock/files/etc/ruantiblock/ruantiblock.conf @@ -4,7 +4,7 @@ ### Директория данных (генерируемые конфиги dnsmasq, ipset и пр.) DATA_DIR="/etc/ruantiblock/var" ### Директория исполняемых скриптов -EXEC_DIR="/usr/bin" +MODULES_DIR="/usr/libexec/ruantiblock" ### Команда для перезапуска dnsmasq DNSMASQ_RESTART_CMD="/etc/init.d/dnsmasq restart" ### Директория для html-страницы статуса (не используется в OpenWrt) @@ -51,8 +51,8 @@ MODULE_RUN_ATTEMPTS=3 MODULE_RUN_TIMEOUT=60 ### Модули для получения и обработки блэклиста BLLIST_MODULE="" -#BLLIST_MODULE="/usr/bin/ruab_parser.lua" -#BLLIST_MODULE="/usr/bin/ruab_parser.py" +#BLLIST_MODULE="/usr/libexec/ruantiblock/ruab_parser.lua" +#BLLIST_MODULE="/usr/libexec/ruantiblock/ruab_parser.py" ### Настройки модулей-парсеров ### diff --git a/ruantiblock/files/usr/bin/ruantiblock b/ruantiblock/files/usr/bin/ruantiblock index 7f4a651..a12a6fe 100755 --- a/ruantiblock/files/usr/bin/ruantiblock +++ b/ruantiblock/files/usr/bin/ruantiblock @@ -16,7 +16,7 @@ export LANGUAGE="en" CONFIG_DIR="/etc/${NAME}" CONFIG_FILE="${CONFIG_DIR}/${NAME}.conf" export DATA_DIR="${CONFIG_DIR}/var" -export EXEC_DIR="/usr/bin" +export MODULES_DIR="/usr/bin" ### Команда для перезапуска dnsmasq export DNSMASQ_RESTART_CMD="/etc/init.d/dnsmasq restart" @@ -68,8 +68,8 @@ export MODULE_RUN_ATTEMPTS=3 export MODULE_RUN_TIMEOUT=60 ### Модули для получения и обработки блэклиста export BLLIST_MODULE="" -#export BLLIST_MODULE="${EXEC_DIR}/ruab_parser.lua" -#export BLLIST_MODULE="${EXEC_DIR}/ruab_parser.py" +#export BLLIST_MODULE="${MODULES_DIR}/ruab_parser.lua" +#export BLLIST_MODULE="${MODULES_DIR}/ruab_parser.py" ############################## @@ -145,7 +145,7 @@ if [ $USE_LOGGER = "1" -a $? -ne 0 ]; then echo " Logger doesn't exists" >&2 USE_LOGGER=0 fi -LOGGER_PARAMS="-t `basename $0`[${$}] -p user.notice" +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" @@ -211,14 +211,8 @@ EOF } MakeLogRecord() { - local _log_level if [ $USE_LOGGER = "1" ]; then - if [ -z "$2" ]; then - _log_level="info" - else - _log_level="$2" - fi - $LOGGER_CMD $LOGGER_PARAMS -p "user.${_log_level}" "$1" + $LOGGER_CMD $LOGGER_PARAMS -p "user.${1}" "$2" fi } @@ -261,7 +255,7 @@ TotalProxyOn() { IptTotalProxyAdd if [ $? -eq 0 ]; then echo " ${IPSET_TOTAL_PROXY} enabled" - MakeLogRecord "${IPSET_TOTAL_PROXY} enabled" "notice" + MakeLogRecord "notice" "${IPSET_TOTAL_PROXY} enabled" fi MakeToken fi @@ -274,7 +268,7 @@ TotalProxyOff() { echo " ${IPSET_TOTAL_PROXY} is already disabled" >&2 else echo " ${IPSET_TOTAL_PROXY} disabled" - MakeLogRecord "${IPSET_TOTAL_PROXY} disabled" "notice" + MakeLogRecord "notice" "${IPSET_TOTAL_PROXY} disabled" fi MakeToken fi @@ -296,7 +290,7 @@ AddIptRules() { } DelIptRules() { - IptLocalClientsDel + IptLocalClientsDel IptMainDel } @@ -334,7 +328,7 @@ FillIpsets() { FlushIpSets "$IPSET_IP_TMP" "$IPSET_CIDR_TMP" else echo " Error! Ipset wasn't updated" >&2 - MakeLogRecord "Error! Ipset wasn't updated" "err" + MakeLogRecord "err" "Error! Ipset wasn't updated" fi fi } @@ -420,7 +414,7 @@ GetDataFiles() { [ $_return_code -eq 0 ] && break ### STDOUT echo " Module run attempt ${_attempt}: failed [${BLLIST_MODULE}]" - MakeLogRecord "Module run attempt ${_attempt}: failed [${BLLIST_MODULE}]" "err" + MakeLogRecord "err" "Module run attempt ${_attempt}: failed [${BLLIST_MODULE}]" _attempt=`expr $_attempt + 1` [ $_attempt -gt $MODULE_RUN_ATTEMPTS ] && break sleep $MODULE_RUN_TIMEOUT @@ -433,7 +427,7 @@ GetDataFiles() { }' "$UPDATE_STATUS_FILE"` ### STDOUT echo " ${_update_string}" - MakeLogRecord "${_update_string}" "info" + MakeLogRecord "notice" "${_update_string}" printf " `date +%d.%m.%Y-%H:%M`\n" >> "$UPDATE_STATUS_FILE" fi else @@ -467,11 +461,11 @@ Update() { MakeToken if [ -e "$UPDATE_PID_FILE" ] && [ "$1" != "force-update" ]; then echo " ${NAME} ${1} - Error! Another instance of update is already running" >&2 - MakeLogRecord "${1} - Error! Another instance of update is already running" "err" + MakeLogRecord "err" "${1} - Error! Another instance of update is already running" _return_code=2 else echo " ${NAME} ${1}..." - MakeLogRecord "${1}..." "notice" + MakeLogRecord "notice" "${1}..." if [ "$IPSET_CLEAR_SETS" = "1" ]; then FlushIpSets "$IPSET_IP" "$IPSET_CIDR" "$IPSET_DNSMASQ" fi @@ -479,16 +473,16 @@ Update() { case $? in 0) echo " Blacklist updated" - MakeLogRecord "Blacklist updated" "info" + MakeLogRecord "notice" "Blacklist updated" ;; 2) echo " Error! Blacklist update error" >&2 - MakeLogRecord "Error! Blacklist update error" "err" + MakeLogRecord "err" "Error! Blacklist update error" _return_code=1 ;; *) echo " Module error! [${BLLIST_MODULE}]" >&2 - MakeLogRecord "Module error! [${BLLIST_MODULE}]" "err" + MakeLogRecord "err" "Module error! [${BLLIST_MODULE}]" _return_code=1 ;; esac @@ -515,13 +509,13 @@ Start() { _return_code=1 else echo " ${NAME} ${1}..." - MakeLogRecord "${1}..." "notice" + MakeLogRecord "info" "${1}..." DropNetConfig &> /dev/null SetNetConfig PreStartCheck FillIpsets _return_code=$? - ### Start script + ### Start-script [ -x "$START_SCRIPT" ] && $START_SCRIPT > /dev/null 2>&1 & fi rm -f "$START_PID_FILE" @@ -534,10 +528,10 @@ Stop() { if CheckStatus; then MakeToken echo " ${NAME} ${1}..." - MakeLogRecord "${1}..." "notice" + MakeLogRecord "info" "${1}..." DropNetConfig &> /dev/null _return_code=$? - ### Stop script + ### Stop-script [ -x "$STOP_SCRIPT" ] && $STOP_SCRIPT > /dev/null 2>&1 & MakeToken else