indicaindependent/skygive

GitHub: indicaindependent/skygive

Stars: 0 | Forks: 0

# ⚡ SkyGive ## Mission - **Zero platform fee.** We charge nothing. Every satoshi goes directly to the creator. - **Zero custody.** Every QR / BIP21 link points straight at the creator's wallet. SkyGive infrastructure never touches a single sat. - **Zero auth.** No signup, no email, no password. Your campaign's admin URL is the only credential — bookmark it. - **Zero KYC.** Bluesky handle + Bitcoin address is everything we need. If you fork SkyGive and want to add fees or custody, please change the name. That's a different project with very different regulatory obligations (MSB, MTL, BitLicense, etc.) and shouldn't carry SkyGive's promise of "free, forever, never touches your sats." ## Why Bluesky is the open social web's most exciting moment in a decade. Creators, journalists, activists, indie devs, and political organizers are flocking to it — and most of them have no way to accept Bitcoin tips on-platform. Existing options either: SkyGive does none of that. Drop your on-chain BTC address, get a beautiful 1200×630 link-card with a QR code, share the URL on Bluesky, done. Card preview auto-rotates across 5 layout variants so every post looks fresh. ## Features | | | |---|---| | 🎨 **16 curated themes** | WCAG-AA validated palettes — Forest, Indigo, Slate, Ember, etc. | | 🔒 **Non-custodial · 0% fee** | Sats go directly to your wallet — every donation, every time | | ⚡ **Zero auth** | No signup, no email, no password. Admin URL = your only credential | | ✨ **5 visual variants** | Each Bluesky post auto-rotates the badge layout | | 🌐 **Fiat-aware goals** | Set goals in USD/EUR/GBP/CAD — auto-converts to sats via CoinGecko/Coinbase | | 🤖 **AI palette extraction** | Workers AI (Llama 3.2 Vision) pulls accent colors from your avatar | | 📊 **View analytics** | Per-campaign view counts, no donor tracking | | 🌍 **Edge-native** | 100% Cloudflare — Workers + D1 + R2 + KV + Workers AI + Browser Rendering | ## Architecture ┌─────────────────────────────────────────────────────────────┐ │ skygive.app (Cloudflare Worker — single file, 3,200 LOC) │ ├─────────────────────────────────────────────────────────────┤ │ Routes: │ │ / Landing + campaign builder │ │ /v/{slug} Public donation page │ │ /badge/{slug}.png Bluesky link-card image │ │ /badge/{slug}.svg SVG variant (for previews) │ │ /admin/{slug}/{token} Owner-only edit page │ │ /api/profile/{handle} Bluesky handle resolver │ │ /api/register Create campaign │ │ /api/update Update campaign (admin token) │ │ /privacy, /terms Legal pages │ ├─────────────────────────────────────────────────────────────┤ │ Storage: │ │ D1 → users, donations, analytics, logs │ │ KV → BTC price cache (CoinGecko + Coinbase fallback) │ │ R2 → avatar images + pre-rendered PNG badges │ │ AI → Workers AI / Llama 3.2 Vision (palette extract) │ │ Browser→ Cloudflare Browser Rendering (SVG → PNG) │ └─────────────────────────────────────────────────────────────┘ ## Self-host Want to run your own SkyGive instance? Five minutes if you have a Cloudflare account. ### 1. Clone + install git clone https://github.com/indicaindependent/skygive cd skygive npm install -g wrangler wrangler login ### 2. Create resources wrangler d1 create skygive-db wrangler kv:namespace create SKYGIVE_CACHE wrangler r2 bucket create skygive-assets ### 3. Configure cp wrangler.toml.example wrangler.toml # Fill in the D1 database_id and KV namespace id you got above ### 4. Initialize the database wrangler d1 execute skygive-db --file=./scripts/schema.sql ### 5. Set secrets wrangler secret put BSKY_HANDLE # e.g. yourservice.bsky.social wrangler secret put BSKY_APP_PASSWORD # https://bsky.app/settings/app-passwords wrangler secret put CF_BROWSER_TOKEN # CF API token with Browser Rendering perm ### 6. Deploy wrangler deploy That's it. Visit your worker's URL and you have a fully working SkyGive instance. ## A project of [Indica Independent Media](https://bsky.app/profile/indicaindependent.bsky.social) SkyGive is part of a family of open-source tools by [@indicaindependent](https://bsky.app/profile/indicaindependent.bsky.social) — independent journalism, OSINT, and protest-tech for the open social web. Other projects: - [WarHeatmap](https://github.com/indicaindependent/warheatmap) — live global conflict intelligence - [Sentinel](https://github.com/indicaindependent/sentinel) — federal surveillance contract tracker - [HumanDefender](https://github.com/indicaindependent/humandefender) — Reddit mod tool for CIB / bot detection - [VibesMom](https://github.com/indicaindependent/vibesmom) — AI mental health support bot for Bluesky - [FaceHeatmap](https://github.com/indicaindependent/faceheatmap) — facial-recognition surveillance heatmap - [BizHer](https://github.com/indicaindependent/bizher) — free NY LLC wizard for women entrepreneurs
**Built with ☕ on Cloudflare's edge · ⚡ skygive.app · 0% fee, forever**
标签:自定义脚本