
    @OOf[                         d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ de	dz  fdZ
de	dz  fdZdee	   dz  fdZ G d	 d
      Zy)    N)command)ctx)ALERTreturnc                  D    dD ]  } t        j                  |       s| c S  y )N)	z</Applications/Google Chrome.app/Contents/MacOS/Google Chromez;C:\Program Files (x86)\Google\Chrome\Application\chrome.exez4C:\Program Files (x86)\Google\Application\chrome.exezgoogle-chromezgoogle-chrome-stablechromechromiumzchromium-browserzgoogle-chrome-unstable)shutilwhichbrowsers    Y/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/addons/browser.pyget_chrome_executabler      s+      << N      c                      t        j                  d      rOdD ]J  } t        j                  dd| gt        j                  t        j                        j
                  dk(  sH| c S  y )Nflatpak)zcom.google.Chromezorg.chromium.Chromiumz$com.github.Eloston.UngoogledChromiumzcom.google.ChromeDevinfostdoutstderrr   )r
   r   
subprocessrunDEVNULL
returncoder   s    r   get_chrome_flatpakr      sd    ||I
 	G 0%--%-- * 	  r   c                  F    t               x} r| gS t               x} rddd| gS y )Nr   r   z-p)r   r   r   s    r   get_browser_cmdr   4   s8    '))w)y&(	(	(5$00r   c                       e Zd ZU g Zeej                     ed<   g Zee	j                     ed<    ej                  d      dd       Zd Zy)Browserr   tdirzbrowser.startNc           
         t        | j                        dkD  rt        j                  t        d       t               }|st        j                  t        d       yt        j                         }| j                  j                  |       | j                  j                  t        j                  g |dt        |j                        z  dj                  t        j                   j"                  xs dt        j                   j$                  xs d      d	d
dddt        j&                  t        j&                               y)zj
        Start an isolated instance of Chrome that points to the currently
        running proxy.
        r   zStarting additional browserz;Your platform is not supported yet - please submit a patch.Nz--user-data-dir=%sz--proxy-server={}:{}z	127.0.0.18080z--disable-frez--no-default-browser-checkz--no-first-runz--disable-extensionszabout:blankr   )lenr   logginglogr   r   tempfileTemporaryDirectoryr    appendr   Popenstrnameformatr   optionslisten_hostlisten_portr   )selfcmdr    s      r   startzBrowser.startA   s'    t||q KK<=KKT **,		(3tyy>9 +11//>;//96 $ 1 % + " "))!))	
r   c                     | j                   D ]  }|j                           | j                  D ]  }|j                           g | _         g | _        y )N)r   killr    cleanup)r0   r   r    s      r   donezBrowser.doneg   sH    || 	GLLN	II 	DLLN		r   )r   N)__name__
__module____qualname__r   listr   r)   __annotations__r    r&   r'   r   r2   r6    r   r   r   r   =   sO    &(GT*""#(.0D$x**
+0W___%#
 &#
Jr   r   )r$   r
   r   r&   	mitmproxyr   r   mitmproxy.logr   r*   r   r   r:   r   r   r<   r   r   <module>r?      sY          sTz (C$J *cT) 0 0r   