Thanks, that looks interesting, I will test it out and see if it continuously sync or must be manually imported from time to time, or if it can replaces linkwarden entirely. My linkwarden instance also saves as a pdf not just html and bookmarks are in GB in size, if hister does it more efficiently it’s even better.
I had the same problem for a very long time but it is largely solved now. I started to simply ask chatgpt "hey I read something about x, y month ago but can't find it now". There is a surprisingly high chance chatbot can just give the exact answer back to me, usually with extra interesting reading materials as a plus.
Ooh, very nice! I have my own tool I’ve been using for this [https://github.com/bradrn/full-history-search/], and it’s incredibly useful, but it’s also pretty primitive. This one looks a lot nicer.
Not sure if the same product. I think the one I used was Google Desktop.
I even hacked it for a company I was working for at the time: I installed it in a machine that had a lot of pdfs from some other client company of them.
I don't recall the exact details, but I did some sort of proxying between the Microsoft Web Server that came with NT? at the time and G Desktop, and then an entire team of first support agents had almost instant search across all those docs. Good times.
Now we have no browser capable of searching in anything - not even Firefox. I routinely try, in several browser, to find a tab among open tabs, a bookmark among open bookmarks, or a history entry (both from "omnibox" and dedicated history pane), and it never seems to find it - not by name, not by URL - until it gets a 100% unique match.
It's like there's a timer or a cache somewhere, with aggressive limit, saying "only scan these top 100 results and then abort if it takes more than 10 ms to findf anything", or something. Making this completely useless.
That's on top of occasional deletion of browsing history past few weeks.
Yes. Try it regularly, against inputs I know correspond to things visited or bookmarked within last couple months. Almost never gives the actual result unless it's literal full-string match. That's why I'm complaining.
Maybe stop using the mickey mouse browsers? I mean Firefox is pretty much a lost cause.. unless you start using extensions. I agree those are basic features that should be built-in. In qutebrowser I use them reliably all the time. E.g press T (keybinding for :tab-focus command) - type keyword (matches against tab ID, page title, page URL & the tab's process ID) - press Tab - menu is populated with results - cycle through them using Tab/Shift+Tab - press Enter to jump to it. Similar workflow for history, different bookmark types, etc. History can also be loaded as an HTML page and jumped through with regex, etc. If you want to stick with
For things I access often, the Firefox address bar does function like a near-perfect search for me. Some things I type [ab cd] and the page with the words _starting_ ab and cd pops right up.
A while back I looked up a manual for an old Singer sewing machine, which turned out to be the model 15. So I typed [sin 15] in the address bar and -- yep, first result! A week ago I looked into the game Metroid Dread. Typed [met dre] and two relevant pages from my history came up, immediately.
I don't know what you mean by "100% unique match" but, this feature works for me, and in fact I regularly use it and find it very worthwhile.
No one will ever see this (probably) but I remembered this comment, and just had this experience:
I've been learning the eBay developer APIs. Recently (i.e. within the past few hours) I looked up the "Browse API" specifically. My first or second try failed so I typed just [ebay brows] and didn't find it! But when I finished [ebay browse] that document (within ebay.com and titled "Browse API | eBay Develo...") did show up!
I can't reproduce now so I can only guess but it's possible this was a timing thing. I was typing several things, and changing/re-typing "as soon as" I did or did not see what I wanted to show up. But there was definitely a moment where I'd expect "that page I just had open an hour ago" to be at the top, but instead search suggestions (ugh, search in the address bar ...) were all that was showing.
I'm not sure what exactly you mean by saying "I routinely try, in several browser, to find a tab among open tabs, a bookmark among open bookmarks," but if you - like me - keep hundreds of open tabs in a couple of dozen windows and you can't find the tab you need at the moment, then you may be happy with the Firefox extension tabFx...
I've been using this since the last time it came up on here. I don't have it index every page I visit, I use the browser plugin to tell it to index specific ones. It is useful for sure, but I think it will really shine once I've been using it long enough for it to build up a bigger index of things that are old enough that I've actually forgotten about them.
Ohi, author here! Thanks for posting Hister. Feel free to A.M.A.
My first free software search project was Searx, a privacy respecting metasearch engine, but because of the limitations of the metasearch concept, I've decided to take a different approach.
Hister builds a personal search index from pages you visit, bookmarks, browser history, local files, and crawled websites. It stores extracted content with offline result previews, so information remains searchable even when the original page changes or disappears. It supports full text and semantic search, can run entirely on your own machine, and includes a web interface, command line tools, and an MCP endpoint for assistant integrations.
Ps.: It looks like our name conflicts with a registered trademark in the US. The owner of the other project has asked us to change it, so we’ll probably need to comply sooner or later.
Name suggestions are welcome! Ideally, the new name should be relatively short, sound good, and have an available .org domain.
What does Hister do differently? Search seems like a major differentiator, I'm wondering if leveraging the existing archivebox project for archival and implementing good search on top would be more efficient
The main difference I see is Hister focuses on creating an active knowledge base and finding information quickly, while ArchiveBox focuses on preserving web content for the long term.
Thanks for answering. Do you think these dovetail? Both archive everything you browse, so that's common functionality that could be factored out. I only want one archive, having two separate archives because one focuses on search and the other on long term archival is inefficient. What do you do for long term archival - or do you not have this use case?
It feels like I'm the only person using this but I'd like to throw another potential bookmark manager integration into the ring, cherry https://github.com/haishanh/cherry
Thanks so much for creating this. Installed last time it was posted and have been loving it. The MCP server and extensions and userscripts are great QOL additions, as well. Always wondered if something was out there like this and you answered my prayers! New name suggestion: MisterHistory
I built something similar at the start of the year, using tailscale for auth (multi user on my tailnet/home network) and for access wherever I was, whether at home or on the road (all compute/storage was on my Mac mini.) Worked a treat.
Would like:
* Local web page interface or even browser UI element (since extension needed anyway)
* Ability to add notes to history
* Flag if bookmarked, allow filtering "bookmarks only"
* Keep old versions of pages
* Human-readable text diff vs current live page
This is a great suggestion, thanks! I'll definitely add it to the list of candidates. My plan is to do a vote on our social platforms if we have a few decent candidates.
Genuinely curious, how could one fight pre-emptive domain squatters once any candidate is publicly suggested?
When I have suggested names in other situations like this in the past, I spent the ~$10 to get the domain, and offered the transfer the free. Of course, not everyone would do this.
Hi asciimoo, seems like this is the second time Hister is hitting the HN front page in a month, so congrats on the success!
Question for you: For the less tech savvy of us on here, is there any chance Hister can be can hosted on something like Pikapods? https://www.pikapods.com/
Yes, that's something I'd like to support. The main missing piece for a user-friendly hosting option such as PikaPods is a configuration UI. At the moment, customizing Hister requires editing a configuration file, which isn't practical for this kind of hosted service.
Appreciate the response! I'll be eagerly following Hister's progress. For now, I've settled on a mix of Instapaper and using SingleFile uploads to Dropbox.
Exactly, this is the biggest advantage of the extension. It is fully invisible for the websites, so no captcha, anti-bot protection, no authentication issues, every common bottleneck of a classic crawler is solved by the browser/user.
I gather rss feeds from the websites I visit and it's hard to express how interesting they are. The gut says it borderlines some random collection but that couldn't be more wrong. I also enjoyed YaCy, that project should have a good amount of ideas for you. I kinda end up assigning more and more bandwidth until it gets in the way and I forget to enable it again. The turtle button on some torrent clients is a good invention.
The thing I most struggle with in this domain is recalling information from videos. I watch/listen to a lot of hour+ lectures and I rely on this website deeply:
It lets you search YouTube transcripts. If you could somehow integrate video transcripts into this tool, I would be extremely interested in trying it out
It probably wouldn't be terribly hard to wire up some script to batch-process items from your web history ~nightly or something, ones that match whatever filter you want. Or a browser extension where you flag the ones you want to process?
Been using hister for a number of weeks now; i'm coming across sites whose content would be better handled with a custom extractor; but it looks like extractors need to be bundled into the build in order to work? Is that correct?
Put another way, i can't write an extractor for Reuters and then point a config to it from my current hister binary?
I ran it for most of this year but encountered some problems with it I couldn't fix and thus have not had it hooked up to anything since June when I finally couldn't take it anymore.
In short, I serve a good number of apps from an Nginx reverse proxy. Maybe 25% of them are exposed to the WWW while everything else is limited to the LAN but I still get valid TLS for all of it.
Hister, though, kept breaking my whole reverse proxy and I could never figure out EXACTLY why so I could fix it. After running fine for a few days, it would hog the whole server and everything else proxied by Nginx would become unreachable. I tried tuning the config for it to no avail.
One day when I'm less lazy, I'll probably hook it back up via it's LAN IP to every machine I've got again. I REALLY liked that I could log my browsing history from any machine anywhere in the world without a VPN and I was really disappointed when I had to disable its config in Nginx.
I still use it a lot to go find stuff I flagged as important quickly.
I'm curious if this is something you've heard of before, or if I've got a one off problem here.
I even ported the config to a brand new VM with NGINX and still had the same problem.
Are you sure it was the proxy and not JavaScript in your browser? I've seen similar behaviour from one particular website where using it in a certain way causes it to process a lot of data slowly and block the main thread. This somehow persisted across tabs, even if I closed all the tabs and tried again that site was still hanging until that process finished. But if I used incognito or another browser it would he responsive.
It might be something similar if all of your sites are subdomains. Try incognito at the same time next time
That's a good call out but it is something I tested originally and ruled out.
I've got some applications used daily by friends all over the world and the services would all become unavailable to them when this started happening. Only fix I found was restarting NGINX service and then it could happen again an hour later or 3 days later. Once I removed the proxy config for Hister from the service, the issue never happened again.
I'll repro the issue and get the details intoa. Github Issue this weekend.
Yes, I should have some time this weekend to reproduce the problem and provide useful information for ya'll to look at...even if it's just to determine the problem is for me to fix and not a bug with Hister.
Whatever you do, try not to chose a name which collides with nostrodamus' predictions about .. (ok, he actually used "Hister" to refer to the Danube it seems, but popular legend has another take which is .. unfortunate)
My suggestion is Lookdown. Kind of a play on words reminiscent of Markup/Markdown --> Lookup/Lookdown. But also a lookdown is a distinctive looking fish with a cute concave profile so you've got an instant mascot.
Hyster (not Hister as far as I can tell) is a registered trademark in the US.
"The HYSTER trademark is filed in the category of Education and Entertainment Services", so you can safely ignore any demands to rename, as it doesn't conflict. Embarrassing for them that their lawyers don't understand even the basics of trademark law
Not a Lawyer, but Hister is a common, old word. Unless you're in the same business as the trademark holder, I would think you have grounds to continue? I note you have the domain name registered, and any deep-pocketed hostile trademark owner would already have reclaimed that. Unfortunately, legal advice is expensive, and the system is open to abuse.
Hey thanks! Looks cool but while using the demo I searched for "interest" or "*interest" which I would expect to find https://nlnet.nl/themes/ which was one of 28 pages with "Areas of special interest" as the H1 title innerText and yet the side panel populated the page for "Internet" (https://en.wikipedia.org/wiki/Internet). I assume there's some fuzzy search stuff going on here any thoughts?
I am happy to see the idea of history search more. I am on my 3rd version of my own. the use of local LLMs has made it easier to support features like weekly summarized and recipe extraction.
> Your own search engine — Hister is a private search engine for the pages you visit and the files you keep.
Is there any site/project that works as a fully customizable personal front-end to all other SERPs?
When I search for something, I always want a link to the best Wikipedia result. This should always be in the same place and have a giant icon/picture.
Then there could be easily clickable links to the SERP pages for Google, DDG, etc. for that query.
A big link to route it to your favorite LLM.
Seems like you could have a really useful "homepage" for all searches that sat in front of all the other sites. It could be local only and would not require indexing the web. Also wouldn't be a files search thing, as Hister appears to be.
Kind of related to this in that I built it to hoard knowledge from web pages I've visited along with implementing a Karpathy-style LLM Wiki, but the knowledge is collected automatically from sources I browse.
I have it up on GitHub, but I don't think anyone should use my implementation.
Loosely, what I built:
* On each of my machines I have a cron job running that looks at all my web browser history (usualy it's inspecting the brower's SQLlite across firefox and chrome). If it matches my rule list: hacker news stories, certain reddits, etc. it'll grab the page, convert to markdown and drop in my Obsidian Vault incoming.
* It has a whole de-duping architecture since I might open the same page on multiple machines. Uses the CloudFlare SQLITE D1 storage for tracking the processed links.
* it'll then trigger the LLM to do some Karpathy wiki style taxonomy assignment to the articles, organize them, create an index etc.
It's then available for my "bot" stuff to do writings for me.... I will probably write more about it at some point. I'm not certain it's totally useful and not just a yak-shave on hoarding knowledge.
Ai-drafted article on this [1]
Example AI-Drafted article based on some discussions the other day on Ollma vs LLama.cpp [2]
I vibed most of it (and though I like the code that was output, I coached it with some custom skills). If I were to share it out, I'd probably clean up some of the tools to make their interfaces smaller and cleaner. And make the docs a lot simpler. I'd probably also create some form of dashboard so you can see what's happening (all the docs scraped and saved), etc.
EDIT: it's also the type of thing that feels very personally customized for my needs. I encourage you to build something similar on the idea. Much like how Karpathy Wiki was suggestive and not a runtime to just use...
I feel like this could be useful for my Karpathy-style LLM Wiki, but then again I think, in this day and age most of what I'm reading about is outdated in a few weeks. Not only are the tools/methods coming and going, but the ones that stick around drastically change. It would probably turn into a dump of antiquated markdown that could cause confusion.
As far as the need for private search, well, I've already searched for or visited those pages, so...
Yeup, as I mentioned, it kind of feels like a Yak-shave....but it was fun building it, and gave me some experience with agentic coding and new technologies I don't normally work with. It's nice to dig into for some research.
The biggest win was the realization that both firefox and chrome maintain all the links you visit in a very queryable SQLite database. I've been poking at that for a lot of custom tools, like WHAT JIRA tickets am I paying attention to this week, etc....
Webpages used to have meta keyword tags until spammers hijacked them for irrelevant keywords.
I think browsers can play a part in building a local search index for URLs based on those keywords the page declares and cross verify/accept only those that are in prominently visible content, or may be delegate to an external engine(like LLMs) via an extension etc. This is particularly useful for cases where full text indexing is not feasible or desirable.
I doubt Google will ever add such feature in chrome though.
Meta keyword tags have always sucked even without malice. Because they're invisible, authors frequently forget to update them, copying <head> boilerplate between documents.
When designing a standard like this you need to apply systems thinking.
The poor data quality is a problem for anyone who wants to use the tags, which has seen everyone almost universally reaching for other solutions. Search engines have preferred anchor tags, bookmarking solutions have applied user tagging.
With keyword tags it's been a vicious circle of poor data quality and neglect since day one. Even in documents from the early 1990s when people were really trying, the data quality is inconsistent at best.
> have it up on GitHub, but I don't think anyone should use my implementation.
ditto, it's an experiment in near-vibe coding, which also uses Typesense for queries using BM-25 & RAG with fusion. I have the web search/fetch/crawl features persisting raw intermediate values (api responses, search result lists) because I might re-use them one day... at least good for auditability if I need to
related, it is using Hister author's prior project SearXNG as one of the search providers
Hah, I bought that URL a long time ago, mostly as an in-joke between me and some friends since Bruce Willis was my favorite actor. Then later I needed a dev URL for some work I was doing, and the only one I had free was brucewillis.sexy. Then I kept making subdomains on it for different things and eventually it just became the default.
Not a bad idea, and I used to save lots of web pages as PDFs in the distant past, but I've noticed that a large percentage of sites will not print out correctly as a PDF these days. I see myriad problems these days: page truncated on the right (no matter how much you zoom out), or all pages blank after the first page, or PDF rendered as a image (taking many megabytes per page) rather than as text, or outer frame prints but inner frames with the actual content missing.
The more "modern" the site, the worse it is. Surprisingly, government websites often print correctly since they've done the least amount of work to make the site modern looking.
Very effective, very fast, very private. Bonus points if the PDF filename itself is derived from a well formulated <title> tag, such that you can just use “ls” ..
Yes, but that's a solution for the stuff you consciously save. While this is a solution for stuff you see but decide it was interesting weeks after you closed that tab and you only have a vague memory of what it was about.
Well, I consciously save anything I’ve been interested in for at least 2 minutes, it’s a perfectly good way to filter interests - and the PDF solution safeguards those interests from being exploited by third parties.
You could combine it with existing products like DevonThink that are meant for researchers organizing documents and provide tagging, semantic search, similarity graphs, and so on.
I'd like to use it, but I'm hesitant to use anything that isn't a reviewed and approved package in my Linux distribution. Even if the chance is 1% that a program I download has malware or security problems that even the author doesn't know about (eg., due to libraries used), odds are that my system's going to be compromised if I run 50 such programs.
How do other people handle this dilemma?
Even solution I can think of involves are a great amount of extra work. The easiest solution is for me to never run anything extra. This extends to browser add-ons, bookmarklets, and extensions too.
Distro maintainers aren’t infallible either. At the end of the day it’s up to you to decide where and how much trust you place and do your due diligence from there.
One thing that can be helpful when reasoning about things like this is figuring out what your actual threat model is. What does system compromise look like to you? Data exfiltration, arbitrary code execution, something else?
I think the best answer lies somewhere in compartmentalization and fine-grained permissions. In this case: run it in some kind of secure container which has access to read browser history, and write to its database, but definitely does not have network access.
Unfortunately there's no one-size-fits-all solution for this yet, but there are a lot of groups attacking it from different angles: Qubes, GrapheneOS, Firejail, Bubblewrap, Android/iOS app permissions, Landlock, App Sandbox, etc.
> ...run it in some kind of secure container which has access to read browser history, and write to its database, but definitely does not have network access.
We should be doing this with all software, regardless of provenance, anyway. Least privilege applies to servers just as much as it does to users. Even if the software isn't untrustworthy you can be it has vulnerabilities.
My first go-to is network segmentation because I spend most of my time doing networking work. For every vendor who has shit-talked me to Customers ("Wah, wah! Your networking vendor is making this so much harder because they want us to enumerate our traffic!") I have concrete examples I can cite when attacks were stopped by network segmentation (preventing shellcode from downloading a payload, preventing C2 communication, firing off alerts when unexpected network traffic starts coming out of a host, etc).
Beyond network segmentation, I am very suspicious of software that needs to run as a privileged user. So many attacks get easier when privilege escalation in the host OS is already done for you.
Apart from high-overhead solutions like VMs and containers, there are seamless and maintenance-free solutions (after the initial setup):
- systemd service hardening [0] [1]
pretty powerful, but it's a blacklist approach - whack-a-mole
- AppArmor [2]
Whitelist, proactive approach. Contrary to SElinux, it's not a programming language, and could be grasped pretty quickly. I made a tool to easily convert AA logs into usable rules. [3]
For me: consider this a form of paranoia and ignore it, while worrying more about cleanup costs of non-vetted packages.
Like, even if there is 5% chance that a program I download will start downloading global python or node packages, odds are within a year I'll deal with couple that have mutually incompatible requirements and are impossible to run without more VM surgery than I have patience for, and that I'll discover this only after a botched installation bricks software that used to work before.
But that's solvable with less extra work. Just throwaway containers. With no hand-wringing about read-only access or isolating it from network, because my threat modeling doesn't consider loss of privacy or any data leak from my personal local side to be realistic or impactful threat event (I mean, everything that matters is in someone else's cloud and by design not trivial to access) - OTOH, it assigns great magnitudes to loss of personal time.
It's really great you've done all that work for importing from other apps - I use Karakeep and at first didnt know how much redundancy I have between the two, but now I am going to try this since I have so much of it already setup.
Can I add NOTES about pages? This might be a good spot to do that...? Maybe the interface can be in a web page instead of terminal?
Before Google took off there was a vibrant ecosystem of FOSS dev around search, all different little aspects of it. Then after Google people stopped fiddling with search, search became "solved" or maybe "must be coded by the big boys". Shame.
Been running hister on my work machine for a month or two now. It's one of those things I don't look at until I need to, but when I do need it, it solves the dreaded hunting through the last month of browser history.
I also have it index my Obsidian notes, which is another little bonus for global search.
I did need to build up quite a few exclusion rules early on, but it's been hands off since.
187 comments
[ 0.19 ms ] story [ 80.4 ms ] threadhttps://news.ycombinator.com/item?id=49351802
You didn't solve the problem, you are just trading pain points.
Nobody seems to remember it, even though it was a headline feature. Was removed in 2013, I think due to technical constraints.
Will definitely try this.
I think due to shareholders wanting new sportcars. The offline pages don't show Google Ads.
I even hacked it for a company I was working for at the time: I installed it in a machine that had a lot of pdfs from some other client company of them.
I don't recall the exact details, but I did some sort of proxying between the Microsoft Web Server that came with NT? at the time and G Desktop, and then an entire team of first support agents had almost instant search across all those docs. Good times.
It's like there's a timer or a cache somewhere, with aggressive limit, saying "only scan these top 100 results and then abort if it takes more than 10 ms to findf anything", or something. Making this completely useless.
That's on top of occasional deletion of browsing history past few weeks.
A while back I looked up a manual for an old Singer sewing machine, which turned out to be the model 15. So I typed [sin 15] in the address bar and -- yep, first result! A week ago I looked into the game Metroid Dread. Typed [met dre] and two relevant pages from my history came up, immediately.
I don't know what you mean by "100% unique match" but, this feature works for me, and in fact I regularly use it and find it very worthwhile.
I've been learning the eBay developer APIs. Recently (i.e. within the past few hours) I looked up the "Browse API" specifically. My first or second try failed so I typed just [ebay brows] and didn't find it! But when I finished [ebay browse] that document (within ebay.com and titled "Browse API | eBay Develo...") did show up!
I can't reproduce now so I can only guess but it's possible this was a timing thing. I was typing several things, and changing/re-typing "as soon as" I did or did not see what I wanted to show up. But there was definitely a moment where I'd expect "that page I just had open an hour ago" to be at the top, but instead search suggestions (ugh, search in the address bar ...) were all that was showing.
Hister builds a personal search index from pages you visit, bookmarks, browser history, local files, and crawled websites. It stores extracted content with offline result previews, so information remains searchable even when the original page changes or disappears. It supports full text and semantic search, can run entirely on your own machine, and includes a web interface, command line tools, and an MCP endpoint for assistant integrations.
Website: https://hister.org/
Tiny read-only demo: https://demo.hister.org/
Ps.: It looks like our name conflicts with a registered trademark in the US. The owner of the other project has asked us to change it, so we’ll probably need to comply sooner or later.
Name suggestions are welcome! Ideally, the new name should be relatively short, sound good, and have an available .org domain.
Thanks!
https://archivebox.io/
What does Hister do differently? Search seems like a major differentiator, I'm wondering if leveraging the existing archivebox project for archival and implementing good search on top would be more efficient
Edit: I RTFD - and it seems yes.
Histeri
MyHister(i)
Hyster(y)
Also, I have been using your app for two months now. I have only had to rely on it a few times, but each time I did it worked beautifully. Thank you.
So? Where are you based? For what class was the trademark filed? When was it filed?
I doubt that he has any leverage, but I don't know the background.
How does it sync via several computers?
When I have suggested names in other situations like this in the past, I spent the ~$10 to get the domain, and offered the transfer the free. Of course, not everyone would do this.
Question for you: For the less tech savvy of us on here, is there any chance Hister can be can hosted on something like Pikapods? https://www.pikapods.com/
Seekfold (seek and manifold)
Seekdex (seek and index)
https://filmot.com/
It lets you search YouTube transcripts. If you could somehow integrate video transcripts into this tool, I would be extremely interested in trying it out
Put another way, i can't write an extractor for Reuters and then point a config to it from my current hister binary?
I ran it for most of this year but encountered some problems with it I couldn't fix and thus have not had it hooked up to anything since June when I finally couldn't take it anymore.
In short, I serve a good number of apps from an Nginx reverse proxy. Maybe 25% of them are exposed to the WWW while everything else is limited to the LAN but I still get valid TLS for all of it.
Hister, though, kept breaking my whole reverse proxy and I could never figure out EXACTLY why so I could fix it. After running fine for a few days, it would hog the whole server and everything else proxied by Nginx would become unreachable. I tried tuning the config for it to no avail.
One day when I'm less lazy, I'll probably hook it back up via it's LAN IP to every machine I've got again. I REALLY liked that I could log my browsing history from any machine anywhere in the world without a VPN and I was really disappointed when I had to disable its config in Nginx.
I still use it a lot to go find stuff I flagged as important quickly.
I'm curious if this is something you've heard of before, or if I've got a one off problem here.
I even ported the config to a brand new VM with NGINX and still had the same problem.
It might be something similar if all of your sites are subdomains. Try incognito at the same time next time
I've got some applications used daily by friends all over the world and the services would all become unavailable to them when this started happening. Only fix I found was restarting NGINX service and then it could happen again an hour later or 3 days later. Once I removed the proxy config for Hister from the service, the issue never happened again.
I'll repro the issue and get the details intoa. Github Issue this weekend.
And for the name, what about "Historex" (although already taken as well) o "Histearch", mesh-up of "history" and "search"?
"The HYSTER trademark is filed in the category of Education and Entertainment Services", so you can safely ignore any demands to rename, as it doesn't conflict. Embarrassing for them that their lawyers don't understand even the basics of trademark law
Or more likely do, but hope that you don't...
I like the search ui. my projects become functional but never polished. https://github.com/sbeckeriv/memoir
It's badly needed, and so far it's working well for me.
Is there any site/project that works as a fully customizable personal front-end to all other SERPs?
When I search for something, I always want a link to the best Wikipedia result. This should always be in the same place and have a giant icon/picture.
Then there could be easily clickable links to the SERP pages for Google, DDG, etc. for that query.
A big link to route it to your favorite LLM.
Seems like you could have a really useful "homepage" for all searches that sat in front of all the other sites. It could be local only and would not require indexing the web. Also wouldn't be a files search thing, as Hister appears to be.
I have it up on GitHub, but I don't think anyone should use my implementation.
Loosely, what I built:
* On each of my machines I have a cron job running that looks at all my web browser history (usualy it's inspecting the brower's SQLlite across firefox and chrome). If it matches my rule list: hacker news stories, certain reddits, etc. it'll grab the page, convert to markdown and drop in my Obsidian Vault incoming.
* It has a whole de-duping architecture since I might open the same page on multiple machines. Uses the CloudFlare SQLITE D1 storage for tracking the processed links.
* it'll then trigger the LLM to do some Karpathy wiki style taxonomy assignment to the articles, organize them, create an index etc.
It's then available for my "bot" stuff to do writings for me.... I will probably write more about it at some point. I'm not certain it's totally useful and not just a yak-shave on hoarding knowledge.
Ai-drafted article on this [1]
Example AI-Drafted article based on some discussions the other day on Ollma vs LLama.cpp [2]
[1] https://taude.xyz/posts/how-archivore-turns-browsing-into-a-...
[2] https://taude.xyz/posts/skip-ollama-run-llama-cpp-directly-o...
EDIT: it's also the type of thing that feels very personally customized for my needs. I encourage you to build something similar on the idea. Much like how Karpathy Wiki was suggestive and not a runtime to just use...
As far as the need for private search, well, I've already searched for or visited those pages, so...
The biggest win was the realization that both firefox and chrome maintain all the links you visit in a very queryable SQLite database. I've been poking at that for a lot of custom tools, like WHAT JIRA tickets am I paying attention to this week, etc....
I think browsers can play a part in building a local search index for URLs based on those keywords the page declares and cross verify/accept only those that are in prominently visible content, or may be delegate to an external engine(like LLMs) via an extension etc. This is particularly useful for cases where full text indexing is not feasible or desirable.
I doubt Google will ever add such feature in chrome though.
The poor data quality is a problem for anyone who wants to use the tags, which has seen everyone almost universally reaching for other solutions. Search engines have preferred anchor tags, bookmarking solutions have applied user tagging.
With keyword tags it's been a vicious circle of poor data quality and neglect since day one. Even in documents from the early 1990s when people were really trying, the data quality is inconsistent at best.
ditto, it's an experiment in near-vibe coding, which also uses Typesense for queries using BM-25 & RAG with fusion. I have the web search/fetch/crawl features persisting raw intermediate values (api responses, search result lists) because I might re-use them one day... at least good for auditability if I need to
related, it is using Hister author's prior project SearXNG as one of the search providers
[1] https://git.brucewillis.sexy/~tombert/fs_index I promise, safe for work, despite the URL.
I like it.
Every single web page I’ve found interesting, since the advent of the Web, I have printed to PDF and stored locally for my own personal reference.
Something like 80,000+ files - my own copy of my own Internet - indexable, searchable.
Available offline. Something to read when I am far out to sea.
There is no need to involve third parties in your Internet history - no matter how trustworthy they seem to want to appear.
Print to PDF, and you’ve got everything you need, safe and sound.
The more "modern" the site, the worse it is. Surprisingly, government websites often print correctly since they've done the least amount of work to make the site modern looking.
Even full page screenshot doesn’t always capture the non visible part of the page (below the viewport).
Reader mode.
How do other people handle this dilemma?
Even solution I can think of involves are a great amount of extra work. The easiest solution is for me to never run anything extra. This extends to browser add-ons, bookmarklets, and extensions too.
One thing that can be helpful when reasoning about things like this is figuring out what your actual threat model is. What does system compromise look like to you? Data exfiltration, arbitrary code execution, something else?
Unfortunately there's no one-size-fits-all solution for this yet, but there are a lot of groups attacking it from different angles: Qubes, GrapheneOS, Firejail, Bubblewrap, Android/iOS app permissions, Landlock, App Sandbox, etc.
We should be doing this with all software, regardless of provenance, anyway. Least privilege applies to servers just as much as it does to users. Even if the software isn't untrustworthy you can be it has vulnerabilities.
My first go-to is network segmentation because I spend most of my time doing networking work. For every vendor who has shit-talked me to Customers ("Wah, wah! Your networking vendor is making this so much harder because they want us to enumerate our traffic!") I have concrete examples I can cite when attacks were stopped by network segmentation (preventing shellcode from downloading a payload, preventing C2 communication, firing off alerts when unexpected network traffic starts coming out of a host, etc).
Beyond network segmentation, I am very suspicious of software that needs to run as a privileged user. So many attacks get easier when privilege escalation in the host OS is already done for you.
Apart from high-overhead solutions like VMs and containers, there are seamless and maintenance-free solutions (after the initial setup):
- systemd service hardening [0] [1]
pretty powerful, but it's a blacklist approach - whack-a-mole
- AppArmor [2]
Whitelist, proactive approach. Contrary to SElinux, it's not a programming language, and could be grasped pretty quickly. I made a tool to easily convert AA logs into usable rules. [3]
[0] https://github.com/alegrey91/systemd-service-hardening
[1] https://github.com/desbma/shh
[2] https://presentations.nordisch.org/apparmor/
[3] https://github.com/nobody43/apparmor-suggest
For me: consider this a form of paranoia and ignore it, while worrying more about cleanup costs of non-vetted packages.
Like, even if there is 5% chance that a program I download will start downloading global python or node packages, odds are within a year I'll deal with couple that have mutually incompatible requirements and are impossible to run without more VM surgery than I have patience for, and that I'll discover this only after a botched installation bricks software that used to work before.
But that's solvable with less extra work. Just throwaway containers. With no hand-wringing about read-only access or isolating it from network, because my threat modeling doesn't consider loss of privacy or any data leak from my personal local side to be realistic or impactful threat event (I mean, everything that matters is in someone else's cloud and by design not trivial to access) - OTOH, it assigns great magnitudes to loss of personal time.
Can I add NOTES about pages? This might be a good spot to do that...? Maybe the interface can be in a web page instead of terminal?
Before Google took off there was a vibrant ecosystem of FOSS dev around search, all different little aspects of it. Then after Google people stopped fiddling with search, search became "solved" or maybe "must be coded by the big boys". Shame.
Thank you for this, looooong time coming
I also have it index my Obsidian notes, which is another little bonus for global search.
I did need to build up quite a few exclusion rules early on, but it's been hands off since.