İnternetten video ve ses indirmek için güvenilir bir sunucuya mı ihtiyacınız var? Bu rehberde, tamamen kendi kontrolünüzde olan bir YouTube MP3 / MP4 indirici sunucusunu nasıl kurabileceğinizi adım adım anlatıyoruz.
🚀 Neden Kendi Sunucunuzu Kurmalısınız?
YouTube içeriklerini üçüncü taraf araçlara güvenmeden, hızlı ve güvenli şekilde indirmenin en iyi yolu kendi sisteminizi kurmaktır. Üstelik:
- Reklamsız ve güvenli
- MP3 ve tüm çözünürlüklerde MP4 desteği
- Tamamen size ait, sınırsız kontrol
🛠️ Gereksinimler
- Bir Linux sunucu (Ubuntu 22.04 veya benzeri)
- root yetkileri
- Alan adı (isteğe bağlı) veya IP adresi
- Apache + PHP kurulumu
1️⃣ yt-dlp Kurulumu
Öncelikle, yt-dlp
indirme aracını sisteminize kurun:
cd /home
wget https://github.com/yt-dlp/yt-dlp/releases/download/2025.06.09/yt-dlp
chmod +x yt-dlp
sudo cp yt-dlp /usr/bin/yt-dlp
sudo mv yt-dlp /usr/local/bin/yt-dlp
🔍 En güncel sürüm:
yt-dlp Releases
Kurulum Kontrolü
which yt-dlp
yt-dlp --version
2️⃣ Python Güncellemesi
yt-dlp
ve ffmpeg
için güncel bir Python sürümü gereklidir:
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.9 python3.9-distutils
Kontrol:
which python3
python3 --version
3️⃣ ffmpeg Kurulumu
sudo apt install ffmpeg
which ffmpeg
ffmpeg -version
4️⃣ Apache2 ve PHP Kurulumu
sudo apt install apache2
sudo apt install php php-fpm
5️⃣ FTP Kurulumu (Opsiyonel)
sudo apt install vsftpd
sudo nano /etc/vsftpd.conf
Yapılandırma Örneği:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
pam_service_name=ftp
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
Restart:
sudo service vsftpd restart
Kullanıcı oluşturma:
sudo useradd -d /var/www/html -s /bin/false ftpuser
sudo passwd ftpuser
sudo chown ftpuser:ftpuser /var/www/html
6️⃣ PHP İndirici Script (Tek Dosya)
/var/www/html/index.php
dosyasını oluşturun ve aşağıdaki kodu yapıştırın:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['url'], $_POST['format'])) {
$url = escapeshellarg($_POST['url']);
$format = $_POST['format'];
// Güvenli dosya adı
$title = trim(shell_exec("/usr/local/bin/yt-dlp -e $url"));
$safeTitle = preg_replace('/[^A-Za-z0-9\p{L}\p{N}_-]/u', '', $title);
$safeTitle = preg_replace('/\s+/', '_', $safeTitle);
$ext = ($format === 'mp3') ? 'mp3' : 'mp4';
// MP3 için komut
if ($format === 'mp3') {
$cmd = "/usr/local/bin/yt-dlp -f bestaudio --extract-audio --audio-format mp3 -o - $url | ".
"/usr/bin/ffmpeg -i pipe:0 -vn -b:a 192k -f mp3 -movflags frag_keyframe+empty_moov pipe:1";
header("Content-Type: audio/mpeg");
} else {
// Video çözünürlüğü belirleme
$resolution = intval(str_replace('p', '', $format)); // 144p -> 144
if ($resolution <= 0) $resolution = 144; // Varsayılan 144p
$cmd = "/usr/local/bin/yt-dlp -f \"bestvideo[height<={$resolution}]+bestaudio\" -o - $url | ".
"/usr/bin/ffmpeg -i pipe:0 -c:v copy -c:a aac -f mp4 -movflags frag_keyframe+empty_moov pipe:1";
header("Content-Type: video/mp4");
}
// Başlık ve dosya adı ile indirme
header("Content-Disposition: attachment; filename=\"{$safeTitle}.{$ext}\"");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: no-cache");
header("Pragma: public");
$pipes = [];
$process = proc_open($cmd, [
1 => ['pipe', 'w'],
2 => ['pipe', 'w']
], $pipes);
if (is_resource($process)) {
while (!feof($pipes[1])) {
echo fread($pipes[1], 8192);
flush();
}
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);
}
exit;
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>YouTube Video / MP3 İndirici</title>
<style>
body { font-family: sans-serif; background: #f9f9f9; text-align: center; padding: 50px; }
input, select, button { padding: 12px; font-size: 16px; margin: 10px; width: 60%; max-width: 500px; }
button { width: auto; }
.container { max-width: 600px; margin: auto; background: white; padding: 30px; border-radius: 12px; box-shadow: 0 0 15px rgba(0,0,0,0.1); }
/* Progress bar styles */
#progress {
width: 100%;
background: #ddd;
height: 20px;
border-radius: 10px;
overflow: hidden;
display: none;
margin-top: 20px;
}
#bar {
width: 0;
height: 100%;
background: green;
transition: width 0.5s;
}
</style>
</head>
<body>
<div class="container">
<h1>📥 YouTube MP3 / MP4 İndirici</h1>
<form method="POST" onsubmit="startDownload()">
<input type="text" name="url" placeholder="YouTube video bağlantısı" required>
<br>
<select name="format" required>
<option value="mp3">🎧 MP3 (Ses)</option>
<option value="144p">144p</option>
<option value="240p">240p</option>
<option value="360p">360p</option>
<option value="480p">480p</option>
<option value="720p">720p (HD)</option>
<option value="1080p">1080p (Full HD)</option>
<option value="1440p">1440p (2K)</option>
<option value="2160p">2160p (4K)</option>
<option value="4320p">4320p (8K)</option>
</select>
<br>
<button type="submit">🎬 İndir</button>
</form>
<!-- Progress bar -->
<div id="progress">
<div id="bar"></div>
</div>
</div>
<script>
function startDownload() {
document.getElementById('progress').style.display = 'block'; // Göster
let bar = document.getElementById('bar');
let width = 0;
let interval = setInterval(() => {
if (width >= 100) {
clearInterval(interval);
} else {
width += 5;
bar.style.width = width + '%'; // Bar'ı güncelle
}
}, 500); // Her yarım saniyede 5% arttır
}
</script>
</body>
</html>
Bu script, kullanıcıların doğrudan tarayıcıdan MP3 veya MP4 (144p-8K) formatında indirme yapmasına olanak tanır.
🎨 Arayüz Özellikleri
- YouTube URL alanı
- Format seçimi (MP3, 144p–4320p)
- Otomatik başlık alma ve güvenli dosya adı oluşturma
- İndirme sırasında ilerleme çubuğu animasyonu
✅ Son Adım: Test Etme
Tarayıcınızdan IP adresinizi veya domain adınızı yazın:
http://sunucu-ip-adresi/
YouTube bağlantınızı girin, formatı seçin ve “İndir” tuşuna basın.
🔒 Güvenlik ve Yasal Uyarı
Bu sistem yalnızca kişisel kullanım ve eğitim amaçlı tasarlanmıştır. Telif hakkı içeren içeriklerin izinsiz indirilmesi yasal sorunlara neden olabilir.
📦 Sonuç
Bu rehber sayesinde, sunucunuza kurulu çalışan bir YouTube indirici aracı elde ettiniz. Şimdi reklamsız, özgür ve hızlı bir şekilde medya içeriklerini indirmenin keyfini çıkarabilirsiniz.
Henüz yorum yapılmamış.