diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c2689ef --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +node_modules +dist +.git +.cursor +.DS_Store +npm-debug.log* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..141cdc0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +# syntax=docker/dockerfile:1 + +FROM node:20-alpine AS build +WORKDIR /app + +COPY package.json ./ +RUN npm install + +COPY . . +RUN npm run build + +FROM nginxinc/nginx-unprivileged:stable-alpine AS runtime + +COPY nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=build /app/dist /usr/share/nginx/html + +EXPOSE 8080 + +CMD ["nginx", "-g", "daemon off;"] diff --git a/README.md b/README.md index 5bdb01c..31e08c0 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,13 @@ 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. ``` -https://unduck.link?q=%s +https://unduck.abunchofknowitalls.com?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://unduck.link once, the JS is all cache'd and will never need to be downloaded again. Your device does the redirects, not me. +I solved this by doing all of the work client side. Once you've went to https://unduck.abunchofknowitalls.com once, the JS is all cache'd and will never need to be downloaded again. Your device does the redirects, not me. + +Forked from Theo Browne's [Unduck](https://github.com/T3-Content/unduck) \ No newline at end of file diff --git a/index.html b/index.html index 62ea2a4..8b48309 100644 --- a/index.html +++ b/index.html @@ -18,17 +18,18 @@ as="style" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" /> + - Unduck + + Unduck + A better default search engine (with bangs!) + unduck bangs + + https://unduck.abunchofknowitalls.com/search.svg + UTF-8 + UTF-8 + + \ No newline at end of file diff --git a/src/bang.ts b/src/bang.ts index 6ecf24f..e75a9f5 100644 --- a/src/bang.ts +++ b/src/bang.ts @@ -8,16 +8,25 @@ export const bangs = [ s: "T3 Chat", sc: "AI", t: "t3", - u: "https://www.t3.chat/new?q={{{s}}}", + u: "https://t3.chat/new?model=gpt-5.4&q={{{s}}}", }, { - c: "Tech", - d: "npmx", - r: 147, - s: "npmx", - sc: "Programming", - t: "npmx", - u: "https://npmx.dev/search?q={{{s}}}", + c: "AI", + d: "t3.chat", + r: 0, + s: "T3 Chat", + sc: "AI", + t: "ai", + u: "https://t3.chat/new?model=gpt-5.4&q={{{s}}}", + }, + { + c: "SearXNG", + d: "search.abunchofknowitalls.com", + r: 0, + s: "PrivSearch", + sc: "SearXNG", + t: "xng", + u: "https://search.abunchofknowitalls.com/?q={{{s}}}", }, { c: "Tech", @@ -3187,15 +3196,6 @@ export const bangs = [ t: "aitopics", u: "https://aitopics.org/search?q={{{s}}}", }, - { - c: "Research", - d: "www.duckduckgo.com", - r: 8351, - s: "Duck.ai", - sc: "Reference", - t: "ai", - u: "https://www.duckduckgo.com/?q={{{s}}}&ia=chat&bang=true ", - }, { c: "News", d: "america.aljazeera.com", diff --git a/src/global.css b/src/global.css index bac59e4..e9a4c1f 100644 --- a/src/global.css +++ b/src/global.css @@ -167,6 +167,31 @@ textarea { color: #888; } + .setting { + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + margin-top: 16px; + } + + #default-browser-select { + font-size: 14px; + padding: 4px 8px; + border-radius: 4px; + border: 1px solid #ddd; + background: #f5f5f5; + color: #1a1a1a; + } + + @media (prefers-color-scheme: dark) { + #default-browser-select { + border-color: #3d3d3d; + background-color: #191919; + color: #fff; + } + } + .footer, .footer a { color: #999; diff --git a/src/main.ts b/src/main.ts index 4452a6f..f86a0b5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -12,13 +12,17 @@ function noSearchDefaultPageRender() { +
+ Default Browser: + +