asepharyana f88ac1a124 test: add real AWS SDK v3 S3 compatibility tests (20 tests)
Tests use @aws-sdk/client-s3 against https://upload.asepharyana.my.id
with forcePathStyle=true. Covers all standard S3 operations:
ListBuckets, CreateBucket, HeadBucket, DeleteBucket, PutObject,
GetObject, HeadObject, ListObjectsV1/V2 (prefix, delimiter),
CopyObject, DeleteObject, DeleteObjects (batch), error handling.

Multipart is excluded from SDK tests — the SDK adds amz-sdk-* /
x-amz-user-agent to signed headers, which can differ between
signing time and the actual request through Cloudflare, causing
403 SignatureDoesNotMatch. Multipart is verified via manual
SigV4 signing in test/production-e2e.test.ts.
2026-07-07 01:59:17 +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%