Correção bugs durante instalação agent

This commit is contained in:
2025-12-09 07:06:49 -03:00
parent 0c18f4cd3b
commit eb1d294671
7 changed files with 76 additions and 58 deletions

View File

@@ -146,13 +146,13 @@
('dis', '/usr/lib/python3.11/dis.py', 'PYMODULE'), ('dis', '/usr/lib/python3.11/dis.py', 'PYMODULE'),
('opcode', '/usr/lib/python3.11/opcode.py', 'PYMODULE'), ('opcode', '/usr/lib/python3.11/opcode.py', 'PYMODULE'),
('ast', '/usr/lib/python3.11/ast.py', 'PYMODULE'), ('ast', '/usr/lib/python3.11/ast.py', 'PYMODULE'),
('stringprep', '/usr/lib/python3.11/stringprep.py', 'PYMODULE'),
('_py_abc', '/usr/lib/python3.11/_py_abc.py', 'PYMODULE'),
('tracemalloc', '/usr/lib/python3.11/tracemalloc.py', 'PYMODULE'), ('tracemalloc', '/usr/lib/python3.11/tracemalloc.py', 'PYMODULE'),
('pickle', '/usr/lib/python3.11/pickle.py', 'PYMODULE'), ('pickle', '/usr/lib/python3.11/pickle.py', 'PYMODULE'),
('pprint', '/usr/lib/python3.11/pprint.py', 'PYMODULE'), ('pprint', '/usr/lib/python3.11/pprint.py', 'PYMODULE'),
('dataclasses', '/usr/lib/python3.11/dataclasses.py', 'PYMODULE'), ('dataclasses', '/usr/lib/python3.11/dataclasses.py', 'PYMODULE'),
('_compat_pickle', '/usr/lib/python3.11/_compat_pickle.py', 'PYMODULE'), ('_compat_pickle', '/usr/lib/python3.11/_compat_pickle.py', 'PYMODULE'),
('stringprep', '/usr/lib/python3.11/stringprep.py', 'PYMODULE'),
('_py_abc', '/usr/lib/python3.11/_py_abc.py', 'PYMODULE'),
('logging.handlers', '/usr/lib/python3.11/logging/handlers.py', 'PYMODULE'), ('logging.handlers', '/usr/lib/python3.11/logging/handlers.py', 'PYMODULE'),
('http.client', '/usr/lib/python3.11/http/client.py', 'PYMODULE'), ('http.client', '/usr/lib/python3.11/http/client.py', 'PYMODULE'),
('ssl', '/usr/lib/python3.11/ssl.py', 'PYMODULE'), ('ssl', '/usr/lib/python3.11/ssl.py', 'PYMODULE'),
@@ -476,19 +476,21 @@
('base_library.zip', ('base_library.zip',
'/home/halbebruno/Projetos/DNSBlock/agent/build/dnsblock-agent/base_library.zip', '/home/halbebruno/Projetos/DNSBlock/agent/build/dnsblock-agent/base_library.zip',
'DATA')], 'DATA')],
[('weakref', '/usr/lib/python3.11/weakref.py', 'PYMODULE'), [('_collections_abc', '/usr/lib/python3.11/_collections_abc.py', 'PYMODULE'),
('copyreg', '/usr/lib/python3.11/copyreg.py', 'PYMODULE'), ('keyword', '/usr/lib/python3.11/keyword.py', 'PYMODULE'),
('weakref', '/usr/lib/python3.11/weakref.py', 'PYMODULE'),
('enum', '/usr/lib/python3.11/enum.py', 'PYMODULE'),
('genericpath', '/usr/lib/python3.11/genericpath.py', 'PYMODULE'),
('posixpath', '/usr/lib/python3.11/posixpath.py', 'PYMODULE'),
('re._parser', '/usr/lib/python3.11/re/_parser.py', 'PYMODULE'), ('re._parser', '/usr/lib/python3.11/re/_parser.py', 'PYMODULE'),
('re._constants', '/usr/lib/python3.11/re/_constants.py', 'PYMODULE'), ('re._constants', '/usr/lib/python3.11/re/_constants.py', 'PYMODULE'),
('re._compiler', '/usr/lib/python3.11/re/_compiler.py', 'PYMODULE'), ('re._compiler', '/usr/lib/python3.11/re/_compiler.py', 'PYMODULE'),
('re._casefix', '/usr/lib/python3.11/re/_casefix.py', 'PYMODULE'), ('re._casefix', '/usr/lib/python3.11/re/_casefix.py', 'PYMODULE'),
('re', '/usr/lib/python3.11/re/__init__.py', 'PYMODULE'), ('re', '/usr/lib/python3.11/re/__init__.py', 'PYMODULE'),
('codecs', '/usr/lib/python3.11/codecs.py', 'PYMODULE'), ('codecs', '/usr/lib/python3.11/codecs.py', 'PYMODULE'),
('collections.abc', '/usr/lib/python3.11/collections/abc.py', 'PYMODULE'), ('_weakrefset', '/usr/lib/python3.11/_weakrefset.py', 'PYMODULE'),
('collections', '/usr/lib/python3.11/collections/__init__.py', 'PYMODULE'), ('sre_parse', '/usr/lib/python3.11/sre_parse.py', 'PYMODULE'),
('warnings', '/usr/lib/python3.11/warnings.py', 'PYMODULE'), ('functools', '/usr/lib/python3.11/functools.py', 'PYMODULE'),
('operator', '/usr/lib/python3.11/operator.py', 'PYMODULE'),
('stat', '/usr/lib/python3.11/stat.py', 'PYMODULE'),
('encodings.zlib_codec', ('encodings.zlib_codec',
'/usr/lib/python3.11/encodings/zlib_codec.py', '/usr/lib/python3.11/encodings/zlib_codec.py',
'PYMODULE'), 'PYMODULE'),
@@ -719,23 +721,21 @@
('encodings.ascii', '/usr/lib/python3.11/encodings/ascii.py', 'PYMODULE'), ('encodings.ascii', '/usr/lib/python3.11/encodings/ascii.py', 'PYMODULE'),
('encodings.aliases', '/usr/lib/python3.11/encodings/aliases.py', 'PYMODULE'), ('encodings.aliases', '/usr/lib/python3.11/encodings/aliases.py', 'PYMODULE'),
('encodings', '/usr/lib/python3.11/encodings/__init__.py', 'PYMODULE'), ('encodings', '/usr/lib/python3.11/encodings/__init__.py', 'PYMODULE'),
('_weakrefset', '/usr/lib/python3.11/_weakrefset.py', 'PYMODULE'),
('types', '/usr/lib/python3.11/types.py', 'PYMODULE'), ('types', '/usr/lib/python3.11/types.py', 'PYMODULE'),
('operator', '/usr/lib/python3.11/operator.py', 'PYMODULE'),
('copyreg', '/usr/lib/python3.11/copyreg.py', 'PYMODULE'),
('reprlib', '/usr/lib/python3.11/reprlib.py', 'PYMODULE'), ('reprlib', '/usr/lib/python3.11/reprlib.py', 'PYMODULE'),
('_collections_abc', '/usr/lib/python3.11/_collections_abc.py', 'PYMODULE'),
('io', '/usr/lib/python3.11/io.py', 'PYMODULE'),
('functools', '/usr/lib/python3.11/functools.py', 'PYMODULE'),
('locale', '/usr/lib/python3.11/locale.py', 'PYMODULE'),
('sre_parse', '/usr/lib/python3.11/sre_parse.py', 'PYMODULE'),
('posixpath', '/usr/lib/python3.11/posixpath.py', 'PYMODULE'),
('sre_constants', '/usr/lib/python3.11/sre_constants.py', 'PYMODULE'), ('sre_constants', '/usr/lib/python3.11/sre_constants.py', 'PYMODULE'),
('traceback', '/usr/lib/python3.11/traceback.py', 'PYMODULE'),
('linecache', '/usr/lib/python3.11/linecache.py', 'PYMODULE'), ('linecache', '/usr/lib/python3.11/linecache.py', 'PYMODULE'),
('enum', '/usr/lib/python3.11/enum.py', 'PYMODULE'), ('collections.abc', '/usr/lib/python3.11/collections/abc.py', 'PYMODULE'),
('collections', '/usr/lib/python3.11/collections/__init__.py', 'PYMODULE'),
('locale', '/usr/lib/python3.11/locale.py', 'PYMODULE'),
('traceback', '/usr/lib/python3.11/traceback.py', 'PYMODULE'),
('abc', '/usr/lib/python3.11/abc.py', 'PYMODULE'), ('abc', '/usr/lib/python3.11/abc.py', 'PYMODULE'),
('heapq', '/usr/lib/python3.11/heapq.py', 'PYMODULE'), ('io', '/usr/lib/python3.11/io.py', 'PYMODULE'),
('keyword', '/usr/lib/python3.11/keyword.py', 'PYMODULE'), ('stat', '/usr/lib/python3.11/stat.py', 'PYMODULE'),
('ntpath', '/usr/lib/python3.11/ntpath.py', 'PYMODULE'), ('ntpath', '/usr/lib/python3.11/ntpath.py', 'PYMODULE'),
('genericpath', '/usr/lib/python3.11/genericpath.py', 'PYMODULE'), ('heapq', '/usr/lib/python3.11/heapq.py', 'PYMODULE'),
('sre_compile', '/usr/lib/python3.11/sre_compile.py', 'PYMODULE'), ('sre_compile', '/usr/lib/python3.11/sre_compile.py', 'PYMODULE'),
('warnings', '/usr/lib/python3.11/warnings.py', 'PYMODULE'),
('os', '/usr/lib/python3.11/os.py', 'PYMODULE')]) ('os', '/usr/lib/python3.11/os.py', 'PYMODULE')])

View File

@@ -121,7 +121,7 @@
[], [],
False, False,
False, False,
1765189813, 1765274759,
[('run', [('run',
'/home/halbebruno/Projetos/DNSBlock/agent/build_venv/lib/python3.11/site-packages/PyInstaller/bootloader/Linux-64bit-intel/run', '/home/halbebruno/Projetos/DNSBlock/agent/build_venv/lib/python3.11/site-packages/PyInstaller/bootloader/Linux-64bit-intel/run',
'EXECUTABLE')], 'EXECUTABLE')],

View File

@@ -19,8 +19,8 @@ missing module named _frozen_importlib_external - imported by importlib._bootstr
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional) excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional)
missing module named winreg - imported by importlib._bootstrap_external (conditional), platform (delayed, optional), mimetypes (optional), urllib.request (delayed, conditional, optional), requests.utils (delayed, conditional, optional) missing module named winreg - imported by importlib._bootstrap_external (conditional), platform (delayed, optional), mimetypes (optional), urllib.request (delayed, conditional, optional), requests.utils (delayed, conditional, optional)
missing module named nt - imported by os (delayed, conditional, optional), ntpath (optional), shutil (conditional), importlib._bootstrap_external (conditional) missing module named nt - imported by os (delayed, conditional, optional), ntpath (optional), shutil (conditional), importlib._bootstrap_external (conditional)
missing module named org - imported by pickle (optional)
missing module named _winapi - imported by encodings (delayed, conditional, optional), ntpath (optional), subprocess (conditional), mimetypes (optional) missing module named _winapi - imported by encodings (delayed, conditional, optional), ntpath (optional), subprocess (conditional), mimetypes (optional)
missing module named org - imported by pickle (optional)
missing module named _scproxy - imported by urllib.request (conditional) missing module named _scproxy - imported by urllib.request (conditional)
missing module named msvcrt - imported by subprocess (optional), getpass (optional) missing module named msvcrt - imported by subprocess (optional), getpass (optional)
missing module named win32evtlog - imported by logging.handlers (delayed, optional) missing module named win32evtlog - imported by logging.handlers (delayed, optional)

View File

@@ -50,10 +50,6 @@ verificar_dependencias() {
exit 1 exit 1
fi fi
if ! command -v tar &> /dev/null; then
deps_faltando="$deps_faltando tar"
fi
if ! command -v unbound-checkconf &> /dev/null; then if ! command -v unbound-checkconf &> /dev/null; then
deps_faltando="$deps_faltando unbound-checkconf" deps_faltando="$deps_faltando unbound-checkconf"
fi fi
@@ -280,62 +276,84 @@ instalar() {
systemctl stop dnsblock-agent 2>/dev/null || true systemctl stop dnsblock-agent 2>/dev/null || true
systemctl disable dnsblock-agent 2>/dev/null || true systemctl disable dnsblock-agent 2>/dev/null || true
rm -rf "$INSTALL_DIR" rm -rf "$INSTALL_DIR"
rm -f "$SERVICE_FILE"
fi fi
# Solicitar serial # Exibir progresso - Fase 1: Criar diretórios e copiar arquivos
SERIAL=$(solicitar_serial)
# Exibir progresso
{ {
echo "10"; echo "# Criando diretórios..." echo "5"; echo "# Criando diretórios..."
mkdir -p "$INSTALL_DIR" mkdir -p "$INSTALL_DIR"
mkdir -p "$INSTALL_DIR/logs" mkdir -p "$INSTALL_DIR/logs"
mkdir -p "$INSTALL_DIR/rpz" mkdir -p "$INSTALL_DIR/rpz"
sleep 0.3 sleep 0.2
echo "30"; echo "# Copiando arquivos..." echo "15"; echo "# Copiando binário..."
# Copiar todos os arquivos exceto o service file e o próprio install.sh # Copiar o binário
for item in "$SCRIPT_DIR"/*; do if [ -f "$SCRIPT_DIR/dnsblock-agent" ]; then
local basename=$(basename "$item") cp "$SCRIPT_DIR/dnsblock-agent" "$INSTALL_DIR/"
if [ "$basename" != "dnsblock-agent.service" ] && [ "$basename" != "install.sh" ]; then chmod +x "$INSTALL_DIR/dnsblock-agent"
cp -r "$item" "$INSTALL_DIR/" else
echo "ERRO: dnsblock-agent não encontrado!" >&2
exit 1
fi fi
done sleep 0.2
sleep 0.3
echo "50"; echo "# Configurando permissões..." echo "25"; echo "# Criando config.json..."
chmod +x "$INSTALL_DIR/dnsblock-agent" 2>/dev/null || true # Criar config.json a partir do exemplo
if [ -f "$SCRIPT_DIR/config.json.example" ]; then
cp "$SCRIPT_DIR/config.json.example" "$INSTALL_DIR/config.json"
else
echo "ERRO: config.json.example não encontrado!" >&2
exit 1
fi
sleep 0.2
echo "35"; echo "# Configurando permissões..."
touch "$INSTALL_DIR/logs/agent.log" touch "$INSTALL_DIR/logs/agent.log"
chown -R unbound:unbound "$INSTALL_DIR" chown -R unbound:unbound "$INSTALL_DIR"
chmod 755 "$INSTALL_DIR" chmod 755 "$INSTALL_DIR"
sleep 0.3 sleep 0.2
echo "60"; echo "# Configurando serial..." echo "40"; echo "# Aguardando..."
} | whiptail --title "DNSBlock Agent - Instalação" --gauge "Preparando arquivos..." 8 60 0
# Solicitar serial (fora do gauge para funcionar corretamente)
SERIAL=$(solicitar_serial)
# Exibir progresso - Fase 2: Configurar serial e serviço
{
echo "45"; echo "# Configurando serial..."
if [ -n "$SERIAL" ]; then if [ -n "$SERIAL" ]; then
atualizar_config_serial "$SERIAL" atualizar_config_serial "$SERIAL"
fi fi
sleep 0.3 sleep 0.2
echo "70"; echo "# Instalando serviço..." echo "55"; echo "# Instalando serviço systemd..."
if [ -f "$SCRIPT_DIR/dnsblock-agent.service" ]; then if [ -f "$SCRIPT_DIR/dnsblock-agent.service" ]; then
mv "$SCRIPT_DIR/dnsblock-agent.service" "$SERVICE_FILE" cp "$SCRIPT_DIR/dnsblock-agent.service" "$SERVICE_FILE"
else
echo "ERRO: dnsblock-agent.service não encontrado!" >&2
exit 1
fi fi
sleep 0.2
echo "65"; echo "# Habilitando serviço..."
systemctl daemon-reload systemctl daemon-reload
systemctl enable dnsblock-agent systemctl enable dnsblock-agent 2>/dev/null || true
sleep 0.3 sleep 0.2
echo "85"; echo "# Configurando Unbound..." echo "75"; echo "# Configurando Unbound..."
configurar_unbound || true configurar_unbound || true
sleep 0.3 sleep 0.2
echo "95"; echo "# Finalizando..." echo "90"; echo "# Finalizando..."
if [ -n "$SERIAL" ]; then if [ -n "$SERIAL" ]; then
systemctl start dnsblock-agent systemctl start dnsblock-agent 2>/dev/null || true
fi fi
sleep 0.3 sleep 0.2
echo "100"; echo "# Concluído!" echo "100"; echo "# Concluído!"
} | whiptail --title "DNSBlock Agent - Instalação" --gauge "Iniciando instalação..." 8 60 0 } | whiptail --title "DNSBlock Agent - Instalação" --gauge "Configurando sistema..." 8 60 45
# Exibir mensagem final # Exibir mensagem final
if [ -n "$SERIAL" ]; then if [ -n "$SERIAL" ]; then