This commit is contained in:
salvacybersec
2025-11-13 05:43:02 +03:00
parent f9517549f1
commit 9e3b792e0c
3 changed files with 120 additions and 17 deletions

30
API.md
View File

@@ -87,7 +87,7 @@ YouTube kanalı için transcript feed'i oluşturur.
| `channel` | string | ⚠️* | Channel handle (@username veya username) |
| `channel_url` | string | ⚠️* | Full YouTube channel URL |
| `format` | string | ❌ | Feed formatı: `Atom` (varsayılan) veya `Rss` |
| `max_items` | integer | ❌ | Maksimum transcript sayısı (varsayılan: 10, max: 100, 20'şer batch'ler halinde işlenir) |
| `max_items` | integer | ❌ | Maksimum transcript sayısı (varsayılan: 10, max: 100, 5'şer batch'ler halinde işlenir) |
\* `channel_id`, `channel` veya `channel_url` parametrelerinden biri zorunludur.
@@ -315,7 +315,9 @@ Sadece aşağıdaki formatlar kabul edilir:
- Minimum: 1
- Maksimum: 100
- Varsayılan: 10
- **Batch İşleme**: 20'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
- **Batch İşleme**: 5'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
- **Batch'ler Arası Bekleme**: 60-90 saniye random bekleme (human-like behavior)
- **İstekler Arası Bekleme**: 10-20 saniye random (blocking varsa 30-60 saniye)
- **Veritabanı Kaydı**: Her batch işlendikten sonra hemen veritabanına kaydedilir, böylece sonraki sorgularda görülebilir
## CORS
@@ -404,10 +406,11 @@ curl -H "X-API-Key: $API_KEY" \
2. **Rate Limiting**: Her API key için farklı rate limit tanımlanabilir. Limit aşıldığında 60 saniye beklemeniz gerekir.
3. **Transcript İşleme**:
- Transcript'ler 20'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
- Transcript'ler 5'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
- Her batch işlendikten sonra veritabanına kaydedilir
- `max_items` parametresi ile her istekte işlenecek transcript sayısını kontrol edebilirsiniz (maksimum 100)
- Batch'ler arası 2 saniye bekleme süresi vardır
- Batch'ler arası 60-90 saniye random bekleme (human-like behavior)
- İstekler arası 10-20 saniye random bekleme (blocking varsa 30-60 saniye)
- Yeni videolar için birkaç dakika gecikme olabilir
4. **Format Seçimi**: Atom formatı daha modern ve önerilir. RSS formatı eski RSS reader'lar için uygundur.
@@ -415,10 +418,27 @@ curl -H "X-API-Key: $API_KEY" \
5. **API Key Güvenliği**: API key'lerinizi güvenli tutun ve asla public repository'lere commit etmeyin.
6. **Batch İşleme Örneği**:
- `max_items=50` isteği: 20+20+10 batch'ler halinde işlenir
- `max_items=50` isteği: 5+5+5+5+5+5+5+5+5+5 batch'ler halinde işlenir
- Her batch tamamlandığında veritabanına kaydedilir
- Batch'ler arası 60-90 saniye random bekleme
- Sonraki sorgularda tüm işlenmiş transcript'ler görülebilir
7. **FlareSolverr Desteği**:
- YouTube bot korumasını aşmak için FlareSolverr kullanılabilir
- Config dosyasında `flaresolverr.url` ayarlanabilir
- FlareSolverr erişilemezse otomatik olarak normal istek yapılır
- Gerçek tarayıcı (headless browser) kullanarak istekler yapılır
8. **Gerçek Tarayıcı Header'ları**:
- 7 farklı tarayıcı User-Agent'ı rotasyon ile kullanılır
- Tam tarayıcı header seti (Accept, Sec-Fetch-*, Referer, vb.)
- Her istekte random User-Agent seçilir
9. **Detaylı Loglama**:
- Tüm işlemler kategorize edilmiş loglarla takip edilir
- Timestamp'li, seviyeli log sistemi (DEBUG, INFO, WARNING, ERROR)
- Docker logları ile kolay takip
## Destek
Sorularınız için GitHub Issues kullanabilirsiniz.