Official website and resource proxy for iDB — a lightweight self-hosted DevOps platform.
idb.net / www.idb.net ← Website (Astro + Tailwind, static)
dl.idb.net ← Resource proxy (Cloudflare Worker)
Built with Astro + Tailwind CSS. Bilingual (English / Chinese).
npm install
npm run dev # http://localhost:4321
npm run build # Static output → dist/
npm run preview # Preview production build- Connect this repo to Cloudflare Pages
- Build command:
npm run build - Output directory:
dist - Custom domain:
idb.net/www.idb.net
The CNAME file is for GitHub Pages compatibility. If using Cloudflare Pages, configure the domain in the dashboard instead.
Reverse proxy for GitHub Releases, restricted to sensdata/idb only to prevent abuse.
cd worker
npx wrangler deploy # Deploy to Cloudflare Workers
npx wrangler dev # Local developmentThen add custom domain dl.idb.net in Cloudflare Dashboard → Workers → Custom Domains.
For custom acceleration nodes (e.g., dl-hk.idb.net):
cd nginx
# Place your SSL certs
mkdir -p certs
cp /path/to/fullchain.pem certs/
cp /path/to/privkey.pem certs/
# Edit proxy.conf — update server_name
# Start
docker compose up -dUser runs:
curl -fsSL https://idb.net/install.sh | sudo bash
│
▼
public/install.sh (on idb.net)
│ Auto-detects China → sets IDB_GITHUB_PROXY=https://dl.idb.net
▼
Downloads the official native install.sh from GitHub Releases (via proxy if needed)
│
▼
Official native install.sh runs with IDB_GITHUB_PROXY set
│ All GitHub API / Releases requests go through dl.idb.net
▼
iDB installed ✓
The proxy only allows requests to sensdata/idb:
| Allowed | Blocked |
|---|---|
/github-api/repos/sensdata/idb/releases/* |
/github-api/repos/other/repo/* |
/github-releases/sensdata/idb/releases/* |
/github-releases/other/repo/* |
All other paths return 403 Forbidden.
idb-website/
├── src/
│ ├── pages/
│ │ ├── index.astro # English homepage
│ │ └── zh/index.astro # Chinese homepage
│ ├── components/
│ │ ├── Header.astro
│ │ ├── Hero.astro
│ │ ├── Features.astro
│ │ ├── Install.astro
│ │ ├── Download.astro
│ │ └── Footer.astro
│ └── layouts/
│ └── Layout.astro
├── public/
│ ├── install.sh # Smart install wrapper (auto-detect proxy)
│ ├── upgrade.sh # Smart upgrade wrapper
│ └── favicon.svg
├── worker/
│ ├── proxy.js # Cloudflare Worker (dl.idb.net)
│ └── wrangler.toml
├── nginx/
│ ├── proxy.conf # Self-hosted proxy node config
├── astro.config.mjs
├── tailwind.config.mjs
├── package.json
└── CNAME
Apache 2.0 — same as iDB.