MCPcopy
hub / github.com/FlareSolverr/FlareSolverr / create_proxy_extension

Function create_proxy_extension

src/utils.py:55–129  ·  view source on GitHub ↗
(proxy: dict)

Source from the content-addressed store, hash-verified

53
54
55def create_proxy_extension(proxy: dict) -> str:
56 parsed_url = urllib.parse.urlparse(proxy['url'])
57 scheme = parsed_url.scheme
58 host = parsed_url.hostname
59 port = parsed_url.port
60 username = proxy['username']
61 password = proxy['password']
62 manifest_json = """
63 {
64 "version": "1.0.0",
65 "manifest_version": 3,
66 "name": "Chrome Proxy",
67 "permissions": [
68 "proxy",
69 "tabs",
70 "storage",
71 "webRequest",
72 "webRequestAuthProvider"
73 ],
74 "host_permissions": [
75 "<all_urls>"
76 ],
77 "background": {
78 "service_worker": "background.js"
79 },
80 "minimum_chrome_version": "76.0.0"
81 }
82 """
83
84 background_js = """
85 var config = {
86 mode: "fixed_servers",
87 rules: {
88 singleProxy: {
89 scheme: "%s",
90 host: "%s",
91 port: %d
92 },
93 bypassList: ["localhost"]
94 }
95 };
96
97 chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
98
99 function callbackFn(details) {
100 return {
101 authCredentials: {
102 username: "%s",
103 password: "%s"
104 }
105 };
106 }
107
108 chrome.webRequest.onAuthRequired.addListener(
109 callbackFn,
110 { urls: ["<all_urls>"] },
111 ['blocking']
112 );

Callers 1

get_webdriverFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected