Skip to content

Commit

Permalink
Доработана функция добавления выбранной закваски в список Кваса
Browse files Browse the repository at this point in the history
  • Loading branch information
qzeleza committed Sep 3, 2024
1 parent b80256e commit d336875
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 96 deletions.
Binary file modified ipk/kvas_1.1.9-beta_1_all.ipk
Binary file not shown.
76 changes: 0 additions & 76 deletions logs/building.log
Original file line number Diff line number Diff line change
@@ -1,76 +0,0 @@
--------------------------------------------------------------------------------------------------
🟢 [01-09-2024 15:59:51] СБОРКА ЗАПУЩЕНА
--------------------------------------------------------------------------------------------------
▶ make -j9 package/feeds/packages/kvas/clean
--------------------------------------------------------------------------------------------------
make[2]: Entering directory '/home/zeleza/entware/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/zeleza/entware/scripts/config'
make[1] package/feeds/packages/kvas/clean
make[2] -C /home/zeleza/kvas clean
--------------------------------------------------------------------------------------------------
▶ make -j9 package/feeds/packages/kvas/compile
--------------------------------------------------------------------------------------------------
make[2]: Entering directory '/home/zeleza/entware/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/zeleza/entware/scripts/config'
make[1] package/feeds/packages/kvas/compile
make[2] -C package/libs/toolchain compile
make[2] -C package/devel/gperf host-compile
make[2] -C package/libs/libiconv-full host-compile
make[2] -C package/libs/ncurses host-compile
make[2] -C package/system/ca-certificates compile
make[2] -C package/libs/zlib compile
make[2] -C feeds/oldports/pcre compile
make[2] -C package/libs/libcap compile
make[2] -C feeds/packages/libs/nghttp2 compile
make[2] -C feeds/packages/libs/libuv compile
make[2] -C feeds/packages/utils/jq compile
make[2] -C package/libs/gmp compile
make[2] -C feeds/packages/libs/liburcu compile
make[2] -C feeds/packages/libs/lmdb compile
make[2] -C feeds/packages/utils/xz compile
make[2] -C feeds/rtndev/cron compile
make[2] -C package/utils/bzip2 compile
make[2] -C feeds/packages/libs/c-ares compile
make[2] -C feeds/packages/libs/libev compile
make[2] -C feeds/packages/libs/libsodium compile
make[2] -C package/libs/mbedtls compile
make[2] -C package/libs/libmnl compile
make[2] -C package/libs/pcre2 compile
make[2] -C package/libs/libnfnetlink compile
make[2] -C package/network/utils/iptables compile
make[2] -C package/libs/openssl compile
make[2] -C feeds/golang/dnscrypt-proxy2 compile
make[2] -C package/libs/libunistring host-compile
make[2] -C package/libs/libxml2 host-compile
make[2] -C package/libs/nettle compile
make[2] -C package/libs/ncurses compile
make[2] -C feeds/packages/libs/file compile
make[2] -C package/libs/libnetfilter-conntrack compile
make[2] -C package/network/utils/ipset compile
make[2] -C feeds/rtndev/shadowsocks-libev compile
make[2] -C package/libs/gettext-full host-compile
make[2] -C package/network/services/dnsmasq compile
make[2] -C feeds/packages/net/bind compile
make[2] -C feeds/packages/net/curl compile
make[2] -C feeds/packages/libs/libedit compile
make[2] -C feeds/packages/utils/nano compile
make[2] -C feeds/packages/utils/nano compile
make[2] -C feeds/packages/libs/gnutls compile
make[2] -C feeds/packages/utils/nano compile
make[2] -C feeds/packages/net/knot compile
make[2] -C /home/zeleza/kvas compile
--------------------------------------------------------------------------------------------------
▶ [ -d /home/zeleza/kvas/ipk ] || { mkdir -p /home/zeleza/kvas/ipk; true; }
--------------------------------------------------------------------------------------------------
▶ cp -f /home/zeleza/entware/bin/targets/mips-3.4/generic-glibc/packages/kvas_1.1.9-beta_1_all.ipk /home/zeleza/kvas/ipk/
--------------------------------------------------------------------------------------------------
▶ show_message_dialog "Сборка пакета" "Сборка пакета kvas завершена успешно!
Собраныный пакет можно найти в папке /home/zeleza/kvas/ipk"
--------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
🟢 [01-09-2024 16:00:13] СБОРКА ЗАВЕРШЕНА
--------------------------------------------------------------------------------------------------
Затрачено времени на исполнение: 00:00:22
--------------------------------------------------------------------------------------------------
6 changes: 5 additions & 1 deletion opt/bin/kvas
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,11 @@ case "${1}" in
;;
purge | clear) cmd_clear_list "${2}"
;;
show | list | search | find) [ -n "${2}" ] && cmd_show_list | grep "${2}" || cmd_show_list
show | list | search | find)
[ -n "${2}" ] && cmd_show_list | grep "${2}" || {
print_line
echo -e "Доменное имя ${BLUE}${2}${NOCL} в списке не обнаружено."
}
;;
reset | init) cmd_kvas_init
;;
Expand Down
24 changes: 12 additions & 12 deletions opt/bin/libs/tags
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ cmd_show_tags_domain_list(){
_list=$(cat < "${TAGS_FILE}")
else
grep -q "\[$section\]" "${TAGS_FILE}" || {
error "Тег '$section' не найден!"
error "Закваска '$section' не обнаружена!"
return 1
}
_list=$(get_tag_domain_list "$section")

fi


echo -e "${GREEN}Список доменных имен в тегах:${NOCL}"
echo -e "${GREEN}Список доменных имен в заквасках:${NOCL}"
print_line
[ -n "$section" ] && echo -e "${GREEN}[$section]${NOCL}"

Expand Down Expand Up @@ -100,7 +100,7 @@ _check_section() {

local section="$1"
if ! grep -q "\[$section\]" "${TAGS_FILE}"; then
read_ynq "Тег '$section' не найден. Добавить?" answer
read_ynq "Закваска '$section' не найдена. Добавить?" answer
if [[ "$answer" =~ [qn] ]] ; then return 1;
elif [[ "$answer" =~ [y] ]] ; then
echo -e "\n[$section]" >> "${TAGS_FILE}"
Expand Down Expand Up @@ -178,12 +178,12 @@ cmd_add_domain_to_tag_list() {
_check_section "$section" || return 1

get_tag_domain_list "$section" | grep -q "^$domain$" && {
warning "Домен '$domain' уже помечен тегом '$section'."
warning "Пропускаем добавление домена в тег '$section'..."
warning "Домен '$domain' уже есть в закваске '$section'."
warning "Пропускаем добавление домена в закваску '$section'..."
return 1
}

ready "Домен '$domain' добавлен в тег '$section'."
ready "Домен '$domain' добавлен в закваску '$section'."
if sed -i "/\[$section\]/a $domain" "${TAGS_FILE}" ;
then when_ok "УСПЕШНО";
else when_bad "ОШИБКА"; fi
Expand All @@ -201,7 +201,7 @@ cmd_del_domain_from_tag_list() {

# Если задана только секция - удаляем все домены в этой секции
if [ -z "${domain}" ] ; then
read_ynq "Будут удалены все домены под тегом '$section' и сам тег.\nВы уверены?" answer
read_ynq "Будут удалены все домены с закваской '$section' и само имя закваски.\nВы уверены?" answer
if [[ "$answer" =~ [qn] ]] ; then return 1; fi
[ "${answer}" = y ] && {
sed -i "/\[$section\]/,/\[.*\]/ { /.*$/d }" "${TAGS_FILE}"
Expand All @@ -212,13 +212,13 @@ cmd_del_domain_from_tag_list() {
_check_domain_zone "${domain}" || return 1

grep -q "\[$section\]" "${TAGS_FILE}" || {
echo "Тег '$section' не найден."
echo "Закваска '$section' не найдена."
return 1
}


if ! grep -q "^$domain$" "${TAGS_FILE}"; then
error "Домен '$domain' не имеет тег '$section'."
error "Домен '$domain' не обнаружен в закваске '$section'."
return 1
fi

Expand Down Expand Up @@ -282,7 +282,7 @@ tag_select() {
local tags="$(get_tags_list)"
local action="$1"

echo -e "Список тегов для ${BLUE}${action}${NOCL}:"
echo -e "Список заквасок для ${BLUE}${action}${NOCL}:"
print_line
local i=0
local added_list=""
Expand Down Expand Up @@ -310,7 +310,7 @@ tag_select() {
if [ "$i" -gt 0 ]; then
print_line
while true; do
read -p "Выберите номер из списка [1-$i/Q]: " choice
read -p "Выберите номер закваски из списка [1-$i/Q]: " choice

[[ "$choice" =~ [qQ] ]] && return 0
# Проверка на ввод только цифр и в пределах диапазона
Expand All @@ -327,6 +327,6 @@ tag_select() {
eval "$2=$chosen_tag"

else
error "Список тегов пуст. Проверьте наличие тега в файле."
error "Список заквасок пуст. Проверьте наличие закваски в файле."
fi
}
22 changes: 15 additions & 7 deletions opt/bin/libs/vpn
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
. /opt/apps/kvas/bin/libs/main

. /opt/apps/kvas/bin/libs/debug
. /opt/apps/kvas/bin/libs/ndm
. /opt/apps/kvas/bin/libs/adblock
Expand Down Expand Up @@ -2377,13 +2377,21 @@ cmd_add_one_host() {
# Выходим из функции при отуствии интернет-соединения или VPN
exit_when_no_internet_or_vpn || exit 1

# Проверяем есть ли в введенной строке имя метки или нет
tag_name=$(echo "${*}" | grep -oP '(?<=-tag )\S+')
# Если первый параметр пуст или равен 'tags', то
# делаем запрос на выбор закваски и добавляем все доменные имена из закваски в список защиты
[ -z "${host}" ] || [ "${host}" = tags ] && {
add_tag_section_to_protect_list
return 0
}

if [ -n "${tag_name}" ] ; then
# Проверяем есть ли в введенной строке имя метки -tag или нет
has_tag=$([ -n "$(echo "${*}" | grep -oP '(?<=-tag )\S+')" ])

if [ "${has_tag}" ] ; then
tag_name=$(echo "${*}" | sed 's/.*\-tag \(.*\)/\1/')
# Помечаем доменное имя тегом
cmd_add_domain_to_tag_list "${tag_name}" "${host}"
fi
fi

# Если помимо этого домена существует еще доменные с одноименным тегом
# то делаем запрос на их доавление.
Expand Down Expand Up @@ -2719,7 +2727,7 @@ cmd_export_hosts() {
# ------------------------------------------------------------------------------------------
add_tag_section_to_protect_list() {

local section="$1"
# local section="$1"
local tag_selected answer
tag_select "добавления" tag_selected
[ -n "${tag_selected}" ] && {
Expand Down Expand Up @@ -2750,7 +2758,7 @@ add_tag_section_to_protect_list() {
# ------------------------------------------------------------------------------------------
del_tag_section_to_protect_list() {

local section="$1"
# local section="$1"
local tag_selected answer
tag_select "удаления" tag_selected
[ -n "${tag_selected}" ] && {
Expand Down

0 comments on commit d336875

Please sign in to comment.