Stack Overview

Halaman ini ngerangkum cara kerja platform, supaya alur teknisnya kebaca tanpa harus lompat-lompat file.

CitraDrop bukan cuma upload form yang ditempel ke backend. Di belakangnya ada jalur file, metadata, proxy, cache, dan route publik yang semuanya perlu sinkron supaya hasil upload tetap terasa rapi saat dipakai.

Flow At A Glance

Empat blok ini yang paling menentukan apakah file yang baru masuk benar-benar bisa sampai ke tangan user dengan enak.

A
Request masuk

User mengirim file dari halaman upload lewat domain utama platform.

B
File diteruskan

Pages Functions meneruskan media ke Telegram Local Bot API Server.

C
Metadata disimpan

Public ID dan informasi penting lainnya ditulis ke Cloudflare KV.

D
Delivery dibungkus ulang

Preview, download, snippets, dan gallery dibangun dari domain aplikasi sendiri.

Empat komponen yang paling menentukan alur platform ini

Layer

Cloudflare Pages Functions

Pintu masuk upload, route preview, route download, gallery API, dan health check semuanya bergerak dari sini.

Layer

Telegram Local Bot API Server

Bagian inti yang menjaga eksperimen storage Telegram tetap hidup di jalur yang lebih kuat daripada mode bot API publik biasa.

Layer

Cloudflare KV

Metadata ringan disimpan di sini supaya public ID, gallery feed, dan alamat hasil upload tetap cepat dipanggil ulang.

Layer

File Proxy di VPS

Proxy ini yang menjembatani file path lokal dari server Telegram supaya file tetap bisa dibaca lagi dari sisi app.

Alur upload dari halaman sampai file punya URL publik

  1. User memilih media dari halaman upload atau drag and drop.
  2. Pages Functions menerima multipart upload dan meneruskannya ke Telegram Local Bot API Server.
  3. Metadata hasil upload disimpan ke KV dengan public ID yang dipakai ulang oleh route publik.
  4. Preview, download, markdown, dan HTML embed dibentuk dari domain aplikasi sendiri.

Kenapa preview, download, dan gallery tidak dibiarkan bertingkah sama semua

Gallery bertugas jadi feed recent uploads, jadi ia perlu tetap cepat dan segar. Preview dan download fokus ke penyajian file, jadi wajar kalau route itu dibantu cache lebih agresif daripada listing gallery.

  • Preview dan download dibantu cache di edge supaya file yang sering diakses tidak selalu jatuh lagi ke VPS.
  • Gallery API sengaja no-store supaya recent uploads tetap segar dan tidak telat tampil setelah upload baru masuk.
  • Batas upload; real-nya tetap ikut gabungan Cloudflare, jaringan, dan jalur Telegram yang dipakai.