Claude 002492626b
Deploy FileDrop / deploy (push) Failing after 15s
fix: secure SigV4, temp leaks, OOM risk, duplicate migration, and cache issues
Security fixes:
- SigV4 signature comparison now uses crypto.timingSafeEqual (timing attack fix)
  - AccessKey, region, and HMAC signature all timing-safe
- Presigned URL expiry capped at 7 days (AWS spec compliance)
- Removed duplicate migration import (dead code)

Memory & leak fixes:
- Temp file leak in createZip(): cleanup temp file on error in both utils/ and shared/utils/
- OOM risk in web-api/v1 upload: stream File to temp instead of arrayBuffer()
- Removed duplicate migration import at startup

Performance fixes:
- Removed file.arrayBuffer() -> Bun.write() pattern in web-api-controller (stream + hash)

Test improvements:
- All fixes verified: 74/75 tests pass (1 pre-existing env config test)
- S3 auth tests: 7/7 pass after timing-safe fix
2026-07-28 19:33:05 +07:00

Telegram Bot Uploader Backend

Backend production-ready untuk upload file ke Telegram yang tersimpan di private channel.

Setup

  1. Install PostgreSQL database
  2. Buat database: createdb telegram_uploader
  3. Setup environment: cp .env.example .env
  4. Edit .env dengan nilai yang sesuai
  5. Create table: bun run db:migrate
  6. Install dependencies: bun install

Telegram Private Channel Setup

  1. Buat private channel Telegram
  2. Tambah bot sebagai admin di channel
  3. Dapatkan STORAGE_CHANNEL_ID (misalnya -1001234567890)

Running

bun run dev      # Development mode
bun run start    # Production mode

API Endpoints

  • POST /api/upload - Upload file
  • GET /f/:public_id - Download redirect
  • GET /file/:public_id/info - File metadata
  • GET /health - Health check

FAQ

URL permanen maksudnya apa? URL backend tetap permanen: https://tele.asepharyana.my.id/f/{public_id} Ini berarti URL service Anda fix, bukan jaminan file Telegram abadi.

Testing

Gunakan bot Telegram untuk upload, atau upload API langsung via HTTP.

S
Description
FileDrop Telegram-backed S3-compatible uploader
Readme
995 KiB
Languages
TypeScript 89.5%
HTML 8%
Shell 1.8%
Nix 0.5%
Dockerfile 0.2%