From 024f7a7387a66d58e01c8f7541be75474a663eae Mon Sep 17 00:00:00 2001 From: Lucas Rayan Date: Sat, 3 Oct 2026 09:48:44 -0300 Subject: [PATCH] =?UTF-8?q?Senhas=20de=20gerenciadores=20de=20senha=20volt?= =?UTF-8?q?am=20a=20entrar=20no=20hist=C3=B3rico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- README.md | 2 -- copiado.py | 11 ----------- 2 files changed, 13 deletions(-) diff --git a/README.md b/README.md index 1e47a3c..2834765 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,6 @@ só os itens **fixados** continuam; o resto existe apenas na memória. A área de transferência pode ter senhas, tokens e dados pessoais, então o Copiado: -- **Ignora senhas de gerenciadores de senha** (KeePassXC, Bitwarden, 1Password etc.), - que marcam o que copiam pedindo para não entrar em histórico. - **Só grava no disco os itens fixados**, em `~/.local/share/copiado/`, com permissão só para você (pasta `700`, arquivos `600`). - **Não guarda textos acima de 1 MB nem imagens acima de 20 MB.** diff --git a/copiado.py b/copiado.py index d15b4e3..aa86c17 100755 --- a/copiado.py +++ b/copiado.py @@ -27,14 +27,6 @@ PASTA = os.path.join(GLib.get_user_data_dir(), "copiado") ARQ_HIST = os.path.join(PASTA, "historico.json") MAX_TEXTO = 1024 * 1024 # textos maiores que 1 MB não são guardados MAX_IMAGEM = 20 * 1024 * 1024 # imagens maiores que 20 MB (PNG) também não -# Gerenciadores de senha (KeePassXC, Bitwarden, 1Password...) marcam o que -# copiam com estes formatos para pedir que não entre em histórico. -FORMATOS_SECRETOS = { - "x-kde-passwordManagerHint", - "application/x-nspasteboard-concealed-type", - "x-nspasteboard-concealed-type", - "ExcludeClipboardContentFromMonitorProcessing", -} CSS = b""" #fundo { @@ -183,9 +175,6 @@ class App(Gtk.Application): # ---------- captura ---------- def ao_copiar(self, clip, _evento): - ok, alvos = clip.wait_for_targets() - if ok and alvos and FORMATOS_SECRETOS & {a.name() for a in alvos}: - return # senha vinda de um gerenciador de senhas: não guarda if clip.wait_is_image_available(): img = clip.wait_for_image() if img is None: