github degoog-org/degoog 0.18.0

3 hours ago


Join our discord community


Note to extensions developers

There is a new system included with this new release that requires you to add a isClientExposed value to the extension export. If your plugin calls images externally or does anything that exposes the client IP to an external service please make sure to update that to true if not set it to false.

If you do not set it, the setting UI will show a little info icon next to your extensions stating that you did not specify this value. This is to help users understand what plugins are safely proxying things internally if they want to be fully anonymous only using their server vpn.

Also please double check how the new plugin/theme system handles rendering of assets. There have been some major changes. I tried hard to make things backward compatible and tested as hard as I could, but some stuff will inevitably break for specific edge cases. The best thing you can do is update your extensions to use the new way to handling static assets (e.g. images/fonts).

If you find any broken extensions in your environment please notify the extension developers opening issues on their store repositories and I am sure they'll get right on it. Be nice, always!

Serve assets and call plugin id

this is how plugin id is defined (do NOT hardcode it anymore)

const APPS_API = `/api/plugin/${__PLUGIN_ID__}/apps`;
const SETTINGS_API = `/api/plugin/${__PLUGIN_ID__}/settings`;

this is how theme assets will work (do NOT hardcode heme path)

<img src="__THEME_PATH__/images/logo.png">

And from your theme css you can just call assets via relative path

fonts/my-font.woff2
images/my-image.png

Changelog

This release does a bit of polishing and some well waited and deserved bot prevention strategies.

bugfixes

  • Fix issue around AI summary needing a server restart to be enabled #123
  • Fix bang command trigger in plugin list being the plugin ID instead of the actual trigger
  • Fix line height of icon, adding the right spacing for the setting icon in the top right corner
  • Fix engine tabs still showing whenever custom engines are disabled (and custom engines still working)
  • Fix custom engine tabs showing when bang plugins get triggered
  • Addressed some minor security concerns around how plugin data is served and strengthened Auth/gated routes against potential false positives
  • Wikipedia thumbnail requets are now proxied through server (Thank you @AshotN)
  • Blur input after successful searches so keyboard inputs work rather than still being focused on the search bar #137
  • Clicking on any results in streaming results before the time throws error #136
  • Fix extremely spammy debug and add a new env var LOG_TRANSLATIONS to remove the translation errors from the debugger, the two should stay separate, you really only want translations logs while you are developing translations.

features

  • Add a clear button on the search bar to quickly empty the string #122 - Thank you @kris701
  • Change video to look like normal results and not masonry anymore
  • Allow custom engine types for custom engines (e.g. if an engine was created by the developer to have type file you can change that type to whatever you want it to aggregate with e.g. torrent).
  • With the previous two changes in place I can finally update image search to have filters
  • Added optional honeypot system for bot crawlers and vulnerability scanners, on top of a way to get rid of a lot of dumb bots
  • Added optional HMAC verification key on the client side using the server generated API key, if a headless bot curls the page 3 times in a row without ever visiting the UI it'll be IP blocked
  • Added blocklist feature with individual ip banning
  • Added a new version checker to the setting page - Thank you @kris701
  • Plugins now notify the users if they make external calls bypassing the internal proxy (e.g. exposing the client). This is a honour system, extension devs will need to specify it in the extensions declarations. If the value is undefined it'll show an info button next to the plugin stating the dev didn't set the isClientExposed value up (Thank you @AshotN for the assist on this one!)
  • Small re-style of plugin and extensions overall, they should look much neater now
  • Added a search bar above plugins, as the app grows there are more and more plugins that one may want to add and finding them is becoming harder
  • Add ability for GIFs to play in the image tab #138 - Thank you @AshotN

store changes

  • I have moved the 4play extension it its own repo: https://github.com/degoog-org/4play . You will be able to download a chromium or firefox version of the extension, which should play a little better.
  • I am allowing basic markdown to extension descriptions, this should help add links to documentations or external materials.

Don't miss a new degoog release

NewReleases is sending notifications on new releases.