پرش به محتویات

ساخت نسخه لینوکس 🐧

این راهنما شما را در فرایند ساخت نسخه لینوکس برنامه WarpScanner (نسخه 0.4.1) با استفاده از PyInstaller راهنمایی می‌کند. همچنین نحوه ایجاد یک میانبر دسکتاپ (.desktop) برای اجرای آسان‌تر برنامه شرح داده خواهد شد.

1. نیازمندی‌ها: نصب پایتون و ابزارها 🐍

قبل از شروع، مطمئن شوید پایتون 3 و ابزارهای لازم نصب شده باشند.

  • نصب پایتون 3 و pip: اکثر توزیع‌های مدرن لینوکس پایتون 3 را به صورت پیش‌فرض دارند. برای اطمینان یا نصب، از مدیر بسته خود استفاده کنید:

    • Debian/Ubuntu:
      sudo apt update
      sudo apt install python3 python3-pip python3-tk -y
      
    • Fedora/CentOS/RHEL:
      sudo dnf update
      sudo dnf install python3 python3-pip python3-tkinter -y
      
    • Arch Linux:
      sudo pacman -Syu python python-pip tk --noconfirm
      
    • نصب Tkinter: واسط گرافیکی برنامه به tkinter نیاز دارد. دستورات بالا معمولاً بسته python3-tk یا python3-tkinter را نصب می‌کنند.

استفاده از python3 و pip3

در لینوکس، برای جلوگیری از تداخل با نسخه‌های قدیمی‌تر پایتون (Python 2)، معمولاً از دستورات python3 و pip3 استفاده می‌شود.

2. آماده‌سازی و بیلد با PyInstaller

حالا مراحل ساخت فایل اجرایی با PyInstaller را دنبال می‌کنیم.

  1. نصب PyInstaller: ترمینال را باز کرده و اجرا کنید:

    pip3 install pyinstaller
    

  2. نصب کتابخانه‌های مورد نیاز برنامه: بسته‌های پایتونی که WarpScanner به آن‌ها وابسته است را نصب کنید:

    pip3 install requests customtkinter icmplib retrying pyperclip PyYAML Pillow cryptography
    

استفاده از requirements.txt

اگر فایل requirements.txt در کنار سورس کد وجود دارد، می‌توانید تمام نیازمندی‌ها را با دستور زیر نصب کنید: pip3 install -r requirements.txt

  1. آماده‌سازی پوشه پروژه:

    • با دستور cd وارد مسیری شوید که فایل اصلی پایتون برنامه (warpscanner-v4.1.0.py) در آن قرار دارد:
      cd /path/to/your/project/directory
      
    • آیکون: یک فایل آیکون با نام icon.png باید در همین پوشه موجود باشد، زیرا در دستور بیلد استفاده می‌شود.
  2. اجرای دستور بیلد PyInstaller (فقط برای نسخه 0.4.1): دستور زیر را در ترمینال و در پوشه پروژه اجرا کنید. این دستور مختص ساخت نسخه 0.4.1 با نام فایل ورودی warpscanner-v4.1.0.py است:

    pyinstaller --onefile -w warpscanner-v4.1.0.py --hidden-import='PIL._tkinter_finder' -i icon.png
    
    • توضیح پارامترها:
      • --onefile: تمام ملزومات را در یک فایل اجرایی واحد بسته‌بندی می‌کند.
      • -w (--windowed / --noconsole): از باز شدن پنجره ترمینال هنگام اجرای برنامه گرافیکی جلوگیری می‌کند.
      • warpscanner-v4.1.0.py: نام فایل اسکریپت پایتون ورودی.
      • --hidden-import='PIL._tkinter_finder': به PyInstaller کمک می‌کند تا ماژول‌های Tkinter مورد نیاز Pillow/CustomTkinter را پیدا کند.
      • -i icon.png: فایل icon.png را به عنوان آیکون برنامه تنظیم می‌کند.

    محدودیت نسخه و نام فایل

    این دستورالعمل و دستور بیلد به طور خاص برای نسخه 0.4.1 برنامه با سورس فایل warpscanner-v4.1.0.py تهیه شده است. توجه داشته باشید که نام فایل اجرایی خروجی احتمالاً warpscanner-v4.1.0 خواهد بود (نه v0.4.1). در بخش ایجاد میانبر دسکتاپ به این نکته توجه کنید.

  3. پیدا کردن فایل نهایی: پس از اتمام موفقیت‌آمیز بیلد، یک پوشه به نام dist در دایرکتوری پروژه ایجاد می‌شود. فایل اجرایی نهایی (معمولاً بدون پسوند و با نام warpscanner-v4.1.0) در این پوشه قرار دارد.

    • اعطای دسترسی اجرا:
      chmod +x dist/warpscanner-v4.1.0
      

3. کپی کردن پوشه‌های ضروری

فایل اجرایی به تنهایی کافی نیست و برای عملکرد صحیح (به خصوص اسکن و قابلیت‌های WARP) به فایل‌ها و پوشه‌های دیگری نیاز دارد که باید در کنار آن قرار گیرند.

  1. دانلود نسخه پرتابل: اگر نسخه پرتابل لینوکس برای ورژن 0.4.1 وجود دارد، آن را دانلود کنید. در غیر این صورت، می‌توانید از پوشه‌های نسخه پرتابل ویندوز استفاده کنید (برخی پوشه‌ها ممکن است بین پلتفرمی باشند).

  2. شناسایی و کپی پوشه‌ها: محتویات فایل فشرده نسخه پرتابل را بررسی کرده و پوشه‌های زیر را (در صورت وجود) پیدا کنید:

    • hy2
    • imgs
    • ip_range
    • xray این پوشه‌ها را کپی کرده و دقیقاً کنار فایل اجرایی خودتان (یعنی داخل پوشه dist) قرار دهید.

وجود پوشه‌ها

ممکن است همه این چهار پوشه در نسخه پرتابلی که دانلود می‌کنید موجود نباشند. فقط پوشه‌های موجود را کپی کنید.

4. ایجاد میانبر دسکتاپ (اختیاری) 🖱️

برای دسترسی راحت‌تر به برنامه، می‌توانید یک فایل .desktop ایجاد کنید. این فایل به محیط دسکتاپ شما (مانند GNOME, KDE, XFCE) امکان می‌دهد تا برنامه را در منوی برنامه‌ها نمایش دهد.

  1. ایجاد فایل .desktop: یک ویرایشگر متن باز کنید و محتوای زیر را در آن قرار دهید.

    [Desktop Entry]
    Version=0.4.1
    Type=Application
    Name=WarpScanner
    Comment=Scan WARP IPs
    # مسیر کامل فایل اجرایی را اینجا قرار دهید
    Exec=sudo ./path/to/your/project/directory/dist/warpscanner-v4.1.0
    # مسیر کامل فایل آیکون را اینجا قرار دهید (یا فقط نام اگر در مسیر استاندارد باشد)
    Icon=/path/to/your/project/directory/icon.png
    Terminal=true
    Categories=Network;Utility;
    
  2. توضیحات و اصلاحات لازم:

    • Exec=: مهم: مسیر /path/to/your/project/directory/dist/warpscanner-v4.1.0 را با مسیر کامل و دقیق فایل اجرایی که در مرحله 2 (بند 5) ساختید، جایگزین کنید.
    • Icon=: مسیر /path/to/your/project/directory/icon.png را با مسیر کامل و دقیق فایل icon.png که در پوشه پروژه دارید، جایگزین کنید. می‌توانید آیکون را به یک مکان استانداردتر مانند ~/.local/share/icons/ نیز کپی کرده و فقط نام فایل (بدون مسیر) را در Icon= بنویسید.
    • Name=: نامی که در منوی برنامه‌ها نمایش داده می‌شود.
    • Comment=: توضیحی کوتاه درباره برنامه.
    • Terminal=true: برای گرفتن دسترسی روت و اجرا شدن
    • Categories=: به دسته‌بندی برنامه در منو کمک می‌کند.
  3. ذخیره فایل: فایل را با پسوند .desktop (مثلاً warpscanner.desktop) در یکی از مسیرهای استاندارد زیر ذخیره کنید:

    • فقط برای کاربر فعلی: ~/.local/share/applications/ (اگر پوشه applications وجود ندارد، آن را بسازید: mkdir -p ~/.local/share/applications)
    • برای تمام کاربران سیستم (نیاز به دسترسی روت): /usr/share/applications/
  4. اعطای دسترسی (اختیاری): ممکن است لازم باشد به فایل .desktop دسترسی اجرا بدهید (اگرچه همیشه لازم نیست):

    chmod +x ~/.local/share/applications/warpscanner.desktop
    

حالا باید بتوانید WarpScanner را از طریق منوی برنامه‌های محیط دسکتاپ خود پیدا و اجرا کنید.

تبریک! 🎉

شما با موفقیت نسخه 0.4.1 برنامه WarpScanner را برای لینوکس بیلد کردید و یک میانبر دسکتاپ برای آن ساختید.