This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Repository files navigation

Banner

Extirpater

Overview

A high performance free space eraser.

Get it on F-DroidTranslation status

What is free space erasing?

  • Typically when you delete a file it is not really deleted, it is merely removed from the file system's index.
  • A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them.
  • This process makes deleted files for the most part irrecoverable.

What is file table filling?

  • On some file systems, deleted file names can still be accessible in backup index databases.
  • By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files.
  • This process makes deleted file names for the most part irrecoverable.

Requirements

  • Android KitKit 4.4.4 and higher

Uses

  • Before selling your device
  • After enabling encryption
  • After deleting many apps/files
  • To maintain good data hygiene

Warnings

  • Do not overuse this tool
  • Excessive use will destroy your NAND flash storage
  • Ensure important files are backed up before use

Instructions

  1. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc.
  2. Launch the app
  3. (Optional) Change the erase options from the menu
  4. Click "Start" on either storage location
  5. The status of drives are shown via the status label and progress bar

"Data Output" Option

  • The list is ranked roughly by how "secure" the output is
  • If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.)
  • If you want a quick erase use "Random"
  • If you want a quick but more secure erase use "CMWC4096RNG"
  • If you want a cryptographically secure, but very slow erase use "SecureRandom"

Known Issues

  • On devices without real external storage, the two shown are both internal
  • The file table of the secondary drive will never really be filled
  • The last 20MB aren't erased

Limitations

  • Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive

Planned Updates

  • Better GUI
  • Add a fast csprng data source
  • Root support for filling /cache and /system
  • Root support for fstrim'ing partitions

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

Translations

  • Arabic: jonnysemon
  • Chinese (Simplified): 大王叫我来巡山
  • Croatian: lukapiplica
  • Czech: Fjuro
  • Estonian: Priit Jõerüüt
  • French: Calvineries
  • German: js-xda, thereisnoanderson
  • Greek: Dimitris Vagiakakos
  • Italian: Dark Space
  • Norwegian Bokmål: Even Bull-Tornøe
  • Portuguese (Brazil): lucasmz-dev, Jose Delvani
  • Portuguese: inkhorn
  • Russian: Andrey, yurtpage
  • Spanish: gallegonovato
  • Ukrainian: Fqwe1

Donate

About

A free space eraser

Resources

Stars

162 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages