# YT Saver — सेटअप गाइड

> अपनी पसंद की क्वालिटी में वीडियो सेव करें। आपके अपने डिवाइस पर चलता है।

- भाषा: हिन्दी (Hindi)
- यह पेज: https://www.arvish.xyz/apps/yt-saver
- ऐप का कोड (git clone): https://github.com/Abhishek862009/yt-saver.git
- सोर्स कोड: https://github.com/Abhishek862009/yt-saver

YT Saver आपके अपने डिवाइस पर चलता है, किसी सर्वर पर नहीं। नीचे अपना डिवाइस चुनें और स्टेप्स फॉलो करें। पहली बार सेटअप में समय लगता है क्योंकि कुछ मुफ़्त प्रोग्राम इंस्टॉल करने होते हैं; उसके बाद ऐप चालू करने के लिए बस एक कमांड चलानी होती है।

वेबसाइट की जगह ऐप क्यों? YouTube अक्सर उन सर्वरों को ब्लॉक कर देता है जिन पर वेबसाइटें चलती हैं, इसलिए वेबसाइट पर रखा डाउनलोडर काम करना बंद कर देता है। अपने डिवाइस पर चलाने से आपका अपना इंटरनेट कनेक्शन इस्तेमाल होता है। ऐप सिर्फ़ 127.0.0.1 पर सुनता है, यानी उसे सिर्फ़ वही डिवाइस खोल सकता है; आपके Wi-Fi के दूसरे डिवाइस नहीं खोल सकते।

## आपको क्या चाहिए

- इंटरनेट के साथ Windows PC, Mac, Linux कंप्यूटर या Android फ़ोन। iPhone और iPad सपोर्टेड नहीं हैं।
- Git, जो ऐप को GitHub से डाउनलोड करता है। नीचे के स्टेप्स इसे इंस्टॉल करते हैं।
- Python 3.11 या नया। नीचे के स्टेप्स इसे इंस्टॉल करते हैं।
- ffmpeg, जो वीडियो और ऑडियो को जोड़कर एक फ़ाइल बनाता है। स्टेप्स इसे इंस्टॉल करते हैं।
- YouTube के लिए एक JavaScript इंजन: Node.js 22 या नया, या Deno 2.3 या नया। स्टेप्स इनमें से एक इंस्टॉल करते हैं।

## Windows 10 / 11

PowerShell और winget इस्तेमाल होता है (Windows 10/11 में पहले से होता है)।

ℹ️ यह winget, Python, ffmpeg और Node.js के आधिकारिक दस्तावेज़ों से लिखा गया है। लेखक ने ये स्टेप्स अभी Windows PC पर चलाकर नहीं देखे हैं। कोई स्टेप फेल हो तो नीचे “कुछ गड़बड़ हो तो” देखें।

### स्टेप 1: PowerShell खोलें

Start बटन दबाएँ, PowerShell लिखें और Enter दबाएँ। एक विंडो खुलेगी। नीचे की कमांड इसी में पेस्ट करनी हैं (Ctrl+V, या राइट-क्लिक)।

### स्टेप 2: Git, Python, ffmpeg और Node.js इंस्टॉल करें

ये चार लाइनें एक-एक करके चलाएँ (एक लाइन कॉपी करें, पेस्ट करें, Enter दबाएँ, खत्म होने तक रुकें)।

```powershell
winget install -e --id Git.Git
winget install -e --id Python.Python.3.13
winget install -e --id Gyan.FFmpeg
winget install -e --id OpenJS.NodeJS.LTS
```

अगर यह शर्तें मानने को कहे, तो Y लिखकर Enter दबाएँ। चारों हो जाएँ तो PowerShell बंद करके दोबारा खोलें। नए प्रोग्राम ढूँढने के लिए Windows को यह चाहिए।

### स्टेप 3: जाँचें कि इंस्टॉल हो गए

```powershell
git --version
py --version
ffmpeg -version
node --version
```

git को वर्शन नंबर दिखाना चाहिए। py में Python 3.11 या ऊपर दिखना चाहिए (जैसे 3.13), और node में v22 या ऊपर। ffmpeg को “ffmpeg version” से शुरू होने वाली कुछ लाइनें दिखानी चाहिए।

### स्टेप 4: ऐप का कोड लें

यह GitHub से ऐप को आपके यूज़र फ़ोल्डर में yt-saver नाम के फ़ोल्डर में उतारता है और उसके अंदर चला जाता है।

```powershell
cd $HOME
git clone https://github.com/Abhishek862009/yt-saver.git
cd yt-saver
```

### स्टेप 5: सेटअप करें (सिर्फ़ पहली बार)

```powershell
py -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
```

यह ऐप की ज़रूरी लाइब्रेरी डाउनलोड करता है। प्रॉम्प्ट वापस आने तक रुकें।

### स्टेप 6: ऐप चालू करें

```powershell
.\.venv\Scripts\python.exe app.py
```

जब विंडो में “YT Saver is running” दिखे, तो उसी डिवाइस के ब्राउज़र में http://127.0.0.1:5000 खोलें। ऐप इस्तेमाल करते समय यह विंडो खुली रहने दें।

### स्टेप 7: अगली बार

कुछ दोबारा इंस्टॉल नहीं करना। PowerShell खोलकर ये चलाएँ:

```powershell
cd $HOME\yt-saver
.\.venv\Scripts\python.exe app.py
```

ऐप बंद करने के लिए PowerShell विंडो पर क्लिक करके Ctrl+C दबाएँ।

### कुछ गड़बड़ हो तो

- **“git is not recognized”, “py is not recognized” या “ffmpeg is not recognized”**
  PowerShell बंद करके दोबारा खोलें। फिर भी न चले, तो प्रोग्राम को उसकी आधिकारिक साइट से हाथ से इंस्टॉल करें: git-scm.com, python.org (इंस्टॉलर में “Add python.exe to PATH” पर टिक करें), ffmpeg.org (Windows builds) और nodejs.org।
- **“winget is not recognized”**
  Microsoft Store में “App Installer” अपडेट करें, या ऊपर की साइटों से Git, Python, ffmpeg और Node.js हाथ से इंस्टॉल करें।
- **ऐप कहता है कि port 5000 पहले से इस्तेमाल में है**
  इसे दूसरे port पर चालू करें और ब्राउज़र में वही port खोलें (यहाँ 5001):
  ```powershell
  $env:PORT=5001
  .\.venv\Scripts\python.exe app.py
  ```

### अपडेट कैसे करें

YouTube अक्सर बदलता रहता है, इसलिए ऐप की पुरानी कॉपी वीडियो सेव करना बंद कर सकती है, और ऐप के नए वर्शन में सुधार आते रहते हैं। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो फ़ाइलें आप पहले सेव कर चुके हैं, वे वहीं रहती हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप चल रहा है, तो उसकी विंडो पर क्लिक करके Ctrl+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

```powershell
cd $HOME\yt-saver
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```powershell
.\.venv\Scripts\python.exe -m pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```powershell
.\.venv\Scripts\python.exe app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```powershell
  git stash
  git pull
  ```

## Android फ़ोन (Termux के साथ)

Termux Android के लिए मुफ़्त टर्मिनल ऐप है। यह ऐप उसी के अंदर चलता है।

ℹ️ यह Termux की पैकेज लिस्ट और दस्तावेज़ों से लिखा गया है। लेखक ने ये स्टेप्स अभी फ़ोन पर चलाकर नहीं देखे हैं, और pip वाला स्टेप कुछ हिस्से फ़ोन पर ही बनाता है, इसलिए उसी में सबसे ज़्यादा सुधार की ज़रूरत पड़ सकती है। नीचे “कुछ गड़बड़ हो तो” देखें।

### स्टेप 1: Termux को F-Droid या GitHub से इंस्टॉल करें

Google Play वाला वर्शन इस्तेमाल न करें। Termux टीम के अनुसार Google Play आधिकारिक स्रोत नहीं है, और वह वर्शन पुराना है। इन दो जगहों में से किसी से APK डाउनलोड करके इंस्टॉल करें (Android आपके ब्राउज़र से इंस्टॉल की अनुमति माँग सकता है)।

- F-Droid पर Termux: https://f-droid.org/packages/com.termux/
- GitHub पर Termux रिलीज़: https://github.com/termux/termux-app/releases

### स्टेप 2: Termux खोलें और अपडेट करें

```bash
pkg update
```

कोई सवाल पूछे तो Enter दबाएँ (या Y लिखकर Enter)।

### स्टेप 3: Python, ffmpeg, Node.js और Git इंस्टॉल करें

```bash
pkg install -y python python-pip ffmpeg nodejs git
```

### स्टेप 4: ऐप का कोड लें

```bash
cd ~
git clone https://github.com/Abhishek862009/yt-saver.git
cd yt-saver
```

### स्टेप 5: सेटअप करें (सिर्फ़ पहली बार)

```bash
pip install -r requirements.txt
```

इसमें कई मिनट लग सकते हैं क्योंकि कुछ हिस्से फ़ोन पर ही बनते हैं। प्रॉम्प्ट वापस आने तक रुकें। एरर के साथ रुक जाए तो नीचे “कुछ गड़बड़ हो तो” खोलें।

### स्टेप 6: ऐप चालू करें

```bash
python app.py
```

जब Termux में “YT Saver is running” दिखे, तो उसी फ़ोन पर Chrome (या कोई भी ब्राउज़र) खोलकर http://127.0.0.1:5000 पर जाएँ। Termux को चालू रखें: नोटिफ़िकेशन एरिया नीचे खींचें और Termux की नोटिफ़िकेशन पर “Acquire wakelock” दबाएँ, ताकि Android इसे सुला न दे।

### स्टेप 7: अगली बार

```bash
cd ~/yt-saver
python app.py
```

ऐप बंद करने के लिए Termux में Ctrl+C दबाएँ (या Termux को स्वाइप करके हटा दें)।

### कुछ गड़बड़ हो तो

- **pip कहता है “externally-managed-environment”**
  एक शब्द और जोड़कर इंस्टॉल दोबारा चलाएँ:
  ```bash
  pip install --break-system-packages -r requirements.txt
  ```

- **pip “Failed building wheel” के साथ रुकता है या कहता है कि clang नहीं है**
  बिल्ड टूल इंस्टॉल करें, फिर pip वाली लाइन दोबारा चलाएँ:
  ```bash
  pkg install -y clang make
  pip install -r requirements.txt
  ```

- **स्क्रीन बंद होने पर ऐप कुछ देर बाद रुक जाता है**
  Termux की नोटिफ़िकेशन पर “Acquire wakelock” दबाएँ, और Android सेटिंग्स में Termux का बैटरी इस्तेमाल “Unrestricted” करें (शब्द फ़ोन के हिसाब से अलग हो सकते हैं)।

### अपडेट कैसे करें

YouTube अक्सर बदलता रहता है, इसलिए ऐप की पुरानी कॉपी वीडियो सेव करना बंद कर सकती है, और ऐप के नए वर्शन में सुधार आते रहते हैं। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो फ़ाइलें आप पहले सेव कर चुके हैं, वे वहीं रहती हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप Termux में चल रहा है, तो Termux में Ctrl+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

```bash
cd ~/yt-saver
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```bash
pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```bash
python app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```bash
  git stash
  git pull
  ```

- **pip कहता है “externally-managed-environment”**
  एक शब्द और जोड़कर लाइब्रेरी अपडेट दोबारा चलाएँ:
  ```bash
  pip install --break-system-packages -U -r requirements.txt
  ```

## Linux (Ubuntu, Debian, Fedora, Arch)

टर्मिनल इस्तेमाल होता है। Ubuntu और Debian की कमांड पहले दी गई हैं।

✅ git clone, सेटअप और स्टार्ट वाले स्टेप्स Ubuntu 24.04 पर चलाकर देखे गए हैं। पैकेज इंस्टॉल की लाइनें (apt, dnf, pacman) और Deno / nvm इंस्टॉलर लेखक ने नहीं चलाए; ये हर प्रोजेक्ट की आधिकारिक कमांड हैं।

### स्टेप 1: टर्मिनल खोलें

ज़्यादातर सिस्टम में शॉर्टकट Ctrl+Alt+T है। नहीं तो अपने एप्लिकेशन में “Terminal” खोजें।

### स्टेप 2: Git, Python, ffmpeg और curl इंस्टॉल करें

अपने Linux की लाइनें इस्तेमाल करें:

Ubuntu / Debian / Linux Mint:
```bash
sudo apt update
sudo apt install -y python3 python3-venv ffmpeg curl git
```

Fedora:
```bash
sudo dnf install -y python3 ffmpeg-free curl git
```

Arch / Manjaro:
```bash
sudo pacman -S --needed python ffmpeg curl git
```

### स्टेप 3: Python का वर्शन जाँचें

```bash
python3 --version
```

इसमें 3.11 या ऊपर दिखना चाहिए। 3.10 या कम दिखे, तो आपका Linux इस ऐप के लिए बहुत पुराना है: उसे अपडेट करें (जैसे Ubuntu 24.04) या python.org से नया Python इंस्टॉल करें।

### स्टेप 4: JavaScript इंजन (Deno) इंस्टॉल करें

YouTube को इसकी ज़रूरत है। yt-dlp Deno को ही सुझाता है। यह docs.deno.com की आधिकारिक इंस्टॉलर लाइन है:

```bash
curl -fsSL https://deno.land/install.sh | sh
```

विकल्प: nvm से Node.js 22 (चाहें तो Deno की जगह यह इस्तेमाल करें):
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.6/install.sh | bash
nvm install 22
```

इंस्टॉलर सवाल पूछे तो हाँ (y) कहें। फिर टर्मिनल बंद करके नया खोलें और “deno --version” (2.3 या ऊपर) या “node --version” (22 या ऊपर) से जाँचें।

### स्टेप 5: ऐप का कोड लें

```bash
cd ~
git clone https://github.com/Abhishek862009/yt-saver.git
cd yt-saver
```

### स्टेप 6: सेटअप करें (सिर्फ़ पहली बार)

```bash
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
```

यह ऐप की ज़रूरी लाइब्रेरी डाउनलोड करता है। प्रॉम्प्ट वापस आने तक रुकें।

### स्टेप 7: ऐप चालू करें

```bash
.venv/bin/python app.py
```

जब विंडो में “YT Saver is running” दिखे, तो उसी डिवाइस के ब्राउज़र में http://127.0.0.1:5000 खोलें। ऐप इस्तेमाल करते समय यह विंडो खुली रहने दें।

### स्टेप 8: अगली बार

```bash
cd ~/yt-saver
.venv/bin/python app.py
```

ऐप बंद करने के लिए टर्मिनल पर क्लिक करके Ctrl+C दबाएँ।

### कुछ गड़बड़ हो तो

- **वातावरण बनाते समय “ensurepip is not available” या “python3-venv”**
  Ubuntu / Debian पर छूटा हुआ पैकेज इंस्टॉल करें, फिर “python3 -m venv .venv” वाली लाइन दोबारा चलाएँ:
  ```bash
  sudo apt install -y python3-venv
  ```

- **इंस्टॉल के बाद “deno: command not found”**
  नया टर्मिनल खोलें। फिर भी न चले, तो इस टर्मिनल के लिए Deno का path जोड़ें:
  ```bash
  export PATH="$HOME/.deno/bin:$PATH"
  ```

- **ऐप कहता है कि port 5000 पहले से इस्तेमाल में है**
  इसे दूसरे port पर चालू करें और ब्राउज़र में वही port खोलें (यहाँ 5001):
  ```bash
  PORT=5001 .venv/bin/python app.py
  ```

### अपडेट कैसे करें

YouTube अक्सर बदलता रहता है, इसलिए ऐप की पुरानी कॉपी वीडियो सेव करना बंद कर सकती है, और ऐप के नए वर्शन में सुधार आते रहते हैं। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो फ़ाइलें आप पहले सेव कर चुके हैं, वे वहीं रहती हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप चल रहा है, तो उसके टर्मिनल पर क्लिक करके Ctrl+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

```bash
cd ~/yt-saver
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```bash
.venv/bin/python -m pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```bash
.venv/bin/python app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```bash
  git stash
  git pull
  ```

## Mac (macOS)

Terminal और Homebrew इस्तेमाल होता है, जो Mac पर प्रोग्राम इंस्टॉल करने का आम तरीका है।

ℹ️ यह Homebrew के आधिकारिक दस्तावेज़ों और पैकेज पेजों से लिखा गया है। लेखक ने ये स्टेप्स अभी Mac पर चलाकर नहीं देखे हैं। कोई स्टेप फेल हो तो नीचे “कुछ गड़बड़ हो तो” देखें।

### स्टेप 1: Terminal खोलें

Command+Space दबाएँ, Terminal लिखें और Enter दबाएँ।

### स्टेप 2: Homebrew इंस्टॉल करें (अगर नहीं है)

पहले जाँचें कि कहीं पहले से तो नहीं है। अगर वर्शन नंबर दिखे, तो दूसरी लाइन छोड़ दें।

```bash
brew --version
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

दूसरी लाइन brew.sh का आधिकारिक इंस्टॉलर है। यह बताता है कि क्या करेगा और आपका Mac पासवर्ड माँगता है। खत्म होने पर यह “Next steps” छापता है: वे लाइनें भी कॉपी करके चलाएँ, ताकि brew कमांड काम करे।

- Homebrew: https://brew.sh/

### स्टेप 3: Git, Python, ffmpeg और Node.js इंस्टॉल करें

```bash
brew install git python@3.13 ffmpeg node
```

### स्टेप 4: ऐप का कोड लें

```bash
cd ~
git clone https://github.com/Abhishek862009/yt-saver.git
cd yt-saver
```

### स्टेप 5: सेटअप करें (सिर्फ़ पहली बार)

```bash
python3.13 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
```

यह ऐप की ज़रूरी लाइब्रेरी डाउनलोड करता है। प्रॉम्प्ट वापस आने तक रुकें।

### स्टेप 6: ऐप चालू करें

```bash
.venv/bin/python app.py
```

जब विंडो में “YT Saver is running” दिखे, तो उसी डिवाइस के ब्राउज़र में http://127.0.0.1:5000 खोलें। ऐप इस्तेमाल करते समय यह विंडो खुली रहने दें।

### स्टेप 7: अगली बार

```bash
cd ~/yt-saver
.venv/bin/python app.py
```

ऐप बंद करने के लिए Terminal विंडो पर क्लिक करके Control+C दबाएँ।

### कुछ गड़बड़ हो तो

- **Homebrew इंस्टॉल करने के ठीक बाद “brew: command not found”**
  Homebrew इंस्टॉलर ने अंत में जो “Next steps” लाइनें छापी थीं, उन्हें चलाएँ और फिर नई Terminal विंडो खोलें।
- **“python3.13: command not found”**
  नई Terminal विंडो खोलकर फिर कोशिश करें। फिर भी न चले, तो इंस्टॉल वाली लाइन दोबारा चलाएँ:
  ```bash
  brew install python@3.13
  ```

- **ऐप कहता है कि port 5000 पहले से इस्तेमाल में है**
  इसे दूसरे port पर चालू करें और ब्राउज़र में वही port खोलें (यहाँ 5001):
  ```bash
  PORT=5001 .venv/bin/python app.py
  ```

### अपडेट कैसे करें

YouTube अक्सर बदलता रहता है, इसलिए ऐप की पुरानी कॉपी वीडियो सेव करना बंद कर सकती है, और ऐप के नए वर्शन में सुधार आते रहते हैं। अपडेट में लगभग एक मिनट लगता है: यह ऐप और उसकी लाइब्रेरी का नया वर्शन ले आता है। जो फ़ाइलें आप पहले सेव कर चुके हैं, वे वहीं रहती हैं।

#### स्टेप 1: ऐप को रोकें

अगर ऐप चल रहा है, तो उसकी Terminal विंडो पर क्लिक करके Control+C दबाएँ। रुकने पर प्रॉम्प्ट वापस आ जाता है। ऐप चल नहीं रहा हो, तो यह स्टेप छोड़ दें।

#### स्टेप 2: ऐप के फ़ोल्डर में जाएँ और नया वर्शन लें

git pull GitHub से ऐप का नया वर्शन आपके पहले से मौजूद फ़ोल्डर में उतार देता है।

```bash
cd ~/yt-saver
git pull
```

अगर “Already up to date.” दिखे, तो आपके पास नया वर्शन पहले से है। नहीं तो यह बदली हुई फ़ाइलों की लिस्ट दिखाता है।

#### स्टेप 3: लाइब्रेरी अपडेट करें

```bash
.venv/bin/python -m pip install -U -r requirements.txt
```

यह “Requirement already satisfied” छाप सकता है। यह ठीक है। प्रॉम्प्ट वापस आने तक रुकें।

#### स्टेप 4: ऐप दोबारा चालू करें

```bash
.venv/bin/python app.py
```

अपने ब्राउज़र में http://127.0.0.1:5000 खोलें और पेज रीलोड करें, ताकि ब्राउज़र नया वर्शन ले।

#### अपडेट न हो तो

- **git कहता है “fatal: not a git repository”**
  यह फ़ोल्डर git clone से नहीं बना (जैसे ऐप ZIP फ़ाइल के रूप में डाउनलोड किया गया), इसलिए यह खुद को अपडेट नहीं कर सकता। ऊपर की सेटअप गाइड के “ऐप का कोड लें” और “सेटअप करें” स्टेप्स एक बार फिर करें, फिर ऐप नए फ़ोल्डर से चालू करें।
- **git pull कहता है “Your local changes to the following files would be overwritten”**
  आपने ऐप के फ़ोल्डर में कोई फ़ाइल बदली है। अपना बदलाव एक तरफ़ रख दें, फिर दोबारा pull करें:
  ```bash
  git stash
  git pull
  ```

## ऐप कैसे इस्तेमाल करें

1. अपने ब्राउज़र में http://127.0.0.1:5000 खोलें।
2. YouTube वीडियो का लिंक पेस्ट करें और “Find qualities” दबाएँ।
3. लिस्ट से क्वालिटी चुनें (सबसे ऊँची पहले) और “Save video” दबाएँ।
4. 100% होने पर फ़ाइल आपके ब्राउज़र के Downloads फ़ोल्डर में सेव हो जाती है।

## ध्यान रखें

- सिर्फ़ वही वीडियो सेव करें जो आपके हों, दोबारा इस्तेमाल के लिए लाइसेंस वाले हों, या जिन्हें डाउनलोड करने की आपके पास अनुमति हो। दूसरों के वीडियो डाउनलोड करना YouTube की सेवा-शर्तों या कॉपीराइट कानून का उल्लंघन हो सकता है।
- अगर YouTube कहे कि आपको बॉट न होने का सबूत देना होगा, तो कुछ मिनट रुककर फिर कोशिश करें, या नेटवर्क बदलें (जैसे साझा Wi-Fi की जगह फ़ोन का हॉटस्पॉट)। हॉस्टल या कॉलेज का साझा Wi-Fi सीमित होने की संभावना ज़्यादा रखता है।
- आपके डाउनलोड का कुछ भी arvish.xyz से होकर नहीं जाता। आप ऐप का कोड एक बार GitHub से लेते हैं; उसके बाद ऐप आपके डिवाइस से सीधे YouTube से बात करता है।
- ऐप ओपन सोर्स है। कोड GitHub पर अपनी अलग रिपॉज़िटरी में है: Abhishek862009/yt-saver।
