Skip to content

Hunam6/Goodgle

Repository files navigation

Goodgle

A metasearch engine based on Google written in Deno 🦕


Goodgle Demo

⚠️ Current state of the project ⚠️

I haven't been posting updates since some days because I'm working on a V2 written in V! The current project is pretty usable but, the speed isn't good enough. For a casual website that's good but for a search engine it isn't satisfying enough. I'm also currently blocked by a bug/feature in V itself.

This project is at an early stage!

Goals

  • Based on Google to get best results
  • Beautiful UI and innovative UX
  • Privacy respecting (no cookies, no link-tracking, random user-agent, etc.)
  • No ads
  • Proxy support (maybe Tor too in the future)
  • Optional customization

Non-goal: support old, or even not so old, browsers

Usage

Quickly test it

You can quickly test it on my instances, just remember to only use it for testing proposes as they may be unavailable during some dev sessions:

Locally

git clone https://github.com/Hunam6/Goodgle & cd Goodgle
deno run --allow-net --allow-read --allow-env --unstable --import-map=IM.json app.ts

On Railway

Click on Railway

On Okteto

Click on Okteto

Contributing

Hi and welcome! Contributing is very welcome! Every type of contribution is welcomed, just remember to follow the GitHub Community Guidelines.

  • Report Internal Server Errors when performing searches, don't forget to provide the search terms and the geographic location of the server (or the instance used).

  • Submit an issue.

  • Submit a PR: please follow the styling rules indicated in .editorconfig and .vscode/settings.json.

PS: if you don't know where to start look at all the "TODO" comments (I recommend Todo Tree for VSCode).

License

This project is licensed under the Mozilla Public License 2.0.

Credits

Whoogle by @benbusby: the original idea

Oak by @kitsonk: the web framework/middleware

Deno DOM by @b-fuze: the DOM parser

Dotenv by @bpietvanzoen: the .env file handler

Mustache.ts by @fabrv: the template engine