first commit
This commit is contained in:
225
README.md
Normal file
225
README.md
Normal file
@@ -0,0 +1,225 @@
|
||||
# 🎮 POSTER-BASH
|
||||
|
||||
Linux için bash tabanlı terminal uygulaması. Oyun .iso dosyalarınızı tarar, IGDB API'den poster resimlerini bulur ve indirir.
|
||||
|
||||
## 📋 Özellikler
|
||||
|
||||
- ✅ **Otomatik Kurulum**: Eksik paketleri otomatik indirir ve kurar
|
||||
- ✅ **Otomatik Tarama**: Config'den belirtilen dizini tarar
|
||||
- ✅ **IGDB Entegrasyonu**: Dünyanın en büyük oyun veritabanından poster arar
|
||||
- ✅ **VR Desteği**: Oyun bulunamazsa otomatik olarak "VR" ile tekrar dener
|
||||
- ✅ **Akıllı Önbellek**: Zaten indirilen posterleri atlar
|
||||
- ✅ **Retries**: İndirme başarısız olursa 3 kere dener
|
||||
- ✅ **Retro Terminal**: Renkli çıktı, 3D ASCII logo, progress bar
|
||||
- ✅ **Detaylı Loglama**: Tüm işlemleri log dosyasına kaydeder
|
||||
- ✅ **Test Modu**: `--test-run` ile test dizininde eski posterleri temizleyip yenilerini indirir
|
||||
|
||||
## 📸 Ekran Görüntüsü
|
||||
|
||||
```
|
||||
╔═══════════════════╗
|
||||
║ GAME POSTER ║
|
||||
╚═══════════════════╝
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
INFO Taranan dizin: /media/Games
|
||||
INFO Bulunan ISO dosyası sayısı: 5
|
||||
|
||||
[1/5] Elden Ring [████░░░░░] 20%
|
||||
✓ İndirildi: poster.png
|
||||
|
||||
[2/5] Cyberpunk 2077 [█████░░░░] 40%
|
||||
ℹ Poster zaten var, atlanıyor...
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
📊 ÖZET
|
||||
✓ İndirildi: 2
|
||||
ℹ Atlandı: 2
|
||||
✗ Başarısız: 1
|
||||
```
|
||||
|
||||
## 🚀 Kurulum
|
||||
|
||||
### Tek Dosya
|
||||
|
||||
```bash
|
||||
# Script'i indirin
|
||||
wget https://raw.githubusercontent.com/wisecolt/poster-bash/main/poster-bash
|
||||
|
||||
# Çalıştırılabilir yapın
|
||||
chmod +x poster-bash
|
||||
```
|
||||
|
||||
### Ayarlama (.env)
|
||||
|
||||
Script ile aynı dizine `.env` dosyası oluşturun:
|
||||
|
||||
```bash
|
||||
# .env
|
||||
IGDB_CLIENT_ID=your_client_id_here
|
||||
IGDB_CLIENT_SECRET=your_client_secret_here
|
||||
|
||||
SCAN_DIR="/media/Games"
|
||||
TEST_DIR="/test-games"
|
||||
```
|
||||
|
||||
**Not**: IGDB credentials almak için: https://api-docs.igdb.com/#account-creation
|
||||
|
||||
### Kullanıma Hazır Kılma
|
||||
|
||||
```bash
|
||||
# Script'i oyunlarınızın olduğu dizine koyun
|
||||
cp poster-bash /media/Games/
|
||||
|
||||
# .env dosyasını aynı dizine oluşturun
|
||||
cd /media/Games
|
||||
nano .env # yukarıdaki içerikle doldurun
|
||||
|
||||
# Çalıştırın
|
||||
./poster-bash
|
||||
```
|
||||
|
||||
**İlk çalıştırmada script otomatik olarak şunları yapar:**
|
||||
- `curl` ve `jq` paketlerini kurar (sudo ile)
|
||||
- Config dosyasını oluşturur (`~/.game-bash.conf`)
|
||||
- İlk poster indirmelerini yapar
|
||||
|
||||
## 📖 Kullanım
|
||||
|
||||
### Temel Kullanım
|
||||
|
||||
```bash
|
||||
# Normal mod - SCAN_DIR'yi tarar
|
||||
./poster-bash
|
||||
|
||||
# Test modu - TEST_DIR'yi tarar, eski posterleri temizler
|
||||
./poster-bash --test-run
|
||||
```
|
||||
|
||||
### Seçenekler
|
||||
|
||||
```bash
|
||||
poster-bash [SEÇENEKLER]
|
||||
|
||||
Seçenekler:
|
||||
-h, --help Yardım mesajını gösterir
|
||||
-v, --version Versiyon bilgisini gösterir
|
||||
-c, --config Config dosyasının konumunu gösterir
|
||||
-l, --log Log dosyasını gösterir
|
||||
--clear-log Log dosyasını temizler
|
||||
--test-run Test modunda çalışır (önce eski posterleri temizler)
|
||||
```
|
||||
|
||||
### Örnekler
|
||||
|
||||
```bash
|
||||
# Yardım
|
||||
./poster-bash --help
|
||||
|
||||
# Versiyon
|
||||
./poster-bash --version
|
||||
|
||||
# Logları görüntüle
|
||||
./poster-bash --log
|
||||
|
||||
# Config dosyasını görüntüle
|
||||
./poster-bash --config
|
||||
```
|
||||
|
||||
## ⚙️ Yapılandırma
|
||||
|
||||
Script iki yerden ayar okur:
|
||||
|
||||
### 1. .env Dosyası (Proje Dizini)
|
||||
|
||||
```bash
|
||||
# .env
|
||||
IGDB_CLIENT_ID=your_client_id
|
||||
IGDB_CLIENT_SECRET=your_client_secret
|
||||
SCAN_DIR="/path/to/games"
|
||||
TEST_DIR="/test-games"
|
||||
```
|
||||
|
||||
### 2. Config Dosyası (Otomatik Oluşturulur: `~/.game-bash.conf`)
|
||||
|
||||
Config dosyası IGDB token'ını ve diğer ayarları saklar.
|
||||
|
||||
---
|
||||
|
||||
## 📁 Dizin Yapısı
|
||||
|
||||
```
|
||||
/media/Games/
|
||||
├── poster-bash # Script (tek dosya)
|
||||
├── .env # Ayarlarınız
|
||||
├── Elden Ring/
|
||||
│ ├── Elden Ring.iso
|
||||
│ └── poster.png # Script indirir
|
||||
├── Cyberpunk 2077/
|
||||
│ ├── Cyberpunk 2077.iso
|
||||
│ └── poster.png # Script indirir
|
||||
└── ... (diğer oyunlar)
|
||||
```
|
||||
|
||||
## 🔄 Nasıl Çalışır?
|
||||
|
||||
1. **Başlat**: Script çalıştırılır
|
||||
2. **Otomatik Kurulum**: Eksik paketler (`curl`, `jq`) otomatik kurulur
|
||||
3. **.env Okuma**: Ayarlar aynı dizindeki `.env` dosyasından okunur
|
||||
4. **Tarama**: Config'deki dizin taranır
|
||||
5. **IGDB Arama**: Oyunlar IGDB'de aranır
|
||||
6. **VR Yeniden Deneme**: Bulunamazsa "VR" eklenip tekrar aranır
|
||||
7. **Poster İndirme**: Bulunursa poster indirilir
|
||||
8. **Kaydet**: `poster.png` olarak oyun dizinine kaydedilir
|
||||
|
||||
## 🐛 Sorun Giderme
|
||||
|
||||
### "sudo: ./poster-bash: command not found"
|
||||
|
||||
```bash
|
||||
# Tam path ile çalıştırın
|
||||
bash /path/to/poster-bash
|
||||
|
||||
# Veya sistem bin dizinine kopyalayın
|
||||
sudo cp /path/to/poster-bash /usr/local/bin/
|
||||
sudo poster-bash --test-run
|
||||
```
|
||||
|
||||
### "Permission denied" hatası
|
||||
|
||||
```bash
|
||||
# Script'e çalıştırma izni verin
|
||||
chmod +x poster-bash
|
||||
```
|
||||
|
||||
### ".env dosyası bulunamadı"
|
||||
|
||||
```bash
|
||||
# Script ile aynı dizinde .env oluşturun
|
||||
cat > .env << EOF
|
||||
IGDB_CLIENT_ID=your_id
|
||||
IGDB_CLIENT_SECRET=your_secret
|
||||
SCAN_DIR="/path/to/games"
|
||||
TEST_DIR="/test-games"
|
||||
EOF
|
||||
```
|
||||
|
||||
## 📜 Lisans
|
||||
|
||||
Bu proje MIT lisansı altında lisanslanmıştır.
|
||||
|
||||
## 🙏 Teşekkürler
|
||||
|
||||
- [IGDB](https://www.igdb.com) - Oyun veritabanı için
|
||||
- [Twitch](https://dev.twitch.tv) - OAuth için
|
||||
|
||||
## 📞 İletişim
|
||||
|
||||
- **GitHub**: [wisecolt/poster-bash](https://github.com/wisecolt/poster-bash)
|
||||
- **Issues**: [GitHub Issues](https://github.com/wisecolt/poster-bash/issues)
|
||||
|
||||
---
|
||||
|
||||
_v1.0.0 - 2025_
|
||||
Reference in New Issue
Block a user