Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Supabase Configuration
VITE_SUPABASE_URL=https://qpmmmzawqjxlkczntoka.supabase.co
VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFwbW1temF3cWp4bGtjem50b2thIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTQwNTkwMDgsImV4cCI6MjA2OTYzNTAwOH0.eqAOXs22_I3Tev6vXdjNWrO1C3TdHcwxiMLLMssJQZs
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ node_modules
dist
dist-ssr
*.local

main.test.ts
vitest.config.ts
# Editor directories and files
.vscode/*
!.vscode/extensions.json
Expand Down
1 change: 1 addition & 0 deletions .vercelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
chrome-extension/
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Unduck
# Unduck-Custom

DuckDuckGo's bang redirects are too slow. Add the following URL as a custom search engine to your browser. Enables all of DuckDuckGo's bangs to work, but much faster.

Expand All @@ -11,3 +11,10 @@ https://unduck.link?q=%s
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://unduck.link once, the JS is all cache'd and will never need to be downloaded again. Your device does the redirects, not me.

## New Features
UnduckCustom has some custom, community-loved features like:
- Added a browser homepage
- Added Search engine select with custom search engine support.
- Added New bangs
- Chrome Extension
36 changes: 36 additions & 0 deletions chrome-extension/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Unduck Custom New Tab Chrome Extension

This Chrome extension replaces the default new tab page with [unduckcustom.vercel.app](https://unduckcustom.vercel.app).

## Installation

1. Download or clone this repository to your computer
2. Open Google Chrome and navigate to `chrome://extensions`
3. Enable "Developer mode" in the top right corner
4. Click "Load unpacked" and select the folder containing this extension

## Usage

Once installed, every time you open a new tab, you'll see the Unduck custom search page instead of the default Chrome new tab page.

## Features

- Replaces the default new tab page with unduckcustom.vercel.app
- Clean, minimal implementation
- No additional permissions required

## Files

- `manifest.json` - Extension configuration
- `newtab.html` - New tab page that loads unduckcustom.vercel.app
- `icons/` - Extension icons (you can add your own icons here)

## Customization

If you want to modify the extension:

1. Edit `newtab.html` to change how the page is displayed
2. Update `manifest.json` if you need to add permissions or change metadata
3. Reload the extension in Chrome by clicking the refresh icon on the extension card

Note: For the extension to work properly, you need to be connected to the internet since it loads content from unduckcustom.vercel.app.
Binary file added chrome-extension/icons/icon128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added chrome-extension/icons/icon16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added chrome-extension/icons/icon48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions chrome-extension/icons/search.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions chrome-extension/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"manifest_version": 3,
"name": "Unduck Custom New Tab",
"version": "1.0",
"description": "Replaces the new tab page with unduckcustom.vercel.app",
"icons": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
},
"chrome_url_overrides": {
"newtab": "newtab.html"
},
"permissions": []
}
59 changes: 59 additions & 0 deletions chrome-extension/newtab.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html>
<head>
<title>Unduck Custom</title>
<style>
body, html {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
background-color: #000;
color: #fff;
font-family: 'Geist', system-ui, -apple-system, sans-serif;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.loading-container {
text-align: center;
}
.loading-text {
margin-bottom: 20px;
font-size: 18px;
font-weight: 500;
}
.loading-bar {
width: 300px;
height: 4px;
background-color: #333;
border-radius: 2px;
overflow: hidden;
}
.loading-progress {
height: 100%;
background-color: #fff;
border-radius: 2px;
animation: loading 3s linear forwards;
}
@keyframes loading {
from {
width: 0%;
}
to {
width: 100%;
}
}
</style>
<meta http-equiv="refresh" content="3;url=https://unduckcustom.vercel.app">
</head>
<body>
<div class="loading-container">
<div class="loading-text">Loading Unduck...</div>
<div class="loading-bar">
<div class="loading-progress"></div>
</div>
</div>
</body>
</html>
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
<link
rel="preload"
as="style"
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600;700&display=swap"
/>
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
href="https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600;700&display=swap"
media="print"
onload="this.media='all'"
/>
Expand Down
Loading