A bash script to clean a specific link (URL) on Google Chrome history. Why? Chrome history stores so many entries for a unique URL like e.g., facebook.com ( 😒 🧲 fb.com/1 🧲 fb.com/2 🧲 fb.com/a 🧲 fb.com/b or 🧲 fb.com/huashdausidhaisdu), inflating and spamming with so many complex and extensible URL chains on the database Chrome history.
Just use the script, type the desired URL (e.g., 🧲 facebook.com or 🧲 translate.google.com) to the script make the deep cleaning on all spamming URLs stored on your Google Chrome browse History.
sudo rm link-cleaner.sh 2>/dev/null || true &&
wget https://raw.githubusercontent.com/atorresbr/chrome-history-unique-link-cleaner/refs/heads/main/link-cleaner.sh &&
sudo chmod +x link-cleaner.sh && ./link-cleaner.sh
The script performs a surgical operation on the browser's internal architecture:
- Process Termination: It forcefully closes all Chrome/Chromium instances to lift the "Database Lock" state, allowing SQLite3 to modify the files safely.
- Path Discovery: It recursively scans your
$HOMEdirectory to find everyHistory,Login Data, andWeb Datafile, covering Native, Snap, and Flatpak installations. - Relational Purge: It doesn't just delete a URL; it uses nested SQL queries to find every "Visit ID" associated with that URL and wipes them from the
visitstable to ensure no ghost entries remain. - Data Scrubbing: It cleans specific tables including
keyword_search_terms(Omnibox suggestions) andsegment_usage(Most Visited tiles). - Disk Vacuum: It executes a
VACUUMcommand, which defragments the database files and physically removes deleted data fragments from your storage.
Beyond cleaning, the script performs a Deep Optimization using the VACUUM command:
- Speed Recovery: Over time, deleting thousands of URLs (like 🧲
fb.com/1🧲fb.com/2🧲fb.com/a🧲fb.com/bor 🧲fb.com/huashdausidhaisdu) leaves "holes" in the database file.VACUUMrebuilds the database, making it smaller and significantly faster to load. - Fragment Removal: This ensures that deleted data is physically overwritten and removed from the disk sectors, not just "marked as deleted."
| Database File | Table Name | Purpose |
|---|---|---|
| History | urls |
Main storage for the URL strings. |
| History | visits |
Timestamps and reference IDs for every site load. |
| History | keyword_search_terms |
Search queries and auto-complete predictions in the address bar. |
| History | segment_usage |
Metrics used to display the "Most Visited" tiles on a new tab. |
| Login Data | logins |
Saved usernames and encrypted passwords for the domain. |
| Web Data | autofill |
Saved form data and field entries. |
| Favicons | icon_mapping |
Links between URLs and cached site icons. |
- Automatic Logging: Every action is recorded in
~/chrome_purge_report.log, including profiles scanned and match counts. - Integrity Protection: The script removes
-journaland-waltemporary files before processing to prevent database corruption. - Self-Verification: It performs a "before and after" check to confirm that 0 matches remain in the database.
--- Chrome Purge Session: Sat Jan 31 12:41:00 GMT 2026 ---
PROFILE: Default
>> Matches Found: 142
>> SUCCESS: Verified (0 matches remaining).
>> Database Optimized (VACUUM complete).
If you are logged on Google Chrome sync, you need to clean MANUALLY the History on My Activity to prevent the Chrome reload all history activity locally for your URL cleaned.
Um script bash para limpar um link específico (URL) no histórico do Google Chrome. Por quê? O histórico do Chrome armazena tantas entradas para uma única URL como, por exemplo, facebook.com ( 😒 🧲 fb.com/1 🧲 fb.com/2 🧲 fb.com/a 🧲 fb.com/b ou 🧲 fb.com/huashdausidhaisdu), inflando e gerando spam com cadeias de URLs complexas e extensas no banco de dados do histórico do Chrome.
Basta usar o script, digitar a URL desejada (ex: 🧲 facebook.com ou 🧲 translate.google.com) para que o script faça a limpeza profunda de todas as URLs de spam armazenadas no seu histórico de navegação do Google Chrome.
O script realiza uma operação cirúrgica na arquitetura interna do navegador:
- Finalização de Processos: Encerra forçadamente todas as instâncias do Chrome/Chromium para liberar o estado de "Database Lock", permitindo que o SQLite3 modifique os arquivos com segurança.
- Descoberta de Caminhos: Varre recursivamente seu diretório
$HOMEpara encontrar todos os arquivos deHistory,Login DataeWeb Data, cobrindo instalações Nativas, Snap e Flatpak. - Purga Relacional: Não deleta apenas uma URL; utiliza consultas SQL aninhadas para encontrar cada "ID de Visita" associado àquela URL e os apaga da tabela
visits, garantindo que não restem entradas fantasmas. - Limpeza de Dados: Limpa tabelas específicas, incluindo
keyword_search_terms(sugestões da barra de endereços) esegment_usage(blocos de sites mais visitados). - Vacuum de Disco: Executa o comando
VACUUM, que desfragmenta os arquivos do banco de dados e remove fisicamente os fragmentos de dados deletados do seu armazenamento.
Além da limpeza, o script realiza uma Otimização Profunda usando o comando VACUUM:
- Recuperação de Velocidade: Com o tempo, deletar milhares de URLs (como 🧲
fb.com/1🧲fb.com/2🧲fb.com/a🧲fb.com/bou 🧲fb.com/huashdausidhaisdu) deixa "buracos" no arquivo do banco de dados. OVACUUMreconstrói o banco, tornando-o menor e significativamente mais rápido para carregar. - Remoção de Fragmentos: Isso garante que os dados deletados sejam fisicamente sobrescritos e removidos dos setores do disco, e não apenas "marcados como excluídos".
| Arquivo de Banco | Nome da Tabela | Propósito |
|---|---|---|
| History | urls |
Armazenamento principal das strings de URL. |
| History | visits |
Carimbos de data/hora e IDs de referência para cada acesso. |
| History | keyword_search_terms |
Consultas de pesquisa e previsões de preenchimento automático na barra de endereços. |
| History | segment_usage |
Métricas para exibir os "Sites Mais Visitados" na nova guia. |
| Login Data | logins |
Nomes de usuário e senhas criptografadas salvos para o domínio. |
| Web Data | autofill |
Dados de formulários e entradas de campos salvos. |
| Favicons | icon_mapping |
Vínculos entre URLs e ícones de sites (favicons) em cache. |
- Log Automático: Todas as ações são registradas em
~/chrome_purge_report.log, incluindo perfis verificados e contagem de correspondências. - Proteção de Integridade: O script remove arquivos temporários
-journale-walantes de processar para evitar a corrupção do banco de dados. - Auto-Verificação: Realiza uma checagem "antes e depois" para confirmar que restam 0 correspondências no banco de dados.
--- Sessão de Purga do Chrome: Sat Jan 31 12:41:00 GMT 2026 ---
PROFILE: Default
>> Correspondências Encontradas: 142
>> SUCESSO: Verificado (0 correspondências restantes).
>> Banco de Dados Otimizado (VACUUM concluído).
Se você estiver logado na sincronização do Google Chrome, você precisa limpar MANUALMENTE o histórico no Minha Atividade do Google para evitar que o Chrome recarregue toda a atividade do histórico localmente para a URL que você limpou.
Un script bash para limpiar un enlace específico (URL) en el historial de Google Chrome. ¿Por qué? El historial de Chrome almacena tantas entradas para una URL única como, por ejemplo, facebook.com ( 😒 🧲 fb.com/1 🧲 fb.com/2 🧲 fb.com/a 🧲 fb.com/b o 🧲 fb.com/huashdausidhaisdu), inflando y llenando de spam con cadenas de URL complejas y extensas en la base de datos del historial de Chrome.
Simplemente usa el script, escribe la URL deseada (ej: 🧲 facebook.com o 🧲 translate.google.com) para que el script realice la limpieza profunda de todas las URLs de spam almacenadas en tu historial de navegación de Google Chrome.
El script realiza una operación quirúrgica en la arquitectura interna del navegador:
- Finalización de Procesos: Cierra forzosamente todas las instancias de Chrome/Chromium para liberar el estado de "Database Lock", permitiendo que SQLite3 modifique los archivos de forma segura.
- Descubrimiento de Rutas: Escanea recursivamente tu directorio
$HOMEpara encontrar cada archivo deHistory,Login DatayWeb Data, cubriendo instalaciones Nativas, Snap y Flatpak. - Purga Relacional: No solo borra una URL; utiliza consultas SQL anidadas para encontrar cada "ID de Visita" asociado con esa URL y los elimina de la tabla
visitspara asegurar que no queden entradas fantasma. - Limpieza de Datos: Limpia tablas específicas incluyendo
keyword_search_terms(sugerencias de la barra de direcciones) ysegment_usage(mosaicos de sitios más visitados). - Vacío de Disco: Ejecuta el comando
VACUUM, que desfragmenta los archivos de la base de datos y elimina físicamente los fragmentos de datos borrados de tu almacenamiento.
Además de la limpieza, el script realiza una Optimización Profunda usando el comando VACUUM:
- Recuperación de Velocidade: Con el tiempo, borrar miles de URLs (como 🧲
fb.com/1🧲fb.com/2🧲fb.com/a🧲fb.com/bo 🧲fb.com/huashdausidhaisdu) deja "huecos" en el archivo de la base de datos.VACUUMreconstruye la base de datos, haciéndola más pequeña y significativamente más rápida de cargar. - Eliminación de Fragmentos: Esto asegura que los datos borrados sean físicamente sobrescritos y eliminados de los sectores del disco, y no solo "marcados como eliminados".
| Archivo de Base de Datos | Nombre de Tabla | Propósito |
|---|---|---|
| History | urls |
Almacenamiento principal de las cadenas de URL. |
| History | visits |
Marcas de tiempo e IDs de referencia para cada acceso al sitio. |
| History | keyword_search_terms |
Consultas de búsqueda y predicciones de autocompletado en la barra de direcciones. |
| History | segment_usage |
Métricas para mostrar los mosaicos de "Sitios más visitados" en una pestaña nova. |
| Login Data | logins |
Nombres de usuario y contraseñas cifradas guardadas para el dominio. |
| Web Data | autofill |
Datos de formularios y campos guardados. |
| Favicons | icon_mapping |
Vínculos entre URLs e iconos de sitios (favicons) en caché. |
- Registro Automático: Todas las acciones se registran en
~/chrome_purge_report.log, incluyendo perfiles escaneados y recuentos de coincidencias. - Protección de Integridad: El script elimina los archivos temporales
-journale-walantes de procesar para evitar la corrupción de la base de datos. - Auto-Verificación: Realiza una comprobación de "antes y después" para confirmar que quedan 0 coincidencias en la base de datos.
--- Sesión de Purga de Chrome: Sat Jan 31 12:41:00 GMT 2026 ---
PROFILE: Default
>> Coincidencias Encontradas: 142
>> ÉXITO: Verificado (0 coincidencias restantes).
>> Base de Datos Optimizada (VACUUM completo).
Si has iniciado sesión en la sincronización de Google Chrome, debes limpiar MANUALMENTE el historial en Mi Actividad de Google para evitar que Chrome recargue localmente toda la atividade del historial para la URL que has limpiado.
