From 12dec7bcf6615f6a5d6ac6fb7a75bc09b2472f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=94=EB=83=A5=20=28imnyang=29?= Date: Wed, 16 Jul 2025 21:18:24 +0900 Subject: [PATCH] Update run.py --- run.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/run.py b/run.py index 787b429..55c2335 100644 --- a/run.py +++ b/run.py @@ -16,12 +16,12 @@ DOMAIN_FILE = "./data/domains.txt" def download_domains(): - """도메인 파일 다운로드""" + """도메인 파일 다운로드 (버전 선택 지원)""" try: print("도메인 파일 다운로드 중...") - response = requests.get( - "https://f.imnya.ng/.whs/tp-domains/data/domains/latest.txt" - ) + # date_str이 있으면 해당 날짜 파일, 없으면 latest.txt + url = download_domains.date_url if hasattr(download_domains, "date_url") else "https://f.imnya.ng/.whs/tp-domains/data/domains/latest.txt" + response = requests.get(url) response.raise_for_status() # 디렉토리가 없으면 생성 @@ -125,6 +125,7 @@ def main(): uv run run.py 10000 11000 # 10000~11000 라인 처리 uv run run.py 10000 11000 --skh # SKH 옵션 활성화 uv run run.py 10000 11000 --no-download # 다운로드 생략 + uv run run.py 10000 11000 --date=20250607 # 2025-06-07 버전 도메인 파일 사용 """, ) @@ -134,6 +135,12 @@ def main(): parser.add_argument( "--no-download", action="store_true", help="도메인 파일 다운로드 생략" ) + parser.add_argument( + "--date", + type=str, + default=None, + help="특정 날짜(YYYYMMDD) 버전 도메인 파일 다운로드 (예: --date=20250607)", + ) args = parser.parse_args() @@ -148,6 +155,13 @@ def main(): # 도메인 파일 다운로드 if not args.no_download: + if args.date: + # 날짜 형식 검증 (8자리 숫자) + if not (len(args.date) == 8 and args.date.isdigit()): + print("--date는 YYYYMMDD 형식의 8자리 숫자여야 합니다.") + sys.exit(1) + # URL 지정 + download_domains.date_url = f"https://f.imnya.ng/.whs/tp-domains/data/domains/{args.date[:4]}-{args.date[4:6]}-{args.date[6:]}.txt" download_domains() elif not os.path.exists(DOMAIN_FILE): print(