disable socks for local
This commit is contained in:
		
							
								
								
									
										15
									
								
								stream.py
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								stream.py
									
									
									
									
									
								
							@@ -34,6 +34,9 @@ class ProxyElem():
 | 
				
			|||||||
            session.set_option("https-proxy", "socks5://" + self.proxy)
 | 
					            session.set_option("https-proxy", "socks5://" + self.proxy)
 | 
				
			||||||
            session.set_option("http-proxy", "socks5://" + self.proxy)
 | 
					            session.set_option("http-proxy", "socks5://" + self.proxy)
 | 
				
			||||||
        return session
 | 
					        return session
 | 
				
			||||||
 | 
					    def local(self):
 | 
				
			||||||
 | 
					        timeout = aiohttp.ClientTimeout(total=1)
 | 
				
			||||||
 | 
					        return aiohttp.ClientSession(timeout=timeout)
 | 
				
			||||||
    def session(self):
 | 
					    def session(self):
 | 
				
			||||||
        connector = None
 | 
					        connector = None
 | 
				
			||||||
        if self.proxy is not None:
 | 
					        if self.proxy is not None:
 | 
				
			||||||
@@ -52,6 +55,9 @@ class ProxyElem():
 | 
				
			|||||||
            logger.info(e)
 | 
					            logger.info(e)
 | 
				
			||||||
        return ctype
 | 
					        return ctype
 | 
				
			||||||
    async def proxy_url(self, current, path):
 | 
					    async def proxy_url(self, current, path):
 | 
				
			||||||
 | 
					        if proxy_server is None:
 | 
				
			||||||
 | 
					            return data["upstream"]
 | 
				
			||||||
 | 
					        jdata = None
 | 
				
			||||||
        data = {}
 | 
					        data = {}
 | 
				
			||||||
        data_list = [data]
 | 
					        data_list = [data]
 | 
				
			||||||
        if path is None:
 | 
					        if path is None:
 | 
				
			||||||
@@ -64,18 +70,13 @@ class ProxyElem():
 | 
				
			|||||||
            data["proxied"] = False
 | 
					            data["proxied"] = False
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            data["proxy"] = self.proxy
 | 
					            data["proxy"] = self.proxy
 | 
				
			||||||
        if proxy_server is None:
 | 
					 | 
				
			||||||
            return data["upstream"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        jdata = None
 | 
					 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            async with self.session() as session:
 | 
					            async with self.local() as session:
 | 
				
			||||||
                resp = await session.post(proxy_server, json=data_list)
 | 
					                resp = await session.post(proxy_server, json=data_list)
 | 
				
			||||||
                text = await resp.text()
 | 
					                text = await resp.text()
 | 
				
			||||||
                jdata = json.loads(text)
 | 
					                jdata = json.loads(text)
 | 
				
			||||||
        except Exception as e:
 | 
					        except Exception as e:
 | 
				
			||||||
            logger.info(e)
 | 
					            logger.info(e)
 | 
				
			||||||
 | 
					 | 
				
			||||||
        if isinstance(jdata, list) and len(jdata) == 1:
 | 
					        if isinstance(jdata, list) and len(jdata) == 1:
 | 
				
			||||||
            return jdata[0]
 | 
					            return jdata[0]
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
@@ -268,7 +269,7 @@ async def rewrite(current, proxy):
 | 
				
			|||||||
        if isinstance(proxy_server, str):
 | 
					        if isinstance(proxy_server, str):
 | 
				
			||||||
            ndata = ""
 | 
					            ndata = ""
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
                async with proxy.session() as session:
 | 
					                async with proxy.local() as session:
 | 
				
			||||||
                    resp = await session.post(proxy_server, json=links)
 | 
					                    resp = await session.post(proxy_server, json=links)
 | 
				
			||||||
                    link_text = await resp.text()
 | 
					                    link_text = await resp.text()
 | 
				
			||||||
            except Exception as e:
 | 
					            except Exception as e:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user