# راه‌اندازی تمیز — سرور ویندوز جدید
# مسیر پیشنهادی: C:\ins\instagram-listener

================================================================================
مرحله ۰ — قبل از شروع
================================================================================
- listener روی سرور قدیمی را متوقف کن (پنجره run_browser.bat را ببند)
- اگر Ubuntu هم داری: systemctl stop instagram-listener
- از سرور قدیمی فقط این‌ها را کپی کن:
    .env
    کل پوشه listener\ (کد پایتون)
    main.py, config.py, requirements.txt
    *.bat (login_browser, run_browser, clear_dedup, ...)
- از سرور قدیمی کپی نکن (تمیز بماند):
    data\dedup.db
    data\web_cookies.json
    data\known_threads.json
    logs\
    پروفایل Firefox/Chrome خراب

================================================================================
مرحله ۱ — نرم‌افزار روی سرور جدید
================================================================================
1) Python 3.11.x از python.org
   - [x] Add python.exe to PATH
   - [x] Install for all users

2) Mozilla Firefox (آخرین نسخه)
   https://www.mozilla.org/firefox/

3) Remote Desktop (RDP) — پنجره listener باید باز بماند

================================================================================
مرحله ۲ — آپلود پروژه
================================================================================
کل پوشه instagram-listener را بگذار در:
  C:\ins\instagram-listener

ساختار:
  C:\ins\instagram-listener\
    .env
    main.py
    config.py
    requirements.txt
    listener\
    login_browser.bat
    run_browser.bat
    clear_dedup.bat
    data\          (خالی یا فقط پوشه خالی)

================================================================================
مرحله ۳ — نصب پکیج‌ها (PowerShell as Administrator)
================================================================================
cd C:\ins\instagram-listener
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

تست:
  python --version
  python -c "import requests; import browser_cookie3; print('OK')"

================================================================================
مرحله ۴ — تنظیم .env
================================================================================
فایل .env را از سرور قبلی کپی کن و این‌ها را چک کن:

  LISTENER_MODE=firefox
  INSTAGRAM_USERNAME=downista.bot
  HOST_API_URL=https://the-popcorn.ir/ins/listener-hook.php
  HOST_API_TOKEN=...
  POLL_INTERVAL=0.5
  POLL_INTERVAL_ACTIVE=0.3
  IG_FOLLOW_REQUIRED=1
  IG_FOLLOW_REQUIRED_MESSAGE=⚠️جهت استفاده لازمه ابتدا پیج رو فالو کنید
  IG_FOLLOW_CACHE_SECONDS=0
  IG_FOLLOW_SEND_DM=1

مهم: فایل باید نامش دقیقاً .env باشد (نه .env.txt)

================================================================================
مرحله ۵ — لاگین اینستاگرام (Firefox)
================================================================================
cd C:\ins\instagram-listener
.\login_browser.bat

1) Firefox باز می‌شود → instagram.com
2) با @downista.bot لاگین کن
3) اگر ERR_TOO_MANY_REDIRECTS دیدی = IP سرور بلاک است
   → سرور دیگر بگیر (IP تمیزتر) یا از پشتیبانی VPS بپرس
4) بعد از لاگین موفق، Firefox را کامل ببند (Task Manager)
5) در پنجره bat دکمه ENTER بزن
6) باید ببینی: OK — ready. Next: run_browser.bat

================================================================================
مرحله ۶ — اجرای listener
================================================================================
.\clear_dedup.bat
.\run_browser.bat

پنجره را نبند — listener 24/7 اینجا می‌ماند.

لاگ موفق:
  Cookie listener ready (source=Firefox) for @downista.bot
  Listener ready — waiting for Share...

================================================================================
مرحله ۷ — تست
================================================================================
1) از اکانت تلگرام لینک‌شده، یک ریلز Share کن به @downista.bot
2) در لاگ باید ببینی:
   Cookie parsed ... url=https://www.instagram.com/reel/...
   Link delivered to Telegram ...

3) تست فالو:
   - بدون فالو → Blocked delivery + پیام DM
   - با فالو → دانلود

================================================================================
مرحله ۸ — PHP / هاست (بدون تغییر اگر قبلاً کار می‌کرد)
================================================================================
- listener-hook.php همان آدرس
- در ادمین: کاربر IG = alishekari_p برای user_id تلگرام

================================================================================
مرحله ۹ — اتواستارت (اختیاری)
================================================================================
schtasks /Create /TN "InstaListener" /TR "C:\ins\instagram-listener\run_browser.bat" /SC ONSTART /RU SYSTEM /F

یا Task Scheduler دستی: At startup → run_browser.bat

================================================================================
عیب‌یابی
================================================================================
| مشکل | راه‌حل |
|------|--------|
| .env missing | COPY .env از PC، نه .env.txt |
| login redirect loop | IP سرور — سرور جدید با IP دیگر |
| Inbox HTTP 302 | login_browser.bat دوباره |
| عکس parse نشد | صبر کن deep scan یا Share دوباره |
| فقط ریلز کار می‌کند | listener\cookie_client.py جدید آپلود شده باشد |

================================================================================
فایل‌های حیاتی listener\
================================================================================
  cookie_client.py
  message_parser.py
  thread_mobile.py
  media_resolve.py
  inbox_parse.py
  firefox_cookies.py
  known_threads.py
