Skip to content

Tahir1072a/Cloudflare_File_Uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 R2 Auto-Update Server

Bu proje, masaüstü uygulamaları için bir güncelleme sunucusu görevi görür. Yüklenen .zip dosyasını Cloudflare R2 depolama alanına yükler, dosya bütünlüğünü (SHA256) doğrular ve istemci uygulamaların güncellemeleri kontrol edebilmesi için version.json dosyasını otomatik olarak günceller.

🛠 Kurulum

Gerekli paketleri yükleyin:

npm install

⚙️ Yapılandırma (.env)

Projenin kök dizininde bir .env dosyası oluşturun ve aşağıdaki değerleri Cloudflare R2 panelinizden alarak doldurun:

R2_ACCOUNT_ID=senin_cloudflare_account_id
R2_ACCESS_KEY_ID=senin_r2_access_key
R2_SECRET_ACCESS_KEY=senin_r2_secret_key
R2_BUCKET_NAME=bucket_ismi
R2_PUBLIC_DOMAIN=https://pub-xxx.r2.dev

Değişkenlerin Açıklaması

Değişken Açıklama
R2_ACCOUNT_ID Cloudflare panelinde sağ üstte bulunan hesap ID'si.
R2_ACCESS_KEY_ID R2 API Tokens bölümünden oluşturduğunuz Token ID.
R2_SECRET_ACCESS_KEY Token oluştururken verilen gizli anahtar (Secret Key).
R2_BUCKET_NAME Dosyaların yükleneceği R2 Bucket'ının tam adı.
R2_PUBLIC_DOMAIN Bucket'a bağlı Public Access URL'i veya özel alan adınız (Sonunda / olmamalı).

▶️ Çalıştırma

Sunucuyu başlatmak için:

node server.js

Sunucu http://localhost:3000 adresinde çalışmaya başlayacaktır.

📡 Kullanım

Uygulamanın yeni sürümünü (.zip formatında) yüklemek için aşağıdaki endpoint kullanılır:

  • URL: POST /upload
  • Body (Multipart/Form-Data):
    • appZip: Yüklenecek .zip dosyası.
    • socketId: İlerleme çubuğu (progress bar) takibi için Socket.IO ID'si.

🔄 Otomatik İşleyiş

  1. Mevcut version.json dosyasını R2'den çeker (yoksa 1.0.0 kabul eder).
  2. Versiyonu otomatik artırır (Örn: 1.0.5 -> 1.0.6).
  3. Dosyanın SHA256 hash değerini hesaplar.
  4. Dosyayı v1.0.6/app.zip yoluna yükler.
  5. version.json dosyasını yeni hash ve indirme linki ile günceller.

About

Clodflare Api'sini kullanarak, 300mb fazla dosyaları version.json dosyası ile birlikte R2 storage'a yüklemenizi sağlar. Lütfen .env dosyasını kendinize göre ayarlayınız.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages