কম্পিউটার টিউটোরিয়াল

পাইথনের বিল্ট-ইন HTTP সার্ভার দিয়ে ফাইল ট্রান্সফার করা

নেটওয়ার্কে ফাইল ট্রান্সফার একটি সাধারণ প্রয়োজন। লিনাক্সে SMB, NFS, SCP মতো টুল রয়েছে, কিন্তু HTTP সবচেয়ে уніভার্সাল। পাইথন (বেশিরভাগ লিনাক্সে ডিফল্ট) এর SimpleHTTPServer (Python 2) ও http.server (Python 3) মডিউল দিয়ে এক কমান্ডে লাইটওয়েট HTTP সার্ভার চালানো যায়।

পাইথন ইনস্টলেশন (যদি না থাকে)

sudo apt update && sudo apt install -y python3

HTTP সার্ভার চালু করা

  1. সেন্ডার মেশিনের IP জানুন: ip a s
  2. পাইথন ভার্সন চেক করুন: python --version / python3 --version
  3. ফাইল থাকা ডিরেক্টরিতে যান: cd /path/to/files/
    সাবধানতা: সার্ভার চলাকালিন সার্টিফিকেট ডিরেক্টরির সব ফাইল নেটওয়ার্কে অ্যাক্সেসযোগ্য হবে।
  4. সার্ভার শুরু করুন:
    • Python 2: python -m SimpleHTTPServer [port]
    • Python 3: python3 -m http.server [port]

    ডিফল্ট পোর্ট ৮০০০। ১০২৪-এর নিচে পোর্ট হলে রুট প্রivilেজ লাগবে।

ফাইল ডাউনলোড করা (রিসিভার সাইড)

ব্রাউজারে https://SENDER_IP:8000 খুলে ফাইল ক্লিক করে ডাউনলোড করুন। কমান্ড লাইনে wget বা cURL ব্যবহার করুন।

wget ব্যবহার

# সিঙ্গেল ফাইল
wget https://IP:8000/filename

# পুরো ডিরেক্টরি রিকার্সিভলি
wget -r https://IP:8000/

cURL ব্যবহার

curl https://IP:8000/filename -o filename

উপসংহার

পাইথনের HTTP সার্ভার দ্রুত ও সুবিধাজনক ফাইল ট্রান্সফারের উপায়। কিন্তু এটি প্লেইন HTTP—এনক্রিপশন বা অথেন্টিকেশন নেই। সংবেদনশীল ফাইল এক্সপোজ না করার জন্য সতর্ক থাকুন।

  1. পাইথনে অনুরোধ লাইব্রেরি ব্যবহার করে ওয়েব থেকে ফাইল ডাউনলোড করা

  2. পাইথনে একসাথে একাধিক ফাইল রিনেম করা

  3. পাইথনে cx_Freeze ব্যবহার করে এক্সিকিউটেবল বানানো

  4. লিনাক্সে SCP ব্যবহার করে সিকিউরলি ফাইল ট্রান্সফার করার পদ্ধতি