From 9832cc5bc26ee31f3d057b20454294168e24bf1c Mon Sep 17 00:00:00 2001 From: projectdx Date: Sat, 3 Jan 2026 21:41:43 +0900 Subject: [PATCH] fix: v0.5.10 - Double-locked sandbox fix with explicit --no-sandbox flag for Docker root support --- info.yaml | 2 +- lib/zendriver_daemon.py | 4 ++-- lib/zendriver_ohli24.py | 4 ++-- zd_debug.py | 31 +++++++++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 zd_debug.py diff --git a/info.yaml b/info.yaml index 61b4536..f43900d 100644 --- a/info.yaml +++ b/info.yaml @@ -1,5 +1,5 @@ title: "애니 다운로더" -version: "0.5.9" +version: "0.5.10" package_name: "anime_downloader" developer: "projectdx" description: "anime downloader" diff --git a/lib/zendriver_daemon.py b/lib/zendriver_daemon.py index cf05f4d..9c2cee3 100644 --- a/lib/zendriver_daemon.py +++ b/lib/zendriver_daemon.py @@ -165,14 +165,14 @@ async def ensure_browser() -> Any: headless=True, browser_executable_path=exec_path, no_sandbox=True, - browser_args=["--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] + browser_args=["--no-sandbox", "--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] ) else: log_debug("[ZendriverDaemon] Starting browser with default path") browser = await zd.start( headless=True, no_sandbox=True, - browser_args=["--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] + browser_args=["--no-sandbox", "--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] ) log_debug("[ZendriverDaemon] Browser started successfully") diff --git a/lib/zendriver_ohli24.py b/lib/zendriver_ohli24.py index ba559be..5b34a67 100644 --- a/lib/zendriver_ohli24.py +++ b/lib/zendriver_ohli24.py @@ -63,13 +63,13 @@ async def fetch_html(url: str, timeout: int = 60, browser_path: str = None) -> d headless=True, browser_executable_path=exec_path, no_sandbox=True, - browser_args=["--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] + browser_args=["--no-sandbox", "--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] ) else: browser = await zd.start( headless=True, no_sandbox=True, - browser_args=["--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] + browser_args=["--no-sandbox", "--disable-dev-shm-usage", "--disable-gpu", "--no-first-run"] ) page = await browser.get(url) diff --git a/zd_debug.py b/zd_debug.py new file mode 100644 index 0000000..17523e4 --- /dev/null +++ b/zd_debug.py @@ -0,0 +1,31 @@ + +import asyncio +import zendriver as zd +import sys +import os + +async def test(): + print("Testing Zendriver Startup...") + print(f"EUID: {os.geteuid()}") + + # Check what parameters zendriver Config accepts + config = zd.Config() + print(f"Default Config no_sandbox: {getattr(config, 'no_sandbox', 'N/A')}") + + try: + # Try starting with explicit args + print("Attempting to start browser with no_sandbox=True and explicit --no-sandbox arg...") + browser = await zd.start( + headless=True, + no_sandbox=True, + browser_args=["--no-sandbox", "--disable-dev-shm-usage", "--disable-gpu"] + ) + print("Success! Browser started.") + await browser.stop() + except Exception as e: + print(f"Failed to start: {e}") + import traceback + traceback.print_exc() + +if __name__ == "__main__": + asyncio.run(test())