Changelog
Dear friends and privacy enthusiasts, we are finally here.
I have spent so much time and love on this project and I cannot believe it has gotten to this point...
It is with great pleasure that I introduce you to the very first stable version of degoog.
No software is void of bugs/issues but this is feeling pretty damn stable, and it has for a while, my only concern were a few privacy related issues that I wanted to address first and foremost. Some people contributed with code, some by testing the tool thoroughly and raising bugs, some even with money. To all of you THANK YOU, you made this possible.
I will continue spending as much of my free time as possible to keep developing this work of passion and will make sure to be there for the community for as long as I possibly can. The good thing about it however is that degoog is so modular that I am frankly redundant. YOU can continue this at any point, should anything happen to me, and I designed it this way so it'd last, regardless of maintainer (not going anywhere, just wanted to make it clear that this was built with scalability and future in mind).
This release brings a lot of structural code change to allow easier contributions, security patches, privacy concerns being addressed (the tool LITERALLY warns you now if any fetch has even the slightly chance of leaking your client IP). I truly hope you like this first 1.0.0 and you keep sticking around, the future is bright ❤️ (hell, we even made big G work again for this special occasion - who knows for how long - but fuck yeah! Great timing).
p.s. a lot of official store extensions will require this version as a minimum version going forward, sorry for the inconvenience and thank you for your patience
features
- Favicons are now a third party store extension, this means you will be able to create/install favicon providers and make your own ones if you so wish to do. This is done in the continuous effort of improve the privacy offered by degoog, if you don't want to interact with google/ddg at all you won't need to anymore (they will be auto installed once you update to preserve current behaviour, but you'll be able to uninstall them/disable them) #322
- This release ships a fully functional no javascript version of degoog. It's disabled by default and you'll need to enable it in settings -> server -> no-js. This is experimental due to the limited amount of testings I've done, but it's fairly solid. This is entirely isolated and can be FULLY customised with a new subset of templates in a
/nojsfolder in themes. The new cli will walk you through it, there's also new documentations coming with this release of course. - Added 4get compatibility layer. This behaves very similarly to the searx one, it spawns a single use php process, runs the search and kills it. This means that in order to use it you WILL need to install the required libraries. They are listed on the engines themselves (like in the searx one for python). The docker image already comes bundled with everything needed :)
- Allow at a glance to go in the sidebar instead of above results to avoid layout shifts #243
- Add date to results/news with ability to remove it from settings #291
- Show provenance for engine list in results page, it now has a small favicon showing which store/compat layer the engines are coming from, this will help tons to debug in case you use multiple of the same engines
- Added ability to export your degoog configuration, this will make it so you can re-import it on a fresh install with almost 0 loss. Let me know if anything is missing and treat that export file as extremely sensitive as it will have all configuration stored - Thank you @Panonim
- Added ability to full on block any client requests that go out of degoog from the client rather than server (this will prompt a modal on comamnds like
!ipand!speedtestbut will give you a peace of mind if you care about privacy that much - Thank you @StLyn4 for raising some privacy concerns that prompted this change - Added a "Privacy Policy" textarea for public instances, it'll show a link in the degoog home page footer which open a modal with your own personal privacy policy if you wish to share it
- The
Anubissolver is now part of the degoog codebase rather than just the startpage engine, this will allow engine developers to take advantage of it in case more engines follow suit - Thank you @abeerance for the idea - You can now enable/disable bangs per engine, even if engines are disabled #326
bugfixes
- Skeletons now get a notification server side to know if something WILL render and only show if you are using the slot. No more random skeletons showing if no content goes there (cough cough at a glance)
- Pass the request locale to slot plugins, this will allow developers to define specific locales passed down by degoog on extensions - Thank you @unLieb
- Move restart notice to server tab as a list of more readable reasons for needing to restart, keep the "not now" dismissed until restart actually happens - Thank you @Panonim
- Abort the current at-a-glance request whenever a newer request starts - Thank you @SoPat712
- Add indexes for url in
sqliteto improve performance of fuzzy search on url based searches - Change the way postgres performs searches, there was a fairly big bug that'd make postgres crash on large datasets due to the way fuzzy search worked on small words (e.g. fuzzy searching
theacross millions of entries). The bug was in the ranking as it was scoring hundreds of thousands of entries on the fly. It now ranks the first 10k most recent results and returns anything past the 10k ranked by recency alone. This should IMMENSELY increase postgres performance going forward. Shout out to @notkudu for always volunteering degoog.org for testing large dataset related bugs ❤️ - Search handles accented text and a wider range of writing systems more reliably, including scripts that don’t use spaces between words.
- Substring matching can find relevant results when fuzzy search returns too few matches. #311
- Newly indexed engine types are available immediately after results are recorded.
- PostgreSQL search can use accent-insensitive matching as folded search data becomes available.
- Improved handling of special characters in search queries to return more reliable matches. #311
- Overlapping redirected pages shown "Degoog" as the only source down-ranking it #320
- Image proxy being bypassed by bang commands (whops) #319
- Overall a ton of privacy fixes to ensure client data stays on your devices.
- When an engine had more than one types using bangs would only show the tab for the primary type #321
- Fixed infinity scroll on bang searches #325
Translations
- Added German translations (de) - thank you @unLieb
Small shout out
I am always one to shout out to the community and the degoog community is absolutely amazing, you all have showed me so much love and the incredible extension ecosystem that has been created around the tool is mind blowing to me! I want to particularly thank @Panonim for spending so much of his free time to fine tune the degoog UI and raising/fixing various issues around user experience especially. He recently thought of building a fun TUI (sit) to interact with degoog/searx and a few other mainstream engines, early days but looks pretty cool and it's quite slick! Looking forward to see it improving.
Keep building you all, in the current times we're in, open source is an absolute must and we should all put an effort to keep it alive. Thank you again for your continued support and I hope you enjoy this latest (finally out of beta) version.