14 Commits
Author SHA1 Message Date
multipleof4andClaude Opus 5.5 25c00edd14 Feat: Make donate.webp grayscale with bigger text and no badge or borders
Drops the "Search limit reached" badge, the card and button borders, and the $0
counter on the robot (its chest shows the logo again). Uses only white, black and
grays, and spends the freed space on larger text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 09:09:01 +00:00
multipleof4andClaude Opus 5.5 7c7d9b70bc Feat: Redesign donate.webp with a new robot and a $0 donated note
Redraws the mascot as a shaded robot with a glossy visor, sad LED face and a chest
counter stuck at $0, keeps the original text and adds "So far, $0 has been donated
to direct-img.link." The card is larger with bigger text and less empty space.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 09:03:21 +00:00
multipleof4 8995b5e0c3 Reduce daily limit for new searches from 15 to 5 2026-10-13 08:12:02 -07:00
multipleof4 716e963576 Reduce daily limit from 20 to 15 2026-10-12 21:27:26 -07:00
multipleof4andClaude Opus 5.5 ab9491078a Feat: Redraw donate.webp in code with a sad direct-img robot mascot
Replaces the AI-generated image with a papercraft-style one drawn in
HTML/SVG (design/donate.html, rendered with headless Chrome). The mascot's
head is the logo's frame, its antenna the logo's link and its chest the
logo itself. It explains why searches stopped, that cached images still
load, that it resets on its own, and asks for donations at direct-img.link.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:52:24 +00:00
multipleof4andClaude Opus 5.5 38f76a9e04 Feat: Fall back to Bing when Brave refuses, and serve donate.webp when Bing blocks too
Brave errors (e.g. its spending limit being hit) now fall back to Bing
like empty results do, with the error in a Brave Unavailable alert. If
Bing fails too (HTTP error or a page without results, which for Bing
means it's blocking us), a new papercraft donate.webp is served instead
of an AI image, and nothing is cached so the query works once either
search is back.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 14:41:36 +00:00
multipleof4 469d8ef8fe Reduce daily limit for new searches from 25 to 20 2026-10-12 07:32:02 -07:00
multipleof4andClaude Opus 5.5 6fb64e9d7b Feat: AI images on ai.direct-img.link, and as the fallback when a search finds nothing
ai.direct-img.link serves images from the AuroraIMG-6M API on our Dokploy
server (github.com/direct-img/AuroraIMG-6M) instead of searching. It takes
?src= (auroraimg-6m, case-insensitive, the default and only source for now)
and ?i=, where each i gets its own seed derived from the query, so it's a
different image of the same prompt. It has its own daily limit
(AI_DAILY_LIMIT) and AI: cache keys / ai/ R2 prefix. Failed generations
aren't cached, since they're likely temporary.

On direct-img.link and free.direct-img.link, a search that finds nothing (or
fewer than i working images) now serves an AI image of the query instead of
bad.webp. It's kept for 24h like failures were, so a later search can still
find a real image; bad.webp is only served if the AI image fails too. Its ttl
is stored in KV and R2 metadata so cache hits and deduped waiters send a
matching max-age.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:56:39 +00:00
multipleof4andClaude Opus 5.5 f91d6c6616 Docs: Point README to the website for current rate limits
Limits change (e.g. 35 -> 25/day) and the README kept going stale, so it
now links to the homepage, which reads them live from rate-limit.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:28:35 -07:00
multipleof4 8ee76d38dd Reduce daily limit from 35 to 25 requests 2026-10-08 11:53:59 -07:00
multipleof4andClaude Opus 5.5 1ebcfc777e Perf: Serve homepage and assets without invoking Functions
Add _routes.json so /, /robots.txt and /assets/* skip the worker and
don't count against the Functions request quota. rate-limit.js moves to
assets/ so the homepage reads it client-side instead of via HTMLRewriter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 16:43:25 -07:00
multipleof4andClaude Opus 5.5 2976236c00 Feat: Add logo, favicon and bad.webp; move images to /assets
- New logo (svg + jpg) and multi-size favicon.ico
- /favicon.ico still served at root so direct image views get the icon
- Generated missing bad.webp placeholder
- Moved limit.webp into /assets and routed error images via helper

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 17:49:18 -07:00
multipleof4 ed3924cc33 Delete assets/sites-to-search.xml 2026-02-13 13:58:50 -08:00
multipleof4 fc52043b7e Feat: Move sites-to-search.xml to assets/ 2026-02-13 13:17:52 -08:00