
    @OOf                     P    d dl Z d dlZd dlmZ d dlmZ  G d d      ZdedefdZ	y)	    N)Sequence)ctxc                       e Zd Zd Zd Zy)WebAddonc                    |j                  dt        dd       |j                  dt        dd       |j                  dt        dd	       |j                  d
t        dd       |j                  dt        t           g dd       y )Nweb_open_browserTzStart a browser.	web_debugFzEnable mitmweb debugging.web_porti  zWeb UI port.web_hostz	127.0.0.1zWeb UI host.web_columns)tlsiconpathmethodstatussizetimez Columns to show in the flow list)
add_optionboolintstrr   )selfloaders     ^/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/tools/web/webaddons.pyloadzWebAddon.load	   ss    ,dD:LM+tU4OP*c4@*c;GSMG.		
    c                 .   t        t        j                  d      r{t        j                  j                  r`dt        j                  j                   dt        j                  j
                   d}t        |      }|st        j                  d|        y y y y )Nr   zhttp://:/z<No web browser found. Please open a browser and point it to )	hasattrr   optionsr   r   r
   open_browserlogginginfo)r   web_urlsuccesss      r   runningzWebAddon.running   sz    3;; 238T8T 4 45Qs{{7K7K6LANG"7+GRSZR[\  9U3r   N)__name__
__module____qualname__r   r'    r   r   r   r      s    

r   r   urlreturnc                     d}|D ]+  }	 t        j                  |      }|j                  |       s+ y y# t         j                  $ r Y Dw xY w)aV  
    Open a URL in a browser window.
    In contrast to webbrowser.open, we limit the list of suitable browsers.
    This gracefully degrades to a no-op on headless servers, where webbrowser.open
    would otherwise open lynx.

    Returns:
        True, if a browser has been opened
        False, if no suitable browser has been found.
    )zwindows-defaultmacosxz
wslview %sgiozx-www-browserzgnome-open %szxdg-openzgoogle-chromechromechromiumzchromium-browserfirefoxoperasafariTF)
webbrowsergetopenError)r,   browsersbrowserbs       r   r"   r"      s\    H   	w'A vvc{   		s   4A
	A
)
r#   r6   collections.abcr   	mitmproxyr   r   r   r   r"   r+   r   r   <module>r?      s.      $  .#c #d #r   