10 ms·
Omnom: Self-hosted bookmarking with searchable, wysiwyg snapshots
a bit of background. this is a rewrite of omnom by asciimoo - the guy who also made searx. originally i wrote omnom, back in the days when del.icio.us was enshittified and gone down the drain. instead of complaining i was taking the opportunity to write a replacement that i would want, it became omnom, and for many years me and a bunch of users were very happy with it.
but the fast moving world of browser extensions made maintenance (for a non-commercial free software side project) too expensive, so the extension support became erratic, until it died completely. for a year or two i didn't use it.
but then asked asciimo if he could have a look a the extensions (since he was recently working on another extension, so had some experience), he looked at it, and rewrote the whole thing in go and fixed the extension. he even got support from nlnet/ngi0.
if you want to have your own self-hosted libre software bookmarking service for you and your community, give it a go, it's very simple, privacy respecting and most robust when it comes to snapshotting. asciimoo did a great job.
- deleted 1y ago[deleted]
- mstef 1y agobtw if you want to have a look at more than a decade of snapshots, try https://links.ctrlc.hu/ https://links.ctrlc.hu/ my private and membership invitation-only instance.
- submeta 1y agoI created something like that for my spouse and myself. An app that creates an archive.ph url, extracts full text and generates summaries via an llm. I‘d open source it, but as I also extract paid articles via archive.ph, I think it wouldn’t be ethical to publish it.
- mstef 1y agothe difference is, that archive.ph snapshots something in headless. omnom snapshots the exact same state that your browser is displaying you. so if there is js interactions that change the dom, those will be snapshotted, unlike with archive.ph. also lets not forget that archive.ph wraps everything in their own frame and has their own way of mangling the result. not in a bad way, it's just not the original as it would have been rendered in your browser.
- viraptor 1y agoArchive.ph is often used, because the "js interactions that change the dom" is typically a paywall. And you won't want it.
- mstef 1y agoomnom is for snapshotting, not for circumventing paywalls. i'm merely comparing the snapshot feature of the two projects. circumventing paywalls is out of scope. your bookmarks will never linkrot away.
- mstef 1y agobtw it is perfectly fine to circumvent a paywall with archive.ph and then to snapshot it with omnon so your bookmark never linkrots away. also when i say "js manipulation" i also mean stuff like captchas, or dynamic documents that you change by interacting with it, or even private services like e.g. rocket chat hidden behind some barrier like http auth, or private vpn. archive.ph will never have access to what your browser might have access to.
- mazsa 1y agoI know OP personally and have a high regard for him. His blog at https://www.ctrlc.hu/~stef/blog/ https://www.ctrlc.hu/~stef/blog/ is also worth following.
- pratio 1y agoI have settled on https://readeck.org/ https://readeck.org/ it's absolutely brilliant. It supports postgres and a service with systemd. omnom looks promising, will keep an eye on it.
- osipov 1y agothe only factor that's stopping me from moving to readeck is a lack of import functionality for evernote bookmarks. otherwise, i'd be 100% on readeck.
- mstef 1y agolooks nifty, but does it do snapshotting?
- braggerxyz 1y agoYes it does. Also written in Go and pretty hackable.
- pratio 1y agoIt also does highlighting which is absolutely amazing. No need to save an entire page just for a piece of text. Also, you can have opds for ebooks.
- smeej 1y agoMy dream tool allows me to create snapshots from either mobile or desktop browser, then read and highlight on my Android eInk reader or phone, then export my highlights and notes into Logseq...all without collecting all my data and selling it to advertisers (which basically leaves me with FOSS tools). Omnivore was as close as I've ever gotten to this dream, even though their Android app wasn't great and certainly didn't have an "eInk pagination" option, but Readeck is at least giving me some hope again once Omni sold out.
- YalebB 1y agoI encourage you to check out my app ;) Demo for Showcase: https://www.youtube.com/watch?v=ehGolVAHm8U https://www.youtube.com/watch?v=ehGolVAHm8U App Store link: https://apps.apple.com/gb/app/showcase-co/id6740991352?platform=iphone https://apps.apple.com/gb/app/showcase-co/id6740991352?platf...
- dewey 1y agoI wish ArchiveBox had such a feature where you can archive “private” and logged in pages. I often had the case where I then realized I only archived some login page.
- 5evOX5hTZ9mYa9E 1y agoI use Linkding for my bookmarking. It has the ability to snapshot the links by using SingleFile, which is super handy cause it produces a single .html file that you can send or save separately if you want. To save logged in content, you can either pass it cookies.txt with the login cookies it needs, and it works pretty well. Alternatively, you can also use the SingleFile extension to snapshot what you want and upload it in place of the automated snapshot. This is also handy because the extension allows you to remove private data prior to screenshot, such as your name or username. I personally have cookies in place for most common social media sites that need login (twitter, reddit), and if I need to snapshot something else occasionally, I do it manually and upload it to Linkding. https://linkding.link/ https://linkding.link/ https://linkding.link/archiving/ https://linkding.link/archiving/ https://www.getsinglefile.com/ https://www.getsinglefile.com/
- dewey 1y agoArchiveBox also supports SingleFile from what I remember, but I wish there was a extension to just pass everything (Browser context) to ArchiveBox. Having to keep cookies in sync with a second service is a bit of a hassle.
- 5evOX5hTZ9mYa9E 1y agoIf you read the Linkding archiving page, you can see that it is possible to set up SingleFile extension to auto-snapshot the page when the page is added, from the browser you're using at that moment. The advantage is that loing is handled implicitly, but a disadvantage is that this only works in the browser, and not for example when you use the Android app. But for me that's fine, Also, it is possible to configure SingleFile extension to automatically push a snapshot to a REST Form API. You can even make it do so when you bookmarks something in your browser, to achive a flow where bookmarking something in the browser saves the page via SingleFile extension and gives it to ArchiveFile. https://docs.archivebox.io/dev/Contents.html#api-reference https://docs.archivebox.io/dev/Contents.html#api-reference Also, look in the SingleFile extension options, under Destination.
- amit9gupta 1y agoAfter trying many bookmarking solutions, settled on Goodlinks. Pros: - stores data in your icloud - stores a copy where possible - full-text search Cons: - not open-source - works on mac/ios only https://goodlinks.app/ https://goodlinks.app/
- MrJohz 1y agoI've wanted something like this for a while, although I've not looked into it much. That said, the snapshot search either isn't working, or isn't doing what I'd expect it to do. If I search for `fsf`, the snapshot search finds the FSF's website. But if I search for text that appears in the snapshot of the homepage (e.g. "sysop" or "sysops"), then I get no results. I would expect the snapshot search to work roughly like Google, but for these limited snapshots of pages, but it appears to only search the URLs, maybe the page titles?
- asciimoo 1y agoYou can find detailed search (including title/content) using the bookmarks endpoint. Snapshot search is currently only for finding multiple snapshots for a single URL/domain. Probably it should be emphasized, or content based search should be available there as well. Thanks for the feedback!
- vandyswa 1y agoI have a static web page with a table of A href's. Source controlled under git. Problem solved.
- mstef 1y agosure, for bookmarking that's fine. but it does not help against linkrot, or censorship, or pages changing with time.
- quantadev 1y agoI agree. Saving web-links is a solved problem. Saving the CONTENT afaik is not solved and I've wanted a solution for YEARS, as well as the rest of humanity has needed this (including those who don't even know they need it, haha!). Closest thing would be to "print" to PDF but that always creates a trainwreck in the PDF and is never good enough for me. Looking forward to trying Omnom if it's open source.
- asciimoo 1y agoIt's not only open source, it is free software. Take a look at https://github.com/asciimoo/omnom https://github.com/asciimoo/omnom - suggestions/contributions are appreciated =)
- quantadev 1y agoThat looks like a pretty heavy-weight solution, with a lot of complexity, and I don't mean that as a criticism at all. I'm not a 'go' developer myself. I've always wanted a pure JS solution (as a browser extension, maximum of 200 lines of code) that can capture the content of a web page (doing a virtual scroll to the bottom, to capture the whole page). Since there's no perfect way to translate HTML to PDF, my idea had always been to capture the IMAGE of the page (aside from capturing keywords for DB indexing which can be done separately just for 'search' support later on). The fly in the ointment is of course the scrolling too, because some apps have "infinite" scrolling, and so in many SPAs there's literally no such thing as "The whole page". Anway, I haven't tried your app yet, because of not-JS and not-Small, reasons, but I'm just sharing my perspective on this topic. Thanks for sharing your project!
- andersha 1y agoI am happy user of https://historio.us/ https://historio.us/
- spookybones 1y agoDoes this kind of service really need a subscription? Immediate turn off.
- andersha 1y agoI am getting used to paying for the services I need. To me at least it makes sense to be paying for something being maintained.
- mbreese 1y agoI've been using Karakeep (formerly Hoarder) for a few months. So far, I like it. I particularly like having an iOS app so sharing new bookmarks from different apps is really easy. Instead of pulling from the browser, it retrieves its own copy with a headless Chrome, so if you need a login, the snapshot breaks. But, overall, I've been pretty happy. But, I'll definitely check out Omnom too! https://karakeep.app/ https://karakeep.app/
- apitman 1y agoSince it requires a browser extension anyway, is it possible to build something like this local-first and lean on Chrome/Firefox built-in syncing?
- jonotime 1y ago+1 for local-first. there needs to be a local first bookmark/snapshot manager. where you can own your data without requiring hosting or installing things.
- cyberge99 1y agoBuku does this. You have to run bukubrowse server locally, but the extension then connects to localhost. I have a cli that lists my bookmarks and makes it easy for me to copy/paste or clickopen.
- bosse 1y agoI've been using Wallabag for articles I want to deal with later, with the Frigoligo app on iOS for offline reading. For bookmarks, I've been using the Floccus extension with the Nextcloud Bookmarks app. I'm missing the social aspect of bookmarks on del.icio.us though, so I'll check out Omnom and the other mentions in this thread of what people are using.
- vindex10 1y agoI have a thought on "sharing" the snapshots. Many pages nowadays are behind a paywall. Typically you are required to log in (pay or not) to remove them. I'm aware of archive.org and others, but it is not the main point :) The point is, that if you are logged in, some private information about yourself may be stored in the snapshot. It is less dangerous when it is something on the screen -> you can make a decision. But if is is some hidden field with your ip address for example.
- renegat0x0 1y agoI love bookmarks. I have made RSS app with bookmarking mechanism. My links about bookmarks and links below. https://github.com/rumca-js/Django-link-archive https://github.com/rumca-js/Django-link-archive - django app, RSS client, simple web crawler, under construction https://github.com/rumca-js/RSS-Link-Database https://github.com/rumca-js/RSS-Link-Database - my bookmarks repository https://github.com/rumca-js/RSS-Link-Database-2025 https://github.com/rumca-js/RSS-Link-Database-2025 - RSS links for year 2025 https://github.com/rumca-js/RSS-Link-Database-2024 https://github.com/rumca-js/RSS-Link-Database-2024 - RSS links for year 2024 https://github.com/rumca-js/RSS-Link-Database-2023 https://github.com/rumca-js/RSS-Link-Database-2023 - RSS links for year 2023 https://github.com/rumca-js/Internet-Places-Database https://github.com/rumca-js/Internet-Places-Database - I also maintain a list of domains found in the Internet https://rumca-js.github.io/search https://rumca-js.github.io/search - search that uses links maintained in zip files https://rumca-js.github.io/music https://rumca-js.github.io/music - my music library, browsable https://rumca-js.github.io/bookmarks https://rumca-js.github.io/bookmarks - my bookmarks, browsable
- cookiengineer 1y agoDamn this is internet gold. Gonna be lost in those repos for days, man. Awesome work!
- crossroadsguy 1y agoAfter quite some exploring around and struggles I made my peace with https://raindrop.io https://raindrop.io. Am I happy with that? Of course not. But that's the only hosted one which has extensions and apps for almost every browser and OS I use. I wish there a functional open source service (hosted) with wide range of platforms support that I could pay for and use.
- Onawa 1y agoI agree, I made my peace with Raindrop.io as well. Being able to use it on any system and most any browser, plus a full API for interacting with my bookmarks. Nothing free and open source compared and now I have 6k+ bookmarks in Raindrop that I would like to move elsewhere, but I'll have to check out the project linked here.
- YalebB 1y agoI made an app for this actually, called Showcase. You can bookmark any content——Youtube videos, websites, Tweets, Instagram posts—— and store it all together. You can use it on browser where you can paste directly onto the canvas (+ chrome extension coming) or iOS that has a Share Extension too. It's also free ;) Demo for Showcase: https://www.youtube.com/watch?v=ehGolVAHm8U https://www.youtube.com/watch?v=ehGolVAHm8U App Store link: https://apps.apple.com/gb/app/showcase-co/id6740991352?platform=iphone https://apps.apple.com/gb/app/showcase-co/id6740991352?platf...
- theeasyway 1y agoOh wow this is super nice I'll definitely be using this
- T0Bi 1y agoLooks really nice. ETA on play store release? Or do you have a alpha/beta apk?
- rendaw 1y agoDoes Omnom not? They have FF and Chrome extensions...
- marcod 1y ago> if you want to have your own self-hosted libre software bookmarking service for you and your community, give it a go I haven't worked with go - where could I host that myself? Could I do this with the free tier of https://cloud.google.com/run/docs/quickstarts/build-and-deploy/deploy-go-service https://cloud.google.com/run/docs/quickstarts/build-and-depl...
- plasticsoprano 1y agoI've been using linkwarden the last few months and loving it. https://github.com/linkwarden/linkwarden https://github.com/linkwarden/linkwarden
- ravishing0223 1y agoAwesome. A few months ago I posted my bookmarking site. Now I see that my site is almost a subset of yours. If you want to take a look check this: https://cloudmark.site https://cloudmark.site
- deleted 1y ago[deleted]
- oulipo 1y agoVery nice! but why not contributing updates to some widely used project like Karakeep?
- hrisen 1y agoWhen I saw the name, I immediately thought of https://omnomchocolate.com/ https://omnomchocolate.com/
- rcarmo 1y agoI use archivebox for this. No requirement for an extension, just a simple bookmarklet.
- bravura 1y agoQuestion: Does this use single file or something similar? I've basically been dying for an easy to use local bookmarking service that uses singlefile? Second question: How easy is it to crawl the local store and apply LLMs or RAG?
- fullsort 1y agoTake a look at our creation which is free. Also, you may try Full Sort's demo without sign up to see if you like the interface and features. https://fullsort.com https://fullsort.com
- dpcx 1y agoIs there anything like omnom or karakeep that allows for storing things without having to manually bookmark or add them to the system? I want any URL I hit to have its content sent to my service so that I can search it later.
- Snuupy 1y agoDo any of these bookmarking apps support adding urls in bulk from currently open windows/tabs? I often have windows of hundreds of tabs open that I'd like to archive and close but raindrop has been the only one that has been able to get rid of my clutter.