Jump to content

Zeleza

Forum Members
  • Posts

    761
  • Joined

  • Days Won

    79

Everything posted by Zeleza

  1. Всем доброго дня Как многие наверно заметили, сейчас, после выхода стабильной версии Кваса, наступило небольшое затишье в развитии проекта, но позвольте Вас заверить оно лишь видимое. Как я и анонсировал ранее, сейчас ведутся работы над WUI под Квас и другие плагины - проект называется "Самовар". Пишется неспеша Rest API на С++ и сам WUI на JS + HTML5 (bootstrap 5) и потому процесс не быстрый. Тем более, что приходится изучать много для себя нового, несмотря на использование таких современных технологий как AI (ChatGPT) и им подобные. О сроках пока говорить ничего не стану - как появится результат, так сразу опубликую новую тему с Самоваром или на аглицкий манер - CAMOBAP, с его описанием и открою для обзора репозиторий на GitHub. Не прощаюсь, всем удачи.
  2. Доброго дня Пробывали ли команду kvas vpn guest <entware_net>?
  3. Доброго вечера, Очень жаль, что Вы восприняли мои слова за оскорбление. У меня не было намерения - оскорбить, задеть или обидеть Вас. И если это произошло, то прошу простить меня великодушно. Вопрос, в том виде, в котором Вы задали его изначально, не подразумевал иного ответа, чем тот, который я Вам привел ранее. Сейчас же, Вы дали пояснения к своему вопросу, которые представляют Ваш вопрос немного в ином свете, потому неловкой ситуации можно было бы избежать, сделай Вы эти пояснения изначально. Логика в Квасе простая - использовать готовые инструменты, о которых я написал Вам ранее. Постараюсь пояснить еще раз: dnsmasq (секция server) - внимательно просмотрите информацию по этой секции, Квас меняет настройки связанные с DNS-серверами только в этой секциии, в файле конфигурации dnsmasq. И меняет их тогда и только тогда, когда Вы отключаете шифрование DNS-запросов. Если же Вы используете шифрование DNS-запросов (команда kvas crypt on), то в этом случае DNS-шифрование начинает работать уже через dnscrypt-proxy2, посредством DNS-серверов, описанные в секции sources файла конфигурации dnscrypt-proxy2. dnscrypt-proxy2. Квас не меняет настройки связанные с DNS-серверами в секции [sources], а использует данные по умолчанию. В случае подключения AGH, связка dnsmasq+dnscrypt-proxy2 перестает работать и вместо нее начинает работать AGH (источник 1 + источник 2), тут и правда не стану даже обсуждать данный вопрос - это не мой продукт. Воспользуйтесь пожалуйста, теми ссылками, которые приведены или найдите новые. Квас не меняет настройки AGH касающиеся секции DNS-серверов .
  4. Здравствуйте, Вам лучше спросить по этому поводу в этой теме.
  5. Доброго дня Откровенно говоря, данный пакет предназначен для тех, кто как раз таки не хочет разбирать себя и пытать)) Поставил и забыл. Если же Вы действительно хотите разобрать себя, пытая, то Вам скорее всего нужно проштудировать, как минимум документацию по dnsmasq (секция server) + dnscrypt-proxy2 (+ тема на форуме + см. файл настроек самого пакета, секцию [sources]) и доку по AGH (источник 1 + источник 2). Ну, а если серьезно, то Ваша лень не делает Вам чести. Все ссылки выше я нашел в поисковике за одну минуту.
  6. AGH просто более удобный вариант т.к. имеет встроенный WUI. С обрезкой рекламы хорошо справляется и встроенный в Квас - dnscrypt-proxy2, который работает в связке с dnsmasq. Это базовые вопросы - пожалуйста внимательно читайте справку по Квас.
  7. Не понял, так что Вы выбрали в конечном счете? AGH или dnsmasq?
  8. Если Вы решили использовать AGH в качестве основного DNS сервера, то попробуйте сделать полное удаление Кваса и его установку с выбором AGH при установке Кваса. Его Квас должен обнаружить автоматически и задать Вам вопрос об его использовании. Если же Вы выбрали dnsmasq - то удалите AGH с роутера и перегрузите устройство. DNS сервер на устройстве может быть только один! opkg remove adguardhome-go mv /opt/etc/init.d/eK56dnsmasq /opt/etc/init.d/S56dnsmasq reboot # После перезагрузки kvas adguard off
  9. Вы или тот, кто имеет доступ к Вашему устройству установил AGH, который отключил сервис dnsmasq и подключил AGH. И если Вы уже настроили под себя AGH и есть желание его и дальше использовать вместо dnsmasq, то просто запустите команду kvas adguard on. В целом Вам необходимо определиться какой из двух вариантов DNS сервисов Вы хотели бы использовать. Если dnsmasq вместо AGH, то команда kvas adguard off исправит положение. Только ее необходимо использовать после переименования файла /opt/etc/init.d/eK56dnsmasq в /opt/etc/init.d/S56dnsmasq. Если же хотите использовать AGH, то команда для его запуска описана выше.
  10. Ошибся, прошу прощения - правильно ls -lai /opt/etc/init.d
  11. Вы удаляли dnsmasq самостоятельно? Пришлите пожалуйста вывод: ls -lai /opt/init.d
  12. Доброго дня В данном случае попробуйте перегрузить dnsmasq. Команда kvas test сделает это автоматически.
  13. Доброго дня Прошу прощения за задержку с ответом. Был немного занят. Если я верно понимаю, то данная задача под стать задаче "на каждое соединение свой список хостов", только тут будет "под свой профиль будет свой список хостов". Все верно понял? Если так, то в принципе интересная задача. Вместо списков подключения сделать списки профилей. Займусь ей после WUI.
  14. Прошу пояснить. После команды make package/<папка_спакетом>/{clean,compile} например, возникает ошибка и после ее возникновения Вы предлагаете запустить make package/<папка_спакетом>/{prepare,configure}? Все верно?
  15. Доброго утра, В приведенном Вами примере все используемые библиотеки присутствуют в стандартном репозитории, в моем же примере - библиотеки в стандартном репозитории нет, потому ответ Ваш мне не ясен. Если мы собираем по "статике" два пакета и один из них библиотека, то получим на выходе два ipk и тогда пользователю необходимо будет заботится о том, чтобы сначала скачать один пакет и затем второй, я же хочу этого избежать и сделать (как варианте с динамикой) автоматическую сборку библиотеки и затем сборку пакета в одном флаконе. Можно ли такого достичь в варианте со "статикой"? ------------- Так же, по возможности, прошу помочь в вопросе повторной компиляции при исправлении ошибок в коде. Делал make clean, make package./my-super-prog/clean, обновлял feeds, но все едино - возникают ошибки при компиляции, причем при компиляции сопутствующих пакетов, а не целевого. Потому каждый раз приходится собирать все заново после make dirclean. Тогда ошибки появляются только при компиляции целевой программы, если они есть или пакет собирается на ура, но каждый раз ждать по 30-40 минут сборку всего тулчайна дело утомительное, когда меняешь в коде всего несколько строк. Потому прошу помочь развернутым ответом или ссылкой на источник развернутого ответа по данном вопросу - как ускорить процесс переборки пакета при внесении исправлений в код?
  16. Получается, что для установки статики необходимо сначала собрать пакет libhttpserver, затем установить его на устройство и только затем собрать и установить my-super-prog? Все верно?
  17. Отвечу сам себе, возможно пригодится кому-либо. Под mips флаг -fgnu89-inline решил проблему. Добавление следующего кода помогло: ifeq ($(findstring mips,$(ARCH)),) TARGET_CFLAGS += -fgnu89-inline endif
  18. При сборке под mips возникла проблема следующая (под остальные две платформы - собралось без ошибок): checking whether <wchar.h> uses 'inline' correctly... no configure: error: <wchar.h> cannot be used with this compiler (mips-openwrt-linux-gnu-gcc -EB -O2 -pipe -mno-branch-likely -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -I/apps/entware/staging_dir/toolchain-mips_mips32r2_gcc-8.4.0_glibc-2.27/include ). This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in C99 mode. You have four options: - Add the flag -fgnu89-inline to CC and reconfigure, or - Fix your include files, using parts of <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or - Use a gcc version older than 4.3, or - Don't use the flags -std=c99 or -std=gnu99. Configuration aborted. Прошу подсказать, какой блок if необходимо включить в файл манифеста для mips и какой из 4 предложенных вариантов выбрать для решения данного вопроса. Если подставить флаг -fgnu89-inline, под остальные платформы пакет соберется?
  19. @zyxmon благодарю Вас за ответы. Тогда поясните пожалуйста, какой смысл использования этой переменной именно в первом варианте? Где можно найти описание целей использования данных файлов при сборке пакетов? По одному пакету понятно, не ясен момент если собираются несколько пакетов?
  20. Уважаемые гуру, доброго утра Большое Вам спасибо за оказанную помощь, все удалось собрать. Правда, остались неясными некоторые вопросы, хотя я по честному проштудировал все указанные выше источники. В них есть ответы на некоторые вопросы ниже, но, либо они скудны по своему содержанию, либо я их не понял, в следствии плохого перевода или в следствии своей пока некомпетентности. Мои вопросы, возможно, могут показаться Вам нелепыми или абсурдными, но с моей точки зрения самый нелепый вопрос - тот который не задан. Потому прошу Вас, ответить на вопросы ниже, и если возможно в развернутом виде. Не поленитесь пожалуйста это сделать, тем более, что вопросы точечные, а не общего порядка: @TheBB привел два варианта файла манифеста: статический и динамический. С динамическим справился и все собралось. Не ясно, можно ли использовать статический вариант в данном, конкретном случае: при необходимости собрать запускаемую программу, на основе отсутствующей в стандартном репозитрории библиотеки? Я не нашел в статической версии манифеста команд по загрузке библиотеки и ее распаковки из гитхаба, потому не представляю - возможно в статическом варианте это делается по умолчанию на лету? Прошу пояснить. Если есть возможность сборки "статики" для данного случая - прошу Вас подскажите, как будет выглядеть файл манифеста? Как работают секции типа define Build/* при сборке нескольких приложений сразу (как в нашем случае)? Эти секции будут исполняться для всех приложений, которые прописаны в секциях define Package/*? В документации ответа на этот вопрос не нашел. Прошу пояснить данный вопрос. Для чего служит секция Package/conffiles? О каких файлах конфигурации идет речь и зачем из перечислять здесь отдельно? Ведь мы все фейлы конфигурации, по идее, копируем и перечисляем в секции Package/*/install ? Почему в варианте "статики" указана переменная PKG_FIXUP:=autoreconf, а в варианте "динамики" ее нет? Прошу пояснить более подробно использование переменной PKG_INSTALL в связке с переменной PKG_INSTALL_DIR. В документации, перевод очень невнятный по этому поводу. Как понять, какие mk-файлы необходимо включать в файл манифеста и в каких случаях? Речь идет о конструкциях include $(INCLUDE_DIR)/*.mk. Где можно найти описание целей использования данных файлов при сборке пакетов? Почему в секции define Build/Prepare вызывается функция подготовки по умолчанию $(call Build/Prepare/Default), а в других секциях define Build/* вызовов таких функций по умолчанию не делается? О чем говорит переменная BUILDONLY:=1, такой переменной в документации не нашел вовсе. В секции define Download/libhttpserver (в крайнем запакованном Вами варианте Makefile), есть такая строка URL:=https://codeload.github.com/etr/libhttpserver/tar.gz/refs/tags/$(FILE_VERSION)? - для чего необходимо исользовать в конце знак вопроса? Спасибо.
  21. Доброго дня Поясните пожалуйста, как собрать пакет my-super-prog (что вписать в файл манифеста), чтобы он смог запускаться самостоятельно? Куда нужно скопировать исходные файлы пакета и как его необходимо скомпилировать, чтобы получить исполняемый файл? В указанном Вами варианте устанавливается только библиотека, но не исполняемый файл. Создал вот такой вариант манифеста, но он не работает - не находит файл #include <httpserver.hpp> , который прописан в моей my-super-prog.cpp. my-super-prog.cpp:21:10: fatal error: httpserver.hpp: No such file or directory #include <httpserver.hpp> ^~~~~~~~~~~~~~~~ compilation terminated. Не пойму, куда необходимо копировать исходный файл my-super-prog.cpp, чтобы он увидел файлы заголовков пакета libhttpserver. Строки с +++ это новые строки относительно Вашего варианта. Буду Вам признателен за помощь в решении этой проблемы.
  22. Доброго дня Попробуйте следующие варианты: Добавьте доменное имя со звездочкой kvas add *netflix.com, в случае, если задействованы поддоменные имена второго и выше уровня, как например film1.netflix.com. Добавьте сетевые диапазоны, которые принадлежат этой компании Первый способ, добавьте все по одному ip интервалы, командой kvas add 108.175.32.0/20 и так далее, все по порядку (согласно приведенным Вами картинкам) Второй способ, добавьте необходимые ip интервалы в файл (один интервал - одна строка), например netflix.ips и затем импортируйте их все сразу kvas import netflix.ips
  23. Доброго всем вечера Пробуем КВАС версии 1.1.3: Доработана функция получения локального entware интерфейса по ip. Спасибо за помощь @Aleksandr Akimov. Доработана функция импорта данных из файла. Теперь хосты со звездочкой впереди обрабатываются корректно [issue 36]. Доработан механизм очищения списка разблокировки [issue 36]. Приветствуются обратная связь по существу и предложения по усовершенствованию пакета.
×
×
  • Create New...