Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import subprocess
- import os
- WHITE = '\033[37m'
- RESET = '\033[0m'
- def install_package(package_name):
- try:
- print(f"กำลังติดตั้ง {package_name} ...")
- subprocess.check_call(["sudo", "apt-get", "install", "-y", package_name])
- print(f"{package_name} ติดตั้งเรียบร้อยแล้ว")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการติดตั้ง {package_name}: {e}")
- def install_python_and_pip():
- install_package("python3")
- install_package("python3-pip")
- install_package("python3-venv")
- def create_virtualenv():
- if not os.path.exists("myenv"):
- try:
- print("กำลังสร้าง virtual environment ชื่อ myenv ...")
- subprocess.check_call(["python3", "-m", "venv", "myenv"])
- print("สร้าง virtual environment ชื่อ myenv เรียบร้อยแล้ว")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการสร้าง virtual environment: {e}")
- else:
- print("พบ virtual environment ชื่อ myenv แล้ว")
- def install_modules_in_virtualenv():
- modules = [
- "proxybroker", "akad", "rsa", "bs4", "humanfriendly", "pafy", "youtube_dl",
- "pytz", "gtts", "googletrans", "livejson", "python-axolotl-curve25519",
- "translatepy", "qrcode", "orjson", "speedtest-cli", "pycryptodome", "null",
- "timeago", "schematics", "humanize", "wikiapi", "selenium", "lxml",
- "Naked", "pytube", "html5lib", "psutil", "thingspeak", "openai", "netifaces",
- "attrs==19.1.0", "httpx==0.13.3"
- ]
- try:
- for module in modules:
- subprocess.check_call(["myenv/bin/pip", "install", module])
- print(f"{module} ติดตั้งเรียบร้อยแล้ว")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการติดตั้งโมดูล: {e}")
- def install_python_modules():
- modules = [
- "proxybroker", "akad", "rsa", "bs4", "humanfriendly", "pafy", "youtube_dl",
- "pytz", "gtts", "googletrans", "livejson", "python-axolotl-curve25519",
- "translatepy", "qrcode", "orjson", "speedtest-cli", "pycryptodome", "null",
- "timeago", "schematics", "humanize", "wikiapi", "selenium", "lxml",
- "Naked", "pytube", "html5lib", "psutil", "thingspeak", "openai", "netifaces",
- "attrs==19.1.0", "httpx==0.13.3"
- ]
- for module in modules:
- try:
- subprocess.check_call(["pip3", "install", module])
- print(f"{module} ติดตั้งเรียบร้อยแล้ว")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการติดตั้ง {module}: {e}")
- def change_hostname():
- new_hostname = input("กรุณาใส่โฮสต์เนมใหม่ (หรือกด Enter เพื่อข้าม): ")
- if new_hostname:
- try:
- subprocess.check_call(["sudo", "hostnamectl", "set-hostname", new_hostname])
- print(f"โฮสต์เนมถูกเปลี่ยนเป็น {new_hostname} แล้ว")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการเปลี่ยนโฮสต์เนม: {e}")
- else:
- print("ข้ามการเปลี่ยนโฮสต์เนม")
- def change_password():
- new_password = input("กรุณาใส่พาสเวิร์ดใหม่ (หรือกด Enter เพื่อข้าม): ")
- if new_password:
- try:
- subprocess.run(["passwd"], input=f"{new_password}\n{new_password}\n", text=True)
- print("พาสเวิร์ดถูกเปลี่ยนเรียบร้อยแล้ว")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการเปลี่ยนพาสเวิร์ด: {e}")
- else:
- print("ข้ามการเปลี่ยนพาสเวิร์ด")
- def change_timezone():
- new_timezone = input("กรุณาใส่โซนเวลาใหม่ (เช่น Asia/Bangkok) (หรือกด Enter เพื่อข้าม): ")
- if new_timezone:
- try:
- subprocess.check_call(["sudo", "timedatectl", "set-timezone", new_timezone])
- print(f"เขตเวลาถูกเปลี่ยนเป็น {new_timezone} แล้ว")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการเปลี่ยนเขตเวลา: {e}")
- else:
- print("ข้ามการเปลี่ยนเขตเวลา")
- def show_credits():
- ba = f"""{WHITE}
- | \ | (_)_ __ __ _ _ __ __ _ _ __ ___
- | \| | | '__/ _` | '_ \ / _` | '_ ` _ \
- | |\ | | | (_| | | | | (_| | | | | | |
- |_| \_|_|_| \__,_|_| |_|\__,_|_| |_| |_|
- """
- ba += "\n\n《 ᵖᵒʷᵉʳᵉᵈ ᵇʸ ηιяαηαм™ 》"
- ba += RESET
- print(ba)
- if __name__ == "__main__":
- show_credits()
- try:
- subprocess.check_call(["sudo", "apt-get", "update"])
- print("\033[38;5;214mอัปเดตแพ็กเกจสำเร็จ\033[0m")
- except Exception as e:
- print(f"เกิดข้อผิดพลาดในการอัปเดตแพ็กเกจ: {e}")
- print("\033[38;5;214mคุณต้องการติดตั้งแพ็กเกจแบบปกติหรือใช้ virtual environment?\033[0m")
- print("\033[38;5;214mพิมพ์ '1' สำหรับการติดตั้งแบบปกติ หรือ '2' สำหรับ virtual environment\033[0m")
- choice = input("เลือก: ").strip()
- if choice == '2':
- install_python_and_pip()
- create_virtualenv()
- install_modules_in_virtualenv()
- else:
- install_python_and_pip()
- install_python_modules()
- change_hostname()
- change_password()
- change_timezone()
- print("\033[38;5;214mการติดตั้งและตั้งค่าเสร็จสมบูรณ์ คุณสามารถเริ่มใช้เซิร์ฟเวอร์ได้ทันที\033[0m")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement