Search everything you read online. FTTF lets you search the full text of every web page you visit.
Available in the Chrome Web Store.
Available in the Firefox Add-ons Store
Firefox requires additonal permissions. See below.
Doesn't Chrome do that already? How is this different?
Chrome does not let you search the text on pages you've visited, only the URLs and titles, and it deletes your history after a number of months.
FTTF is different:
- Full-Text Search Capabilities: The full content of every page you've visited becomes searchable.
- Permanent History: Your digital footprints are yours to keep. Your data is yours, so it should not be removed without your approval. Nothing is deleted automatically.
- Instant indexing: FTTF creates a search index as you browse, so pages are immediately available for searching right after you land on a page.
- For your eyes only: Your browsing history is stored locally on your device, and not on any external servers. Beware that if you switch computers your FTTF history will not automatically come with you. It can be exported though.
Who is it for?
Data hoarders like myself that never want to delete anything, and want everything to be searchable. More generally, if you've ever felt limited by the standard history search you should try this out.
How it works:
Chrome extensions have access to the pages you visit, which lets FTTF make an index of the content on any page. When a page loads its content is extracted and indexed.
Extracted? Yes, or "distilled" if you prefer. Full web pages are huge and have a lot of information that's not related to the content itself. FTTF will ignore all of that. It acts like "reader mode" to find relevant content on a page and only index that.
Install in your browser via the Chrome Web Store.
This project uses bun
as a unit testing framework, but not (currently) as a bundler. You will need to install bun
, then:
bun test
Or, pnpm run test
if you prefer.
How could this be automated?
- Manually bump the version in the manifest file
- Run the build
pnpm run build:chrome
pnpm run build:firefox
- Submit
- Chrome
- Go to: https://chrome.google.com/webstore/devconsole/bc898ad5-018e-4774-b9ab-c4bef7b7f92b/gfmbnlbnapjmffgcnbopfgmflmlfghel/edit/package
- Upload the
fttf-chrome.zip
file
- Firefox
- Go to: https://addons.mozilla.org/en-US/developers/addon/full-text-tabs-forever/edit
- Upload the
fttf-firefox.zip
file - Zip the original source code and upload that too:
zip -r src.zip src
- Chrome
Install here: https://addons.mozilla.org/en-US/firefox/addon/full-text-tabs-forever/
Currently you have to manually enable additional permissions in Firefox like so:
See this comment for more details: #3 (comment)
Support was added in: #4.
- Backfill history Currently only new pages you visit are indexed, but we could backfill by opening every page in the browser's history that hasn't yet been indexed. An optional feature, but a useful one.
- Backup and sync As with all my wasm-sqlite projects I don't want data locked in IndexedDB. VLCN has great sync support so this could be relatively low-hanging fruit.
- Integrate with browser-gopher Browser gopher and BrowserParrot were the initial impetus to create a better way to ingest full text web pages, without triggering a Cloudflare captcha party on your home connection.
- Improve discoverability of functionality. There is now a button to open the command palette. Still not much GUI, but enough to be discovered.
- Firefox
This should not be too difficult since this project was started with web extension polyfills. However, there is currently some chrome specific code.It appears that the APIs do not have to be rewritten to work in Firefox. See this PR for details: #4
PRs welcome!