Commit Graph
93 Commits
Author SHA1 Message Date
multipleof4andClaude Opus 5.5 826e0cd2dd Refactor: Move daily search limits into rate-limit.js
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 16:29:49 -07:00
multipleof4andClaude Opus 5.5 0ab01d6e66 Feat: Give free.direct-img.link its own 100/day search limit
Free searches never spend Brave credits, so they no longer share the
main site's 35/day counter. Main-site rate ids are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 16:23:56 -07:00
multipleof4andClaude Opus 5.5 2941397180 Fix: Serve bad.webp for unknown query params
Scanner probes like /userfiles?path=../../.env were treated as real
searches since extra params were ignored, wasting searches and rate limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 11:37:51 -07:00
multipleof4andClaude Opus 5.5 8b49ebdf71 Feat: Raise daily search limit to 35
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 12:42:17 -07:00
multipleof4andClaude Opus 5.5 62d6bcda0b Docs: Use free image in README preview, trim homepage i= note
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 12:10:46 -07:00
multipleof4andClaude Opus 5.5 029b259f05 Feat: Add free.direct-img.link and ?i= result picker (#1)
- free.direct-img.link serves only unrestricted (public domain/CC0) images
  from Openverse (license=cc0,pdm) and Wikimedia Commons
  (haslicense:unrestricted), with optional ?src=openverse|wikimedia
- ?i=1..20 picks the i-th working image on both sites; broken links are
  skipped so every index is a different image
- Openverse OAuth token is cached in KV and refreshed automatically
- Skip Flickr "photo unavailable" placeholders (served with HTTP 200)
- Free/indexed cache keys use uppercase prefixes; plain main-site keys
  are unchanged so existing cache entries stay valid
- Update README, homepage, privacy policy and terms

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 12:00:54 -07:00
multipleof4andClaude Opus 5.5 023f4d132c Feat: Add GoatCounter analytics, Terms & Privacy pages, prompt copy button
- Update AI system prompt example (README + index)
- Add copy button for the prompt on the index page
- Add GoatCounter to homepage; report image hits server-side via
  waitUntil (optional GOATCOUNTER_URL/GOATCOUNTER_TOKEN)
- Add TERMS.md and PRIVACY.md, linked in the index footer
- Remove dead c.planetrenox.com tracker

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 08:51:48 -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
multipleof4andClaude Opus 5.5 21b85acff5 Refactor: Move SurrealDB init to /_setup endpoint
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:46:31 -07:00
multipleof4andClaude Opus 5.5 f1e894d1bb Fix: Lower daily search limit to 20
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:10:02 -07:00
multipleof4andClaude Opus 5.5 d81cd26a1e Docs: Add GitHub Sponsors button and fix rate limit/cache info
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:00:45 -07:00
multipleof4andClaude Opus 5.5 a9e381ab6d Chore: Switch funding to GitHub Sponsors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 13:53:45 -07:00
multipleof4 9fae3f0ec9 Fix: Expire image cache after 90 days 2026-09-10 18:20:48 -07:00
multipleof4 ee31ffc2ed Feat: Add PayPal funding link 2026-05-12 18:05:19 -07:00
multipleof4 44ed25b654 Fix: Change ntfy priority for new searches to 2 2026-04-15 19:17:12 -07:00
multipleof4 6ee698b868 Refactor: Import search functions from utils 2026-03-12 14:31:57 -07:00
multipleof4 1fe9935fca Refactor: Extract Bing image search logic 2026-03-12 14:31:53 -07:00
multipleof4 deb931b466 Refactor: Extract Brave image search logic 2026-03-12 14:31:50 -07:00
multipleof4 6a2f7baa01 Feat: Add Bing Image Search fallback for empty results 2026-03-11 17:12:59 -07:00
multipleof4 cd3a9a5446 Feat: Add detailed fetch failure logging to ntfy 2026-03-10 14:41:05 -07:00
multipleof4 47710f30dd Refactor: Increase cache TTL to 60 days 2026-03-10 14:26:16 -07:00
multipleof4 864605d022 Remove unnecessary whitespace in index.html
Removed unnecessary whitespace in the head section.
2026-03-06 18:53:12 -08:00
multipleof4 c0202fc713 Update index.html 2026-03-06 18:53:04 -08:00
multipleof4 15ac411ed3 Feat: Add analytics tracker script to head 2026-02-27 09:30:47 -08:00
multipleof4 c02a615c9e Feat: Increase daily search rate limit to 35 2026-02-25 12:24:29 -08:00
multipleof4 f6a1d61045 Feat: Specify SurrealDB version v2.3.10 2026-02-23 11:02:11 -08:00
multipleof4 a2040381b3 Fix: SurrealDB rate limiting - headers, upsert, logging 2026-02-23 10:51:47 -08:00
multipleof4 86f97ed406 Feat: Cache error state and serve bad.webp on fail 2026-02-23 10:39:47 -08:00
multipleof4 cf7f35e184 Refactor: Drop KV rate limits docs, add SurrealDB secrets 2026-02-23 10:20:52 -08:00
multipleof4 d763f06415 Feat: Add async garbage collection to SurrealDB rate limits 2026-02-23 10:20:45 -08:00
multipleof4 406dd41258 Feat: Increase search result count to 50 2026-02-23 08:57:53 -08:00
multipleof4 b17057c49d Refactor: Update BTC donation address 2026-02-19 12:23:07 -08:00
multipleof4 bd47a1e6fb Refactor: Update BTC donation address 2026-02-19 12:23:02 -08:00
multipleof4 429e0d8d27 Update README.md 2026-02-19 10:58:32 -08:00
multipleof4 29bdea7f96 Add XMR address to README 2026-02-19 10:44:15 -08:00
multipleof4 98fc0a3920 Update README.md 2026-02-19 10:43:34 -08:00
multipleof4 7b5667d45d Refactor: Update AI system prompt instructions 2026-02-19 08:12:05 -08:00
multipleof4 8b9d72c83e Refactor: Update index.html with new AI prompt & golf CSS 2026-02-19 08:11:56 -08:00
multipleof4 12265dcfff Feat: Update docs to mention dot encoding 2026-02-17 19:51:56 -08:00
multipleof4 f7232b61e6 Fix: Reject literal dots and slashes in pathname 2026-02-17 19:51:50 -08:00
multipleof4 a045461df4 Fix: Block literal dots and slashes to stop bots 2026-02-17 19:51:45 -08:00
multipleof4 4e50f7c3f4 Docs: Update rate-limit TTL to 25 hours 2026-02-15 11:04:05 -08:00
multipleof4 0cbcc73326 Refactor: Reduce rate-limit TTL to 25 hours 2026-02-15 11:00:07 -08:00
multipleof4 606feec0ff Feat: Document slash rejection, update normalization rules 2026-02-15 09:03:00 -08:00
multipleof4 e5b167d731 Feat: Reject queries with slashes, serve bad.webp 2026-02-15 09:02:54 -08:00
multipleof4 509a1d7269 Fix: Update daily search rate limit to 15 2026-02-14 19:03:52 -08:00
multipleof4 43ff666933 Refactor: Update rate limit to 15 in landing page 2026-02-14 19:02:22 -08:00
multipleof4 b32535db4b Refactor: Update rate limit to 15, update KV docs 2026-02-14 19:02:17 -08:00
multipleof4 c6a7ad6960 Fix: Atomic rate limiting via individual KV keys 2026-02-14 18:58:10 -08:00
multipleof4 b4d515a9c7 Feat: Serve limit.webp meme on rate limit instead of JSON 2026-02-14 11:55:28 -08:00
multipleof4 f6a84e8216 Add files via upload 2026-02-14 11:45:24 -08:00
multipleof4 de6fec20ca Feat: Include full URL in search notifications 2026-02-14 09:19:34 -08:00
multipleof4 17090b28f3 Feat: Increase daily search rate limit from 10 to 25 2026-02-14 08:48:49 -08:00
multipleof4 4c629ea330 Feat: Increase daily search rate limit from 10 to 25 2026-02-14 08:48:43 -08:00
multipleof4 ede0bfe459 Feat: Increase daily search rate limit from 10 to 25 2026-02-14 08:48:35 -08:00
multipleof4 3ebc05718b Update README.md 2026-02-14 06:58:45 -08:00
multipleof4 1d5191763f Feat: Document query normalization rules and limits 2026-02-13 21:49:59 -08:00
multipleof4 ac74ce6cbe Fix: Sanitize queries, limit length, normalize slashes 2026-02-13 21:49:53 -08:00
multipleof4 d9466a9c08 Feat: Allow indexing of root while blocking queries 2026-02-13 21:14:10 -08:00
multipleof4 54437d6dde Feat: Remove comments from robots.txt 2026-02-13 19:33:26 -08:00
multipleof4 964249582a Refactor: Replace URL format with AI prompt, remove privacy 2026-02-13 19:07:20 -08:00
multipleof4 79c91e482b Feat: Add AI system instruction section to README 2026-02-13 19:01:48 -08:00
multipleof4 2bb96a5789 Fix: Add global 20s deadline with dynamic per-attempt timeout 2026-02-13 18:36:30 -08:00
multipleof4 62e683ad9f Fix: Replace setTimeout with AbortSignal.timeout 2026-02-13 18:28:52 -08:00
multipleof4 86e55cc222 Fix: Move body consumption inside fetchImage timeout scope 2026-02-13 18:24:25 -08:00
multipleof4 718d2de3da Docs: Add NTFY_URL to secrets table 2026-02-13 17:54:48 -08:00
multipleof4 1d434afaf1 Feat: Add ntfy notifications and robust search loop 2026-02-13 17:53:19 -08:00
multipleof4 adaa335486 Refactor: Update rate limits and fix markdown escaping 2026-02-13 16:56:49 -08:00
multipleof4 39d9692095 Refactor: Update rate limit table for CF Free 2026-02-13 16:56:43 -08:00
multipleof4 288dda0ece Fix: Correct markdown escaping for code blocks 2026-02-13 16:45:11 -08:00
multipleof4 45d8e25783 Feat: Add live example image to README 2026-02-13 16:44:22 -08:00
multipleof4 333b29e0a5 Fix: Update safesearch parameter to valid value 2026-02-13 16:34:31 -08:00
multipleof4 f05c642e65 Refactor: Remove redundant TTL logic and simplify cache check 2026-02-13 16:26:15 -08:00
multipleof4 5dbab52bad Feat: Add donation-based limit increase notice 2026-02-13 16:16:20 -08:00
multipleof4 f2f380c0b8 Feat: Complete info migration from README to index 2026-02-13 16:12:11 -08:00
multipleof4 ef28db0310 Refactor: Add rate limits and remove infra mentions 2026-02-13 16:07:39 -08:00
multipleof4 984ce17165 Refactor: Remove demo and add donation warning 2026-02-13 16:05:43 -08:00
multipleof4 8db9a006b2 Feat: Add minimalist light-themed landing page 2026-02-13 16:02:26 -08:00
multipleof4 cd1e4576f4 Refactor: Update README to reflect store-as-is approach 2026-02-13 15:51:12 -08:00
multipleof4 709737fce7 Update README.md 2026-02-13 15:33:30 -08:00
multipleof4 2bf64d8c3d Fix: Correct Brave API pricing to $5/1k with $5 free 2026-02-13 15:18:31 -08:00
multipleof4 fc839658c7 Feat: Switch from Google CSE to Brave Image Search API 2026-02-13 15:01:32 -08:00
multipleof4 ed3924cc33 Delete assets/sites-to-search.xml 2026-02-13 13:58:50 -08:00
multipleof4 159c46b298 Delete: Move sites-to-search.xml to assets/ 2026-02-13 13:17:54 -08:00
multipleof4 fc52043b7e Feat: Move sites-to-search.xml to assets/ 2026-02-13 13:17:52 -08:00
multipleof4 ce36698b62 Refactor: Remove inline sites list, reference assets/ XML 2026-02-13 13:17:46 -08:00
multipleof4 a0b070e44e Create sites-to-search.xml 2026-02-13 12:58:31 -08:00
multipleof4 189953b719 Refactor: Trim README, switch Bing to Google CSE 2026-02-13 12:52:58 -08:00
multipleof4 38ff34a284 Feat: Add Pages bindings reference with R2_IMAGES 2026-02-13 11:30:28 -08:00
multipleof4 be18840701 Refactor: Rename KV namespaces to be project-scoped 2026-02-13 11:22:22 -08:00
multipleof4 1b0fb332da Feat: Add BTC donation address to Support section 2026-02-13 11:17:08 -08:00
multipleof4 1d2b58b0ec Refactor: Slim KV schema, fix donation messaging 2026-02-13 10:48:55 -08:00
multipleof4 e38c488b14 Initial commit 2026-02-13 09:26:50 -08:00