İçeriğe geç
← Defter

GalleryWeb

Çağır

Açık kaynak · Fotoğraf ● Yayında

GalleryWeb Fotoğraf & Video Galerisi

Kendi diskinde çalışan fotoğraf ve video galerisi; geri alınabilir düzenleme stüdyosuyla. Hesap yok, bulut yok. Windows ve Linux için masaüstü uygulaması.

Python · Vanilla JS

Fasıl I

Levhalar

ekranlar, çalışan sürümden

Galeri ızgarası — çoklu klasör, 6 görünüm modu, etiket/favori filtreleri
Levha IGaleri ızgarası — çoklu klasör, 6 görünüm modu, etiket/favori filtreleri
Düzenleme stüdyosu — parlaklık, kontrast, doygunluk, keskinlik, ısı ve gama
Levha IIDüzenleme stüdyosu — parlaklık, kontrast, doygunluk, keskinlik, ısı ve gama
Hazır filtreler — siyah-beyaz, sepya, vintage, soğuk, sıcak, canlı
Levha IIIHazır filtreler — siyah-beyaz, sepya, vintage, soğuk, sıcak, canlı
Düzenleme geçmişi — her adım kayıtlı; herhangi bir adıma geri dön, orijinal korunur
Levha IVDüzenleme geçmişi — her adım kayıtlı; herhangi bir adıma geri dön, orijinal korunur
Telefon erişimi — varsayılan kapalı; açarken ne olacağını açıkça söyler
Levha VTelefon erişimi — varsayılan kapalı; açarken ne olacağını açıkça söyler

Fasıl II

Ne işe yarar

basit anlatım

Bu proje ne?

Bilgisayarındaki fotoğraf ve videoları, içine gömülü bir düzenleme stüdyosuyla birlikte yöneten galeri uygulaması — artık açık kaynak (AGPL-3.0). Hesap yok, giriş yok, bulut yok: her şey kendi diskinde kalır. İki türlü kullanabilirsin — tarayıcıdan (en olgun ve en çok test edilmiş yol) ya da masaüstü uygulaması olarak (v1.1.3 — Windows kurulum paketi + Linux .deb / AppImage).

Neyi çözüyor?

Binlerce fotoğrafı düzenlemek için ne kocaman bir program kurman ne de her şeyi buluta yüklemen gerekiyor. GalleryWeb kendi diskinde çalışır ve yerel modda dışarıya tek bir istek bile atmaz. En önemlisi: hiçbir düzenleme orijinal dosyanı ezmez — üst üste 10 düzenleme yapsan bile fotoğraf 10 kez sıkıştırılmaz, geçmişteki herhangi bir adıma geri dönebilirsin.

Fasıl III

Nasıl çalışır

teknik anlatım

Nasıl geliştirdim?

FastAPI backend yerel klasörleri okuyup servis ediyor; arayüzü hiçbir frontend bağımlılığı kullanmadan saf Vanilla JS ile yazdım, küçük resimler SQLite'ta önbellekleniyor. Proje 10 fazda büyüdü. Son fazda digiKam'dan ilham alan geri-alınabilir düzenleme zincirini kurdum: her işlem dosyayı ezmek yerine JSON sidecar'a bir kayıt olarak yazılıyor, görüntü her seferinde orijinalden tek seferde yeniden üretiliyor — böylece kalite kaybı birikmiyor. Masaüstü sürümü için FastAPI'yi PyInstaller ile tek dosyaya paketleyip Tauri 2 kabuğuna aldım; pencere ve süreç yönetimi Rust tarafında. Yol boyunca 5 ajanlı test denetimleriyle taradım — son turda 29 bulgunun 3'ünü düzelttim, 3'ünü ise koda karşı doğrulayınca çürüttüm.

Malzemeler

  • Python
  • FastAPI
  • Vanilla JS
  • SQLite
  • Pillow
  • imagehash
  • ffmpeg
  • Tauri 2
  • PyInstaller
  • Leaflet.js
  • PWA
  • Docker

Fasıl IV

Neler var

öne çıkanlar

  • Geri alınabilir düzenleme döndür, çevir, kırp, parlaklık/kontrast/doygunluk/keskinlik/ısı/gama ve 6 hazır filtre; orijinale asla dokunulmaz, sınırsız geri/ileri al, geçmişte herhangi bir adıma atla
  • Kalite kaybı birikmez 10 düzenleme 10 kez sıkıştırma demek değil; zincir her seferinde orijinalden tek seferde yeniden üretilir
  • Video ilk kare küçük resmi, yerleşik oynatıcı, iki tutamaklı zaman çizelgesiyle kesme (ffmpeg) ve orijinale dönüş
  • Galeri çoklu klasör, alt klasör tarama, arama, etiket, favori, 5 yıldız puanlama, albüm, çöp kutusu, EXIF paneli, harita görünümü, karşılaştırma modu ve kopya (duplicate) bulucu
  • Telefondan erişim varsayılan olarak KAPALI; sen açtığında aynı Wi-Fi'daki telefonundan QR ile girersin, güvenlik duvarı engelliyorsa uygulama izin komutunu ekranda gösterir
  • Gizlilik yerel modda hiçbir dış sunucuya istek gitmez; yazı tipleri ve harita kütüphanesi paketin içinde gelir, harita altlığı yalnızca sen onaylarsan yüklenir
  • 6 görünüm modu + klavye Minimal'den Timeline'a, Vim tarzı kısayollar (h/j/k/l), koyu/açık tema, PWA olarak kurulabilir

Fasıl V

Nasıl kullanılır

gündelik kullanım

  1. Yerel fotoğraf yönetimi — diskteki klasörleri tarayıcıda açar, kurulum/hesap gerekmez
  2. Düzenleme — döndürme, kırpma, parlaklık; etiket, favori ve albümle organize eder
  3. Telefonda — PWA olarak kurulur, video ve harita (konum) görünümüyle gezilir
  4. Fotoğrafçı arşivi — binlerce görselde kopya tespiti ve hızlı lightbox ile eleme

Fasıl VI

Edin

açık kaynak · indir

Açık Kaynak · AGPL-3.0

Kendi bilgisayarında çalıştır

GalleryWeb artık açık kaynak — AGPL-3.0 lisansıyla ücretsiz kullan, değiştir, kendi makinende çalıştır. Bu, projenin en olgun ve en çok test edilmiş kullanım yolu: kaynağı indir, sistemine göre run.sh (Linux/macOS) ya da run.bat (Windows) dosyasına çift tıkla — ortamı kendisi kurar, galeri tarayıcında açılır. Terminal bilgisi gerekmez.

GitHub'da aç

AGPL-3.0 lisansı · Ücretsiz · kendi bilgisayarında

Repoya yıldız ver

Neden açık kaynak?

  • Veri sende kalır — yerel modda dışarı istek yok; kodu okuyup bunu kendin doğrulayabilirsin
  • Giriş/parola yok — tek kişilik masaüstü kullanımı için bilinçli tasarım; sunucu yalnızca 127.0.0.1 dinler, ağa açmak isteğe bağlı
  • Çift tıkla kurulum — run.sh / run.bat sanal ortamı ve bağımlılıkları kendisi hazırlar
  • Windows + Linux — tarayıcı yolu ikisinde de canlı test edildi (macOS için de aynı başlatıcı var)
  • Güncelleme tek komut — guncelle.sh / guncelle.bat kodu tazeler, fotoğrafların ve ayarların korunur
  • Katkıya açık — issue aç, PR gönder; tek ricam frontend'in framework'süz (Vanilla JS) kalması

Nasıl kurulur?

  1. Gereksinim: Python 3.10+ — Windows'ta “Add Python to PATH” işaretli olsun
  2. git clone https://github.com/ihsandeniz/galleryweb.git && cd galleryweb
  3. ./run.sh (Linux/macOS) · run.bat (Windows) → çift tıkla, gerisini kendisi kurar
  4. Tarayıcıda http://localhost:5000 → sol menü Klasör Seç → fotoğraf klasörünü göster
  5. Video kesme için ffmpeg (opsiyonel) · Docker isteyene: docker compose up
  6. Güncelleme: ./guncelle.sh · guncelle.bat — fotoğrafların ve ayarların korunur

Masaüstü Uygulaması · v1.1.3

Ya da uygulama olarak indir (Windows & Linux)

Terminalle uğraşmak istemiyorsan: indir, kur, çift tıkla. Sunucu arka planda kendiliğinden başlar, pencere açılır, uygulamayı kapatınca her şey temizlenir. v1.1.3'te sessizce kırık iki özellik düzeldi: benzer fotoğraf bulucu Linux'ta hiç çalışmıyordu, toplu taşıma ise dosyaları taşıdığı hâlde "başarısız" diyor ve etiket/favori/not bilgilerini geride bırakıyordu. Linux paketleri geliştirici makinesinde değil, GitHub Actions'ta eski bir tabanda derleniyor ve yayınlanmadan önce Debian 12 kabında kurulup çalıştırılarak sınanıyor. Paketler görece yeni — cilalanmamış köşeler ve performans dalgalanmaları görebilirsin (özellikle çok büyük klasörlerde ve video oynatmada). Kararlılık senin için öncelikliyse yukarıdaki tarayıcı yolu hâlâ en olgun yol.

Windows kurulum indir

Windows 10/11 · setup.exe (WebView2 dahil) · ~279 MB · v1.1.3

.deb indir

Debian 12+ / Ubuntu 22.04+ / Mint · ~65 MB · v1.1.3

AppImage indir

Diğer Linux dağıtımları · kurulum yok · ~203 MB · v1.1.3

Linux paketleri glibc 2.35 tabanıyla derleniyor: Debian 12+, Ubuntu 22.04+ ve üzeri dağıtımları kapsar. Daha eskisindeysen .deb kurulmaz (apt açıkça reddeder, sessizce bozuk kurmaz) — o durumda yukarıdaki tarayıcı yolunu (run.sh) kullan, orada böyle bir kısıt yok.

Bu sürümde ne var?

  • Sıfır kurulum — çift tıkla açılır; kapattığında arka plandaki sunucu da temizlenir
  • Geri alınabilir düzenleme — sınırsız geri/ileri al, geçmişte herhangi bir adıma atla, orijinal hep korunur
  • Video kesme — iki tutamaklı zaman çizelgesi ve orijinale dönüş (sistemde ffmpeg gerekir)
  • Telefon erişimi — uygulama içinden aç/kapa + QR; kapalıyken makine dışına hiçbir şey açılmaz
  • Dayanıklı galeri — bozuk veya açılamayan dosyalar artık galeriyi kilitlemiyor, yerlerinde uyarı simgesiyle görünüyor

Nasıl çalıştırılır?

  1. Windows: setup.exe'yi çalıştır — SmartScreen uyarısı çıkarsa: Daha fazla bilgi → Yine de çalıştır (imzasız kurulum)
  2. .deb: sudo apt install ./GalleryWeb_1.1.3_amd64.deb → uygulama menüsünden aç
  3. AppImage: chmod +x GalleryWeb_1.1.3_amd64.AppImage → çift tıkla (ya da sağ tık → Özellikler → “Çalıştırılabilir”)
  4. Sol menü → Klasör Seç → fotoğraflarının olduğu klasörü göster
  5. Telefondan bakmak için: sol menü → QR Kod ile Paylaş → “Telefon erişimini aç” → QR'ı okut
  6. ⚠️ Telefon erişimi varsayılan olarak kapalıdır: yerel modda giriş/parola olmadığı için, açtığında aynı ağdaki herkes fotoğraflara erişebilir. Bağlanamıyorsan sorun genelde güvenlik duvarıdır — uygulama izin komutunu ekranda gösterir.

Bunun gibi bir şey mi lazım?

Fikrini alıp çalışır hale getirelim — hızlı ve kaliteli.

Bana yaz