Her yere gömülebilen dosya yöneticisi
PHP ≥ 8.1 + Flysystem 3. Alpine.js Arayüzü. Yerel, S3, Cloudflare R2. Birkaç satır JavaScript ile gömün.
Çalışırken görün
Modern bir dosya yöneticisinin ihtiyacı olan her şey
Esneklik isteyen geliştiriciler için tasarlandı.
Çoklu depolama
Yerel, AWS S3, Cloudflare R2 — Flysystem v3 ile. Yapılandırmayla değiştirin.
Her yere gömün
iframe + postMessage SDK. Bağımsız UI Alpine.js (derleme yok). Her framework ile çalışır.
JWT kimlik doğrulama + kapsam
Kullanıcı başına yol öneki, izinler, disk beyaz listesi, yalnızca sahip modu.
AI otomatik etiket
Claude / OpenAI vision — otomatik alt metin, başlık, etiketler.
Görüntü kırpma
En-boy oranı ön ayarlı satır içi kırpma aracı.
Görüntü optimizasyonu
Otomatik WebP varyantları — küçük, orta, büyük.
Ön imzalı yüklemeler
Tarayıcı doğrudan S3/R2'ye yükler — sunucunuzda sıfır bant genişliği.
Parçalı yükleme
10MB üzeri dosyalar için S3 multipart.
Tam metin arama
SQLite FTS5 ile isim, başlık, etiket arama.
Toplu işlemler
Çoklu seçim: taşıma, kopyalama, silme, indirme.
Diskler arası transfer
Yerel ↔ S3 ↔ R2 arasında kopyalama/taşıma.
Çöp kutusu
Kurtarılabilir silme, otomatik temizleme.
SEO meta verileri
Başlık, alt, açıklama, etiketler — S3 nesne meta verisi (bulut) veya sidecar JSON (yerel). Tam metin arama.
Karanlık mod
Açık / koyu / otomatik — UI ve SDK'da.
16 dil
Varsayılan İngilizce. SDK, URL (?locale=) veya FLUXFILES_LOCALE ile ayarlayın. Arapça RTL.
Denetim günlüğü
Tüm yazma işlemleri kaydedilir.
Hız sınırlama
Kullanıcı başına token bucket API koruması.
Depolama kotası
JWT claims ile kullanıcı başına limitler.
BYOB kovaları
Kullanıcılar kendi S3/R2'sini ekler — kimlik bilgileri JWT'de şifreli (AES-256-GCM).
Yinelenen algılama
SHA-256 eşleşmesi zorla yazma dışında gereksiz yüklemeleri atlar.
SDK belirteci yenileme
401'de onTokenRefresh — birleşik yenileme, yeniden deneme, updateToken().
2 dakikada hazır
composer require fluxfiles/fluxfiles
cp .env.example .env
# .env
FLUXFILES_SECRET=your-random-32-char-secret
FLUXFILES_ALLOWED_ORIGINS=https://yourapp.com
require_once 'vendor/autoload.php';
$token = fluxfiles_token(
userId: 'user-123',
perms: ['read', 'write', 'delete'],
disks: ['local', 's3', 'r2'],
prefix: 'user-123/',
maxUploadMb: 10,
allowedExt: null,
ttl: 3600
); composer require fluxfiles/laravel
php artisan vendor:publish --tag=fluxfiles-config
# .env — point the adapter at your FluxFiles server
FLUXFILES_ENDPOINT=https://fm.yourdomain.com
FLUXFILES_SECRET=your-secret-min-32-chars
# Optional: match CORS on the FluxFiles host
# FLUXFILES_ALLOWED_ORIGINS=https://yourapp.com
# Config: config/fluxfiles.php <!-- Demo: unpkg. In production, serve fluxfiles.js from your FluxFiles host -->
<script src="https://unpkg.com/fluxfiles@1.22.0/fluxfiles.js"></script>
<script>
FluxFiles.open({
endpoint: 'https://your-api.com',
token: 'eyJhbGci...',
disk: 'local',
mode: 'picker',
container: '#file-picker',
onSelect: function(file) {
console.log('Selected:', file.url);
},
async onTokenRefresh() {
const r = await fetch('/api/auth/refresh-fluxfiles-token');
const { token } = await r.json();
return token;
}
});
</script> npm install @fluxfiles/react
import { FluxFilesModal } from '@fluxfiles/react';
<FluxFilesModal
open={open}
endpoint="https://your-api.com"
token={token}
onSelect={(file) => console.log(file)}
onClose={() => setOpen(false)}
/> npm install @fluxfiles/vue
<script setup>
import { FluxFilesModal } from '@fluxfiles/vue';
</script>
<FluxFilesModal
v-model:open="open"
endpoint="https://your-api.com"
:token="token"
@select="onSelect"
@close="open = false"
/> git clone https://github.com/thai-pc/fluxfiles.git
cd fluxfiles
composer install -d packages/core
cp .env.example .env
cd packages/core
php -S localhost:8080 router.php
# UI: http://localhost:8080/public/index.html
# API: http://localhost:8080/api/fm/list?disk=local&path= Şunlarla çalışır
Başkalarının unuttuğu şeyler için tasarlandı
| Özellik | FluxFiles | elFinder | Laravel-FM | RichFilemanager | Responsive FM |
|---|---|---|---|---|---|
| S3 + R2 + Yerel | ✓ | ⚠ | ⚠ | ⚠ | ✗ |
| Her framework'e gömme | ✓ | ⚠ | ✗ | ⚠ | ✗ |
| JWT kimlik doğrulama + kapsam | ✓ | ✗ | ✗ | ✗ | ✗ |
| SEO meta verileri | ✓ | ✗ | ✗ | ✗ | ✗ |
| AI otomatik etiket | ✓ | ✗ | ✗ | ✗ | ✗ |
| Görüntü kırpma | ✓ | ✓ | ✗ | ✗ | ✗ |
| Parçalı yükleme | ✓ | ✗ | ✗ | ✗ | ✗ |
| Tam metin arama | ✓ | ✗ | ✗ | ✗ | ✗ |
| Karanlık mod | ✓ | ✗ | ⚠ | ✗ | ✗ |
| 16 dil | ✓ | ✓ | ✗ | ✗ | ✗ |
| PHP ≥ 8.1 | ✓ | ✓ | ✗ | ✓ | ✓ |
| Aktif olarak bakımı yapılıyor | ✓ | ✓ | ⚠ | ✗ | ✗ |
| Modern UI | ✓ | ✗ | ⚠ | ✗ | ✗ |