Skip to content

Latest commit

 

History

History
138 lines (101 loc) · 6.27 KB

README.md

File metadata and controls

138 lines (101 loc) · 6.27 KB

Unduckified

dark and light modes of the app

This is a fork of t3dotgg/unduck. Check out Theo's hosted version at unduck.link for the original experience.

Quick Start

Add this URL as a custom search engine to your browser to use DuckDuckGo's bangs, but faster:

https://s.dunkirk.sh?q=%s

How is it that much faster?

DuckDuckGo does their redirects server side. Their DNS is...not always great. Result is that it often takes ages.

I 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.

How is this different from Theo's version again?

This is primarily my personal fork to experiment with PWAs but I do have a few ideas that I would love to add to this.

goose walking animation

  • Bangs
  • Dark Mode
  • Settings (for things like disabling search history and changing default bang)
  • Search counter
  • OpenSearch support
  • Search History (clearable, all local, and disabled by default ofc)
  • Fancy sounds (disabled if you have prefers-reduced-motion set; sounds only account for 198.5 KB of the 717.4 KB total size)
  • Cute little text animations
  • Auto updating bangs file! (I'm using a GitHub Action to update the bangs file every 24 hours)
  • Hashmapped bangs for faster searching
  • local font file to avoid google fonts
  • 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)
  • Suffix bangs (e.g. ghr! taciturnaxolotl/unduckified will take you to this github repo)
  • Quick settings (e.g. !settings or ! will take you to the settings page)
  • Custom local bangs! (thanks to @ayoubabedrabbo@mastodon.social for the suggestion)
  • Weekly bang checks to ensure that all bangs still work and excludes those that don't

I would love to add:

  • Search suggestions (as far as I can tell this essentially impossible to do natively with either firefox or chrome; please correct me if I'm wrong though. In this case I would very much love to be wrong)

and then some more really ambitious stuff like:

  • Optimistic UI chat wrapper (basically t3.chat but entirely on your own machine and completely free and unlimited and oss)
  • Meta search engine as the default bang (so you can search Google, Bing, Yahoo, etc. all at once) this one is inspired by mat-1/metasearch2 but without the middleman server.

Umm yeah, I know I might not get to all of that and yes this is essentially me finally discovering PWAs and wanting to smash everything into one lol.

Fancy smancy technical graphs 😮

The total size of the app is 717.4 KB (one time download)

Resource Breakdown

graph TD
    subgraph Resources by Size
        A[index-B8HLUc3J.js<br/>contains all the ddg bangs<br/>482.5 KB]
        B[Font File<br/>25.1 KB]
        subgraph Audio Files
            C[Audio Files<br/>198.5 KB Total]
        end
        subgraph Small Assets
            D[SVGs & CSS<br/>~11 KB]
        end
    end
Loading

Network Performance

gantt
    title Network Waterfall Chart
    dateFormat  HH:mm:ss.SSS
    axisFormat  %L
    
    section Initial HTML
    GET / (2.8 KB)           :done, h1, 10:07:29.038, 208ms
    
    section JavaScript
    beacon.min.js            :done, b1, 10:07:29.279, 0ms
    index-B8HLUc3J.js (482.5 KB) :done, j1, 10:07:29.286, 32ms
    registerSW.js (2.2 KB)   :done, j2, 10:07:29.287, 60ms
    beacon.min.js (2nd)      :done, b2, 10:07:29.383, 0ms
    
    section Styles
    Main CSS (3.8 KB)        :done, c2, 10:07:29.287, 60ms
    Font File (25.1 KB)      :done, f1, 10:07:29.379, 46ms
    
    section Assets
    gear.svg (2.5 KB)        :done, s1, 10:07:29.494, 58ms
    clipboard.svg (2.4 KB)   :done, s2, 10:07:29.495, 63ms
    search.svg (2.4 KB)      :done, s3, 10:07:29.589, 32ms
    
    section Audio
    heavier-tick-sprite.mp3 (22.4 KB) :done, a1, 10:07:29.495, 33ms
    toggle-off.mp3 (34.3 KB) :done, a2, 10:07:29.495, 32ms
    toggle-on.mp3 (34.3 KB)  :done, a3, 10:07:29.496, 46ms
    click.mp3 (34.3 KB)      :done, a4, 10:07:29.497, 35ms
    double.mp3 (34.3 KB)     :done, a5, 10:07:29.498, 44ms
    foot-switch.mp3 (34.3 KB):done, a6, 10:07:29.498, 38ms
Loading

Screenshots

Spoiler Alert: There is both a light and a dark mode 🤯

Light Mode

Light Mode Light Mode with Search History Light Mode 404

Dark Mode 💪

Dark Mode Dark Mode with Search History Dark Mode 404

© 2025-present Kieran Klukas forked from t3dotgg/unduck