47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
import os
|
|
import subprocess
|
|
|
|
GEOSITE_PATH = "/etc/hysteria/geosite.dat"
|
|
GEOIP_PATH = "/etc/hysteria/geoip.dat"
|
|
GEOSITE_URL = "https://raw.githubusercontent.com/Chocolate4U/Iran-v2ray-rules/release/geosite.dat"
|
|
GEOIP_URL = "https://raw.githubusercontent.com/Chocolate4U/Iran-v2ray-rules/release/geoip.dat"
|
|
|
|
|
|
def remove_file(file_path):
|
|
if os.path.exists(file_path):
|
|
os.remove(file_path)
|
|
print(f"Removed existing file: {file_path}")
|
|
|
|
|
|
def download_file(url, destination):
|
|
try:
|
|
subprocess.run(
|
|
["wget", "-O", destination, url],
|
|
stdout=subprocess.DEVNULL,
|
|
stderr=subprocess.DEVNULL,
|
|
check=True
|
|
)
|
|
print(f"Downloaded {url} to {destination}")
|
|
except subprocess.CalledProcessError:
|
|
print(f"Failed to download {url}")
|
|
|
|
|
|
def update_geo_files():
|
|
try:
|
|
print("Starting geo files update...")
|
|
|
|
remove_file(GEOSITE_PATH)
|
|
remove_file(GEOIP_PATH)
|
|
download_file(GEOSITE_URL, GEOSITE_PATH)
|
|
download_file(GEOIP_URL, GEOIP_PATH)
|
|
|
|
print("Geo files update completed successfully.")
|
|
|
|
except Exception as e:
|
|
print(f"An error occurred during the update process: {e}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
update_geo_files()
|