14 Commits
Author SHA1 Message Date
asepharyana af55c76c81 ci: final — hobby repos mirror-only (legacy workflows tidak aktif; restore dari history bila perlu) 2026-08-01 17:00:05 +07:00
asepharyana 719c0e5a42 ci: restore legacy .github workflows (era GitHub asli) — hapus hanya jika memang mirror-only 2026-08-01 16:58:21 +07:00
asepharyana be1e4cabc3 ci: GitHub primary — mirror ke Gitea backup; hapus workflow legacy (hobby repo)
Mirror to Gitea / mirror (push) Canceled after 0s
2026-08-01 16:44:04 +07:00
asepharyana 9d08db79d4 fix: hapus invalid observability fields, pin wrangler v4
Build and Push to GHCR / build-and-push (push) Failing after 1m29s
Deploy to Cloudflare Workers / Deploy to Cloudflare Workers (push) Successful in 23s
2026-07-15 07:08:13 +07:00
MythEclipseandClaude Opus 4.8 2171a01974 fix: anthropic messages validation, stream mapping, client error parsing, and add Cloudflare Workers deployment workflow
- Fix type mappings in OpenAIRequest and BackendConfig to handle structured message parts (cache-control).
- Stop adaptRequest crashing when message contents are objects or arrays.
- Forward stream, top_k, and stop_sequences to adaptRequest.
- Forward anthropic-version header to backend endpoints during adaptation.
- Parse structured JSON error payloads from upstream before returning generic "Upstream rejected request" error.
- Create .github/workflows/cloudflare.yml to auto-deploy on master branch pushes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 19:37:23 +07:00
MythEclipse 2ff31eabe7 fix: include workflow paths in build trigger 2026-06-19 19:13:19 +07:00
MythEclipse d447523bb1 fix: use SHA tags instead of latest for GHCR images 2026-06-19 19:12:23 +07:00
MythEclipse 2d3776b54b fix: lowercase GHCR image name 2026-06-19 19:11:38 +07:00
MythEclipse 17338a7dca feat: IPv6 outbound rotation via curl --interface
- Add IPv6SourcePool for round-robin IP rotation
- fetchViaCurl: Bun.spawn + curl -6 --interface for source binding
- Auto-fallback to regular fetch when IPv6 connection fails
- Response decompression via --compressed flag
- Docker + GHCR build/deploy workflows
- 8 routable IPv6 addresses on VPS
2026-06-19 19:07:46 +07:00
MythEclipseandClaude Fable 5 7a4df35371 feat: add Cloudflare Workers deployment support
- Create src/worker.ts: Workers-compatible relay handler using env
  bindings instead of process.env, exports { fetch } for Workers runtime
- Update wrangler.toml: point to new src/worker.ts entry point
- Update deploy.yml: add wrangler-action deploy step after tests pass
- The worker reuses the same relay logic from src/lib/ and src/middleware/

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 21:38:22 +07:00
MythEclipseandClaude Fable 5 f58a92e2aa feat: migrate from Next.js to pure Bun relay proxy
- Replace Next.js app router with standalone Bun.serve() entry point
- Add middleware stack: rate limiter, body limiter, structured logger, SSRF protection
- Add WebSocket bidirectional relay via x-relay-target header
- Implement error classification (DNS→502, timeouts→504, SSRF→403, rate→429)
- Remove all Next.js dependencies and config files
- Update deploy workflow, tsconfig, wrangler config for Bun deployment

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 19:54:55 +07:00
MythEclipse 694f14a316 fix: add node 22 + set secrets to correct repo 2026-05-08 19:03:24 +07:00
MythEclipse eba4fbe00a fix: remove wrong working-directory from workflow 2026-05-08 19:01:49 +07:00
MythEclipse 443ff77be9 ci: add CF Workers deploy workflow + fix relay header forwarding 2026-05-08 18:58:50 +07:00