Skip to content

Releases: fccview/degoog

[Beta] - 0.13.0

12 Apr 18:04

Choose a tag to compare


Join our discord community


Dev note

We are definitely getting close to a stable release, things are proceeding well and the codebase is getting cleaner and easier to collaborate on. The extensions ecosystem is growing steadily and the community is actually very positive, thank you so much for all the amazing third party extensions you all have been building. They are making this project special.

I want to spend a minute welcoming @Arkmind as an official maintainer ❤️ he quickly proved to be extremely valuable and knowledgeable, he made a HUGE code contribution and he keeps finding ways to improve the codebase and make the app smoother. Working with him has been and will definitely continue be a blast.

Changelog

features

  • Add i18n translations support (ships with en/fr/it), entirely made by @Arkmind
  • Add a more comprehensive logger with multiple levels of logging ["fatal", "error", "warn", "info", "log", "debug"]. The LOGGER env variable is now deprecated in favour of LOG_LEVEL - also brought to you by @Arkmind
  • Refactor codebase to be more modular around registries, I never thought this would end up being as modular as it actually is, so I made it easier to create a new registry in the moment we want new store item types
  • Add no-referrer policy to avoid leaving a fingerprint #58
  • Move the At a Glance and Knowledge Panel slots into their own plugins so people can disable them if they don't want it. If you use AI summary you'll now need to manually disable the at a glance plugin or you'll end up with both.
  • Enable domain replacement in results. eg: repalce reddit[.]com -> troddit[.]domain[.]com. #25
  • Allow blocking of search results by domain (best with regex support). eg: blocking quora[.]com , tiktok[.]com #25
  • Support global, instance-wide settings so preferences persist across multiple devices. #25
  • Allow POST for search and autosuggestion #36 - Thank you @Arkmind

bugfixes

  • Resolve DuckDuckGo y.js redirect URLs to actual destinations - Thank you @qubit999
  • Fix streaming images being out of order #65
  • Fix browser back button not working #27 - Thank you @Arkmind

[Beta] - 0.12.0

02 Apr 12:12
3aec6ac

Choose a tag to compare


Join our discord community


Already release?

After last release there was a fairly major bug on results streaming, so fixing it here, but also adding curl to next release made me think something pretty fun can be done.

Introducing transports

This is a new store type, it allows you to decide how a request to an engine happens. Initially I was only using the default bun fetch function, then i've started adding proxies and eventually I've added support for curl, all of this made me realise that the only way to TRULY keep up with engines changing constantly is to allow people to figure out their own way to fetch (on top of whatever I provide built in).

I have made an example transport in the official store for FlareSolverr to try getting around the pesky cloudflare pages some engines have. Plus in my unofficial store you'll find the 1337x engine which will only work with flaresolverr 9 times out of 10 anyway.

Changelogs

bugfixes

  • Fix issue where refreshing the page during engine streaming would crash the server (sorry)
  • Allow engine streaming on tab searches too (e.g. custom tabs now also stream results)

features

[Beta] - 0.11.0

01 Apr 20:42
810066f

Choose a tag to compare


Join our discord community


Attention extensions developers

Theming has entirely changed (I only did this because we are still in beta, I'd never change something to this extent without being in a beta. I made everything more modular and easier to work with, and if i hasn't done it now it would never have happened.

There's no need to override full html files anymore, each section is an individual component (template) and the entire html structure of each template can be changed. This was A LOT of work and planning, I hope you like the system.

The docs will be fully updated so you can update your themes. Old themes will NOT work after this update, and new themes will NOT work with old versions. Sorry. I suggest everyone updates to the latest version of the app and the latest version of every store whilst developers update things (all developers of the repos in the readme are in discord and have been warned of this, so they'll update their themes).

Changelogs

bugfixes

  • Updated nsfw settings to be a bit less pushy, it now should all feel too balanced, so sorry for the sudden more gooner-ish results you had until this new version from reddit 🤦
  • Fix issue with sock5 proxies not working and http proxies leaking, after this release proxies should be quite tight
  • Fix individual engine timings being all the same, I was calling the function in the wrong place, sorry, they now show accurate timing PER engine
  • Allow disabling of the speedtest plugin
  • Fix engines waiting for some plugins types to render, engines now ALWAYS take priority

features

  • Update logo font
  • Fully re-invent theming system to be extremely modular, it now uses templates for various areas of the site that can be individually replaced. EVERYTHING can be changed without the need to fully replace core html files.
  • Add section for advanced settings for engines, I'll eventually make it so things can be appended to it from custom engines.
  • Add individual engine scoring (advanced settings), defaults to 1 adding a new number it'll append a multiplier to the scoring system. Aggregating scores will always be higher, however it'll push results from higher scored engines at the top compared to lower scored engines (i'd frankly leave it empty)
  • Add ability for admin to set a specific "scraping" method for engines (fetch vs curl) to get around various tls blocks
  • Added ability to hide default sidebar items per device - Thank you @benjaminRoberts01375
  • Add ability to stream results instead of waiting for all engines to load (also allow auto re-try)
  • Slightly switch layout of the settings page to something more scalable for future ideas
    • Separate client/server settings into two different sections so users know what persists and what doesn't

[Beta] 0.10.0

26 Mar 10:28
5537b51

Choose a tag to compare


Join our discord community


Little dev note

Small update on my kid's situation - transplant went well and he's recovering beautifully.
We are still in intensive care but should move to the ward soon enough. Unless something terrible happens the worst part is almost over ❤️

Changelogs

bugfixes

  • Created entrypoint.sh, application starts as root and chowns /app/data to a defined or default PUID and PGID, this should make it easier to run the app rootless.
  • Credential exfiltration in /api/proxy/image, API key is now only forwarded if the destination hostname matches the plugin's stored url.
  • Fixed potential extension store path traversal
  • Fixed potential X-Forwarded-For IP spoofing, added a DEGOOG_DISTRUST_PROXY env var. Default behavior is unchanged. Set it to stop trusting the header when running without a reverse proxy.
  • extension settings modal now correctly sends x-settings-token on save. Previously all saves returned 401 silently when settings auth was configured.
  • Fix issue with store not working when installing degoog via proxmox VE #33 #12
  • Fix settings back button to go back to previous screen ONLY if the previous screen was degoog, otherwise default to homepage
  • Fix images resolution due to proxy mistake #39
  • Fix various styling inconsistencies
  • Fix PWA icon and sort out cors issues around webmanifest to make the install button consistent across majority of homemade reverse proxies.

features

  • Add language dropdown to search results (fully customisable from settings) #19
    • If you are developing/have developed custom engines make sure to add the new lang context (check the official store ones for my implementations), it's not mandatory but it'll be nice for users to get custom languages for custom engines too, so I made it scalable.
  • Add a DEGOOG_DEFAULT_SEARCH_LANGUAGE env variable for default search language
  • Add custom daterange option (doesn't work all the times, it really depends on the engines, but it DOES help filter out some results, we can keep working on it)
  • Add ability to open search results in a new tab (thank you @tacheraSasi - #31)
  • Change docker image to use alpine version (thank you @otomaid - #32)
  • Add lightbox zoom to image search results #34
  • Add engines breakdown to image/video results with retry button
  • Removed safe mode on engines for all the gooners in the chat and added a configurable option per engine to re-enable it. Custom engines will now support that too

official store updates

  • Most engines will require an update after this release, so all new features will work (it's minor stuff)
  • Added the ddg image engine which adds a ton of new images to image search
  • Added the brave search via api - I kinda worked blind on this one as I don't have an api key (requested, still awaiting for it), their documentation is very clear and I fed the output to a few llms telling them to fight each other for my soul and tell me if it works and they all said it should be working and only suggested changes that frankly added a ton of unnecessary bloat, so we should be good. If you have an api key for brave can you test and report in the issues tab if you find any problem?

[Beta] 0.9.0

19 Mar 10:53
d54006e

Choose a tag to compare


Join our discord community


Little dev note

Hi all,
Things are proceeding very well with the project and in normal circumstances I'd start the process to go to a stable version and out of beta (we need to come up with a good name for the project!!)

However as many of you know my kid just had his SECOND liver transplant (he's 3yo). This means I'm way way slower than I'd like to be <3

Changelogs

bugfixes

  • Fix positioning on time filter so on mobile it doesn't go outside the viewport
  • Remove ugly scrollbar on search result tabs when it needs scrolling, it looks better without
  • Plugins/themes/engines were not understanding default values and were always falsly showing as configured. They now show an orange dot if they have required fields not being configured and a green dot if nothing is needed for the plugin to work by default.
  • Make sure plugin assets are only loaded if a plugin is enabled
  • Change google user agents, we're starting to play cat and mouse with google lol

features

  • Improve system to pull extensions into the store, repos automatically pull on refresh but individual plugins will need to be manually updated (or you can update them all with the handy "update all" button). Developers will need to remember to update the package.json of extension repositories so the store knows new versions are available. This way users can make conscious decisions based on changelog rather than blindly update everything.
  • Allow plugin developers to let user choose positioning of slot plugin via settings.
  • Allow POST request from engines that use graphql

[Beta] 0.8.0

13 Mar 18:46
b173ec4

Choose a tag to compare


Join our discord community


Note

There is a bug around the store that makes it so if a plugin has default settings it needs to be configured and saved before they apply, I'll fix it but I didn't want to stop a release for that, it seems to be an old bug and not caused by this release as I have it on my prod instance too.

Changelogs

features

  • Add browser-like headers to engines to further improve block prevention

bugfixes

  • __THEME_CSS__ __THEME_ATTRS__ and __PLUGIN_ASSETS__ were not applied to the themes that contained overrides
  • Uninstall button was not working on the store items

clean up

  • Code diff may seem huge but actually quite a small release. I am treating it as a major version bump due to having touched most of the codebase, so it's technically major. It's mostly files being moved around and imports being automatically updated by vscode, I wanted to do a bit of a clean up and reorganising before going out of beta (sometimes soon-ish).

[Beta] 0.7.1

11 Mar 11:27

Choose a tag to compare


Join our discord community


Changelog

bugfixes

  • Fix encoding issue in autosuggest when using special characters
  • Fix AI summary follow ups, it now uses the full search context for follow ups too and allows you to converse about the search results themselves.

features

  • Add rate limit settings that should prevent potential ddos attack and query spam on your public instances

store updates

  • Fix issues where plugins couldn't be disabled
  • Make math plugin replacing at a glance instead of showing up above the search results

[Beta] 0.7.0

10 Mar 11:37

Choose a tag to compare


Join our discord community


Changelogs

features

  • Add customisable prompt to the built in AI summary plugin, users can now decide what the AI receives together with the search context in order to give a proper response.
  • Add optional conversational input to AI summary, to dive deeper on the search result context
  • Settings now use full on urls for tabs, so you can navigate directly to a specific setting - thank you @Supernova3339
  • Added ability to create new tabs in the search results page which can trigger anything you want (search type included)
  • Engine types now automatically generate tabs in the search results, so if you make an engine of type "maps" for example it'll create a "maps" tab in the search result
  • Added ability to search for type with images: or news: or file: before the query (e.g. images:adam sandler)
  • Add new env variable DEGOOG_PUBLIC_INSTANCE that can be set to true to make your instance safely public and gate all settings/server side actions/api calls. This way the only settings available will be the browser specific ones (e.g. dark/light mode and engines being turned on/off)
  • Revamped store to filter items better as there's way more plugins now that I was envisioning initially, so added a little UI change there
  • Revamped !help command to be more modular for the same reason as above

store changes

  • New engine created: internet-archive which also adds the tab file to the search results.

[Beta] 0.6.1

09 Mar 16:10

Choose a tag to compare


Join our discord community


Changelogs

bugfixes

  • Fix rss feeds to aggregrate rather than only use the top result
  • Fix store to actually pull the latest version of plugins into the data folder and not just in the store folder, this way if you refresh a custom store you'll automatically update all plugins that you have installed (without needing to uninstall and re-install).

[Beta] 0.6.0

09 Mar 14:15
a8f6329

Choose a tag to compare


Join our discord community


Changelogs

features

  • Refactor codebase to be easier to work with, make sure everything is typed and in the right folders, things should make more sense in case you want to contribute now
  • Add a message on store repository if the repos have new updates

official store changes

Some built in functionality is now a third party plugin, please make sure to refresh the store and install them from there if you were using them previously. This also means you'll have to update the settings, sorry about this, trying to make sure the core app is as bare as possible

  • Moved the rss built in engine to be its own !rss command (same functionality) and allow desktop feed via settings.
  • Moved the Jellyfin and Meilisearch plugins out of the builtins and made them third party, to keep the default search even more minimal
    • in ./data/plugin-settings.json you'll need to add plugin- in front of the jellyfin and meilisearch keys in the json object for the settings to be applied (or you can delete all your melisearch/jellyfin settings and re-apply the from the UI).