A fast, local-first "redirection engine" for !bang users with a few extra features ^-^
1# Unduckified 2 3![dark and light modes of the app](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/both.webp) 4 5> This is a fork of [t3dotgg/unduck](https://github.com/t3dotgg/unduck). Check out Theo's hosted version at [unduck.link](https://unduck.link) for the original experience. 6 7## Quick Start 8 9Add this URL as a custom search engine to your browser to use DuckDuckGo's bangs, but faster: 10 11``` 12https://s.dunkirk.sh?q=%s 13``` 14 15## How is it that much faster? 16 17DuckDuckGo does their redirects server side. Their DNS is...not always great. Result is that it often takes ages. 18 19I solved this by doing all of the work client side. Once you've went to https://s.dunkirk.sh once, the JS is all cached and will never need to be downloaded again. Your device does the redirects, not me or any other server. 20 21## How is this different from Theo's version again? 22 23This is primarily my personal fork to experiment with PWAs but I do have a few ideas that I would love to add to this. 24 25<img align="right" width="140" height="140" src="https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/public/goose.gif" alt="goose walking animation"/> 26 27- [x] Bangs 28- [x] Dark Mode 29- [x] Settings (for things like enabling search history, changing default bang, and creating custom bangs) 30- [x] Search counter 31- [x] [OpenSearch](https://developer.mozilla.org/en-US/docs/Web/XML/Guides/OpenSearch) support 32- [x] Search History (clearable, all local, and disabled by default ofc) 33- [x] Fancy sounds (disabled if you have `prefers-reduced-motion` set and they are only `28kb`) 34- [x] Cute little text animations 35- [x] Auto updating bangs file! (I'm using a [GitHub Action](https://github.com/taciturnaxolotl/unduckified/actions/workflows/update-bangs.yaml) to update the bangs file every 24 hours) 36- [x] Hashmapped bangs for faster searching 37- [x] local font file to avoid google fonts 38- [x] redirects to the base page of a bang if there is no query (e.g. `!g` will take you to google.com and `!yt` will take you to youtube.com) 39- [x] Suffix bangs (e.g. `ghr! taciturnaxolotl/unduckified` will take you to this github repo) 40- [x] Quick settings (e.g. `!settings` or `!` will take you to the settings page) 41- [x] Custom local bangs! (thanks to [@ayoubabedrabbo@mastodon.social](https://mastodon.social/@ayoubabedrabbo/114114311682366314) for the suggestion) 42- [x] Kagi bangs! We are able to grab the bangs from [kagisearch/bangs](https://github.com/kagisearch/bangs/) and Kagi is far more responsive than DuckDuckGo when it comes to updating their bangs. 43 44## Search Suggestions 45 46On firefox based browsers you can use the dedicated search suggestions url field but on most other browsers unless they have global search suggestions you are kind of out of luck. Thanks to [`KobeW50`](https://github.com/KobeW50) for bringing this to my attention! I added the urls for duckduckgo and chrome below and you can pick your poison on which one you would rather have see what you type in the url bar. 47 48![search suggestions field on firefox](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/search-suggestions.jpeg) 49 50``` 51https://duckduckgo.com/ac/?q=%s&type=list 52``` 53 54``` 55https://www.google.com/complete/search?client=chrome&q=%s 56``` 57 58## Screenshots 59 60<details> 61 <summary>open this to view the screenshots</summary> 62 63### Light Mode 64 65![Light Mode](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/light.webp) 66![Light Mode with Search History](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/light-history.webp) 67![Light Mode 404](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/light-404.webp) 68 69### Dark Mode (the superior mode) 70 71![Dark Mode](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/dark.webp) 72![Dark Mode with Search History](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/dark-history.webp) 73![Dark Mode 404](https://raw.githubusercontent.com/taciturnaxolotl/unduckified/main/.github/images/dark-404.webp) 74 75</details> 76 77<p align="center"> 78 <img src="https://raw.githubusercontent.com/taciturnaxolotl/carriage/main/.github/images/line-break.svg" /> 79</p> 80 81<p align="center"> 82 <i><code>&copy 2025-present <a href="https://github.com/taciturnaxolotl">Kieran Klukas</a> forked from <a href="https://github.com/t3dotgg/unduck">t3dotgg/unduck</a></code></i> 83</p> 84 85<p align="center"> 86 <a href="https://github.com/taciturnaxolotl/unduckified/blob/main/LICENSE.md"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a> 87</p>