Skip to content

Commit

Permalink
Доработан код установки пакета dnscrypt-proxy2, при его отсутствии на…
Browse files Browse the repository at this point in the history
… устройстве, когда запускаем команду kvas adguard off, тикет [#93](#93). Спасибо за труды [badigit](https://github.com/badigit)
  • Loading branch information
qzeleza committed Dec 24, 2023
1 parent 0f1e7cc commit 20f6596
Show file tree
Hide file tree
Showing 12 changed files with 38 additions and 27 deletions.
6 changes: 5 additions & 1 deletion HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
## 1.1.5 final-33
## 1.1.6
- Данная версия по факту мало чем отличается от 1.1.5 final-34 и выпущена с целью подвести черту под всеми имеющимися исправлениями, как версия со стабильным и проверенным результатом.
- Доработан код установки пакета dnscrypt-proxy2, при его отсутствии на устройстве, когда запускаем команду kvas adguard off, тикет [#93](https://github.com/qzeleza/kvas/issues/93). Спасибо за труды [badigit](https://github.com/badigit)

## 1.1.5 final-34
- В скрипт обновления пакета ipk/update.sh добавлена информация о версии удаляемого пакета.
- В скрипте ipk/update.sh в режиме обновления пакета устанавливается прежний файл с хостами (ранее происходило слияние файла по умолчанию с предыдущими доменами из списка);
- Исправлена ошибка при выводе на экран всех VPN интерфейсов в системе (тикет [#74](https://github.com/qzeleza/kvas/issues/74)):
Expand Down
4 changes: 2 additions & 2 deletions build/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=kvas
PKG_VERSION:=1.1.5
PKG_RELEASE:=final_33
PKG_VERSION:=1.1.6
PKG_RELEASE:=stable_1
PKG_BUILD_DIR:=$(BUILD_DIR)/${FULL_PACKAGE_NAME}_

include $(INCLUDE_DIR)/package.mk
Expand Down
6 changes: 3 additions & 3 deletions build/version
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
VERSION=1.1.5
STAGE=final
RELEASE=33
VERSION=1.1.6
STAGE=stable
RELEASE=1
3 changes: 2 additions & 1 deletion image.build
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ stop_docker_on_macos(){
new_release(){
# Меняем версию сборки в зависимости от значения в файле ./build/version
release=$(cat < ./build/version | sed -n 's/RELEASE=\(.*\)/\1/p')
if [ -z "${release}" ] ; then next_release=1; else next_release=$((release+1)); fi
# Если релиз пустой, то так его пустым и оставляем, если есть цифра, но увеличиваем на 1
[ -n "${release}" ] && next_release=$((release+1))
sed -i '' 's/\(RELEASE=\).*/\1'"${next_release}"'/' ./build/version
find ./ipk/ -maxdepth 1 -type f -iregex '.*kvas.*' -exec mv {} ./ipk/old \;
}
Expand Down
Binary file added ipk/kvas_1.1.6-stable_1_all.ipk
Binary file not shown.
File renamed without changes.
1 change: 1 addition & 0 deletions opt/bin/kvas
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ case "${1}" in
cmd_print_debug "${2}"
;;
test | check) cmd_state_checker
[ -n "${2}" ] && exit 0
;;
add | new) cmd_add_one_host "${2}"
;;
Expand Down
2 changes: 1 addition & 1 deletion opt/bin/libs/main
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ ready_status(){
if [ "${operation_result}" = 1 ] || [ "$(cat < "${ERROR_LOG_FILE}" | wc -l)" -gt 0 ] ; then
print_error "${error_desc}"
else
[ "${errors_only}" = 1 ] && when_ok "${ok_mess}"
[ "${errors_only}" = 1 ] && when_ok "${ok_mess}" || when_ok "ГОТОВО"
rm -f "${ERROR_LOG_FILE}"
fi
}
Expand Down
31 changes: 18 additions & 13 deletions opt/bin/libs/vpn
Original file line number Diff line number Diff line change
Expand Up @@ -530,11 +530,15 @@ adguardhome_check_config() {
log_file=/opt/tmp/adguard.log
rm -f "${log_file}" "${tmp_conf}"

# Если случайно был уже запущен какой либо экземпляр процесса AdGuardHome, то удаляем его из памяти
pid_to_kill=$(ps -w | grep 'AdGuardHome -l /opt/var/log/AdGuardHome.log' | grep -v 'grep' | cut -d' ' -f1)
[ -n "${pid_to_kill}" ] && kill -9 "${pid_to_kill}"
# Запускаем новую чистую настройку AdGuardHome
/opt/bin/AdGuardHome -c "${tmp_conf}" -l "${log_file}" &
sleep 1

while true; do
if cat < "${log_file}" | grep 'go to http' | grep -qv ':3000'; then
if cat < "${log_file}" | grep 'go to http' | grep -qv ':3000' || cat < "${log_file}" | grep -q ' listen tcp 0.0.0.0:3000: bind: address already in use' ; then
killall AdGuardHome
mv "${tmp_conf}" "${ADGUARDHOME_CONFIG}"
adguardhome_setup
Expand All @@ -560,11 +564,12 @@ adguardhome_install_locally() {
echo "и следуйте рекомендациям на экране, после настройки AdGuard Home"
echo "запустите команду ${GREEN}kvas adguard on${NOCL}."
else

[ -f /opt/etc/init.d/S56dnsmasq ] && /opt/etc/init.d/S56dnsmasq stop &> /dev/null
[ -f /opt/etc/init.d/S09dnscrypt-proxy2 ] && /opt/etc/init.d/S09dnscrypt-proxy2 stop &> /dev/null
rm -f /opt/var/log/AdGuardHome.log
opkg remove adguardhome-go &> /dev/null
opkg install adguardhome-go &> /dev/null
opkg remove adguardhome-go --force-depends &> /dev/null
opkg install adguardhome-go --force-maintainer &> /dev/null
. /opt/apps/kvas/bin/libs/update
cmd_adguard_update
adguardhome_check_config
Expand All @@ -583,12 +588,12 @@ cmd_adguardhome_on() {
if echo "${status}" | grep -q "НЕ УСТАНОВЛЕН" ; then
error "Пакет AdGuard Home не установлен на роутере." no_newline
print_line
answer=''; read_ynq_timer "Установить его на роутер [Y] или отказаться [N]?" answer y 10
if [ "${answer}" = q ] ; then exit_q; exit 1; fi
if echo "${answer}" | grep -qi y ; then
print_line
adguardhome_install_locally
fi
# answer=''; read_ynq_timer "Установить его на роутер [Y] или отказаться [N]?" answer y 10
# if [ "${answer}" = q ] ; then exit_q; exit 1; fi
# if echo "${answer}" | grep -qi y ; then
# print_line
adguardhome_install_locally
# fi
elif echo "${status}" | grep -q "НЕ НАСТРОЕН" ; then
adguardhome_check_config
adguardhome_setup
Expand Down Expand Up @@ -941,8 +946,8 @@ dnsmasq_install(){
ready "Устанавливаем пакет dnsmasq..."
if ! [ -f /opt/etc/init.d/S56dnsmasq ]; then
# то в этом случае можем попытаться удалять или устанавливать пакеты
opkg remove dnsmasq-full 1> /dev/null 2> "${ERROR_LOG_FILE}"
opkg install dnsmasq-full 1> /dev/null 2> "${ERROR_LOG_FILE}"
opkg remove dnsmasq-full --force-depends 1> /dev/null 2> "${ERROR_LOG_FILE}"
opkg install dnsmasq-full --force-maintainer 1> /dev/null 2> "${ERROR_LOG_FILE}"
when_error "${?}" "Ошибка при установке пакета dnsmasq"
fi
fi
Expand Down Expand Up @@ -1909,8 +1914,8 @@ dns_crypt_install() {
# при его отсутствии - устанавливаем пакет
if ! [ -f /opt/etc/init.d/S09dnscrypt-proxy2 ]; then
ready "Устанавливаем пакет dnscrypt-proxy2..."
opkg remove dnscrypt-proxy2 1> /dev/null 2> "${ERROR_LOG_FILE}"
opkg install dnscrypt-proxy2 1> /dev/null 2> "${ERROR_LOG_FILE}"
opkg remove dnscrypt-proxy2 --force-depends 1> /dev/null 2> "${ERROR_LOG_FILE}"
opkg install dnscrypt-proxy2 --force-maintainer 1> /dev/null 2> "${ERROR_LOG_FILE}"
when_error "${?}" "Ошибка при установке пакета dnsmasq"
fi
else
Expand Down
6 changes: 3 additions & 3 deletions opt/bin/main/upgrade
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ rm_tmp_cache(){

if [ -f /opt/bin/kvas ] && kvas | grep -q 'Настройка пакета не завершена' ; then
ready 'Удаляем незавершенную ранее установку пакета ...'
kvas rm "${remove_mode}" yes &>/dev/null && when_ready || when_err
kvas uninstall "${remove_mode}" yes &>/dev/null && when_ready || when_err
rm_tmp_cache
else
if [ -f /opt/bin/kvas ]; then
Expand All @@ -108,7 +108,7 @@ else
ver=$(grep "APP_VERSION=" "${kvas_conf}" | cut -d'=' -f2)
rel=$(grep "APP_RELEASE=" "${kvas_conf}" | cut -d'=' -f2)
ready "Удаляем предыдущую версию пакета [${ver} ${rel}]..."
kvas rm "${remove_mode}" yes &>/dev/null && when_ready || when_err
kvas uninstall "${remove_mode}" yes &>/dev/null && when_ready || when_err
rm_tmp_cache
fi
fi
Expand Down Expand Up @@ -140,7 +140,7 @@ else
}

echo 'Тестируем настройки...'
kvas test
kvas test upgrade
}


Expand Down
4 changes: 2 additions & 2 deletions opt/etc/conf/kvas.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
APP_VERSION=1.1.5
APP_RELEASE=final-33
APP_VERSION=1.1.6
APP_RELEASE=stable-1

DNS_DEFAULT=9.9.9.9
DNS_STATIC_1=9.9.9.9
Expand Down
2 changes: 1 addition & 1 deletion opt/etc/ndm/ndm
Original file line number Diff line number Diff line change
Expand Up @@ -736,7 +736,7 @@ ip4_add_route_table(){
# rm -f "${ERROR_LOG_FILE}"
route_del "${_inface_ent}"

_ip_gw=$(ip a | grep global | grep "${_inface_ent}" | sed 's|.*inet \(.*\).*\/.* scope.*|\1|')
_ip_gw=$(ip a | grep global | grep "${_inface_ent}" | sed 's|.*inet \(.*\).*\/.* scope.*|\1|' | cut -d' ' -f1)

[ -z "${_ip_gw}" ] && {
error "Не удалось определить IP шлюза для соединения ${_inface_ent}" no_lnl
Expand Down

0 comments on commit 20f6596

Please sign in to comment.