Skip to content

degoog

v0.18.0 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 2mo Privacy & Ad-blocking
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

aggregator degoogle degoogle-your-life degoogling search-engine self-hosted

Affected surfaces

auth breaking_upgrade

Summary

AI summary

DEGOOG_DISTRUST_PROXY now ignores x-forwarded-for by default for security.

Full changelog


Join our discord community


ATTENTION

This release changes the behaviour of DEGOOG_DISTRUST_PROXY for security reasons, which means x-forwarded-for gets ignored by default. Please if you suddenly see Gandalf the gray on your screen remove your IP from ./data/blocklist.json and add DEGOOG_DISTRUST_PROXY=0 and it'll behave like before, it just means your instance forwards ips but degoog ignores them and your own IP got banned because somebody fell for the honeypot. You can also just disable the honeypot system from the server settings if yon don't need it. Sorry about that!

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.

Breaking Changes

  • `DEGOOG_DISTRUST_PROXY` default changed to ignore `x-forwarded-for` headers.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track degoog

Get notified when new releases ship.

Sign up free

About degoog

Search engine aggregator with plugins

All releases →

Related context

Beta — feedback welcome: [email protected]