-
Notifications
You must be signed in to change notification settings - Fork 38
/
githubEmail.txt
1 lines (1 loc) · 12.6 KB
/
githubEmail.txt
1
javascript:(function()%7Basync%20function%20initGitEmailFinder()%7Bif(%2F(%3F%3C%3Dgithub%5C.com%5C%2F)%5Cw%2B%2F.exec(window.location.href)%3F.%5B0%5D)%7Bvar%20ele%20%3D%20(t)%20%3D%3E%20document.createElement(t)%3Bvar%20attr%20%3D%20(o%2C%20k%2C%20v)%20%3D%3E%20o.setAttribute(k%2C%20v)%3Bvar%20a%20%3D%20(l%2C%20r)%20%3D%3E%20r.forEach(a%20%3D%3E%20attr(l%2C%20a%5B0%5D%2C%20a%5B1%5D))%3Bvar%20cn%20%3D%20(ob%2C%20nm)%20%3D%3E%20ob.getElementsByClassName(nm)%3Bvar%20tn%20%3D%20(ob%2C%20nm)%20%3D%3E%20ob.getElementsByTagName(nm)%3Bvar%20gi%20%3D%20(ob%2C%20nm)%20%3D%3E%20ob.getElementById(nm)%3Bfunction%20inlineStyler(elm%2Ccss)%7BObject.entries(JSON.parse(css.replace(%2F(%3F%3C%3D%3A)%5Cs*(%5Cb%7C%5CB)(%3F%3D.%2B%3F%3B)%2Fg%2C'%22').replace(%2F(%3F%3C%3D%3A%5Cs*.%2B%3F)%3B%2Fg%2C'%22%2C').replace(%2F%5Ba-zA-Z-%5D%2B(%3F%3D%3A)%2Fg%2C%20k%3D%3E%20k.replace(%2F%5E%5Cb%2F%2C'%22').replace(%2F%5Cb%24%2F%2C'%22')).replace(%2F%5Cs*%2C%5Cs*%7D%2Fg%2C'%7D'))).forEach(kv%3D%3E%20%7B%20elm.style%5Bkv%5B0%5D%5D%20%3D%20kv%5B1%5D%7D)%3B%7Dfunction%20topZIndexer()%7Blet%20n%20%3D%20new%20Date().getTime()%20%2F%201000000%3Blet%20r%20%3D%20(n%20-%20Math.floor(n))%20*%20100000%3Breturn%20(Math.ceil(n%2Br)%20*%2010)%3B%7Dfunction%20loadingElm()%20%7Bvar%20loaD%20%3D%20document.createElement(%22div%22)%3BloaD.setAttribute(%22id%22%2C%20%22loader-elm%22)%3Bdocument.body.appendChild(loaD)%3BloaD.style.top%20%3D%20%226%25%22%3BloaD.style.left%20%3D%20%2250%25%22%3BloaD.style.position%20%3D%20%22fixed%22%3BloaD.style.zIndex%20%3D%20%2210001%22%3BloaD.innerHTML%20%3D%20'%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20%20%20%20%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%220%200%2024%2030%22%20style%3D%22enable-background%3Anew%200%200%2050%2050%3B%22%3E%20%20%20%20%3Crect%20x%3D%220%22%20y%3D%2210%22%20width%3D%224%22%20height%3D%220%22%20fill%3D%22%23333%22%20opacity%3D%220.2%22%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22opacity%22%20values%3D%220.2%3B%201%3B%20.2%22%20begin%3D%220s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22height%22%20values%3D%2210%3B%2020%3B%2010%22%20begin%3D%220s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22y%22values%3D%2210%3B%205%3B%2010%22%20begin%3D%220s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%3C%2Frect%3E%20%20%20%20%3Crect%20x%3D%228%22%20y%3D%2210%22%20width%3D%224%22%20height%3D%2210%22%20fill%3D%22%23333%22%20%20opacity%3D%220.2%22%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22opacity%22%20values%3D%220.2%3B%201%3B%20.2%22%20begin%3D%220.15s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22height%22%20values%3D%2210%3B%2020%3B%2010%22%20begin%3D%220.15s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22y%22%20values%3D%2210%3B%205%3B%2010%22%20begin%3D%220.15s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%3C%2Frect%3E%20%20%20%20%3Crect%20x%3D%2216%22%20y%3D%2210%22%20width%3D%224%22%20height%3D%2210%22%20fill%3D%22%23333%22%20%20opacity%3D%220.2%22%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22opacity%22%20values%3D%220.2%3B%201%3B%20.2%22%20begin%3D%220.3s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22height%22%20values%3D%2210%3B%2020%3B%2010%22%20begin%3D%220.3s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%20%20%3Canimate%20attributeName%3D%22y%22%20values%3D%2210%3B%205%3B%2010%22%20begin%3D%220.3s%22%20dur%3D%22555ms%22%20repeatCount%3D%22indefinite%22%20%2F%3E%20%20%20%20%3C%2Frect%3E%20%20%3C%2Fsvg%3E'%3B%7DloadingElm()%3Basync%20function%20multiFetchDoc(urls)%7Blet%20res%20%3D%20await%20Promise.all(urls.map(e%20%3D%3E%20fetch(e)))%3Blet%20text%20%3D%20await%20Promise.all(res.filter(r%3D%3E%20(r.status%20%3E%20199%20%26%26%20r.status%20%3C%20305)).map(e%20%3D%3E%20e.text()))%3Breturn%20text.map(t%3D%3E%20new%20DOMParser().parseFromString(t%2C'text%2Fhtml'))%3B%7Dasync%20function%20multiPatchCheck(urls)%7Bvar%20unqHsh%20%3D%20(a%2Co)%20%3D%3E%20a.filter(i%3D%3E%20o.hasOwnProperty(i)%20%3F%20false%20%3A%20(o%5Bi%5D%20%3D%20true))%3Blet%20res%20%3D%20await%20Promise.all(urls.map(e%20%3D%3E%20fetch(e)))%3Blet%20texts%20%3D%20await%20Promise.all(res.filter(r%3D%3E%20(r.status%20%3E%20199%20%26%26%20r.status%20%3C%20305)).map(e%20%3D%3E%20e.text()))%3Breturn%20unqHsh(texts.map(t%3D%3E%20%2F%5Cb%5B%5Cw%5C.%5C-%5C%2B%5D%2B%40%5B%5Cw%5C-%5D%2B%5C.%5Ba-zA-Z%5D%7B2%2C13%7D(%5C.%5Ba-zA-Z%5D%7B2%2C13%7D%7C%5Cb)%2Fi.exec(t)%3F.%5B0%5D)%3F.filter(t%3D%3E%20!%2Fusers.noreply.github%2F.test(t))%2C%7B%7D)%3B%7Dasync%20function%20getPatchLinksFromRepos(arr)%7Bvar%20unqHsh%20%3D%20(a%2Co)%20%3D%3E%20a.filter(i%3D%3E%20o.hasOwnProperty(i)%20%3F%20false%20%3A%20(o%5Bi%5D%20%3D%20true))%3Blet%20docs%20%3D%20await%20multiFetchDoc(arr)%3Bvar%20commits%20%3D%20unqHsh(docs.map(doc%3D%3E%20Array.from(doc.getElementsByClassName('d-none%20js-permalink-shortcut')).map(elm%3D%3E%20elm.href))%3F.flat()%3F.flat()%2C%7B%7D)%3F.map(url%3D%3E%20url.replace(%2F%5C%2Ftree%5C%2F%2Fg%2C'%2Fcommit%2F')%20%2B%20'.patch')%3Breturn%20commits%3B%7Dasync%20function%20getRepos(urls)%7Bvar%20docs%20%3D%20await%20multiFetchDoc(urls)%3Blet%20next_page%20%3D%20Array.from(docs%3F.%5B0%5D.getElementsByTagName('a')).filter(elm%3D%3E%20%2F%5C%3Fafter%5C%3D%2F.test(elm.href)%20%26%26%20%2Fnext%2Fi.test(elm.innerText)).map(elm%3D%3E%20elm.href)%3F.%5B0%5D%3Bvar%20repos%20%3D%20Array.from(docs%3F.%5B0%5D.getElementsByTagName('li')).filter(li%20%3D%3E%20li.getElementsByTagName('a')%3F.%5B0%5D%3F.getAttribute('itemprop')%20%3D%3D%20'name%20codeRepository'%20%26%26%20!%2FForked%20from%2F.test(li.innerText)).map(li%20%3D%3E%20li.getElementsByTagName('a')%3F.%5B0%5D.href)%3Bvar%20displayed_email%20%3D%20%2F%5Cb%5B%5Cw%5C.%5C-%5C%2B%5D%2B%40%5B%5Cw%5C-%5D%2B%5C.%5Ba-zA-Z%5D%7B2%2C13%7D(%5C.%5Ba-zA-Z%5D%7B2%2C13%7D%7C%5Cb)%2Fi.exec(docs%3F.%5B0%5D%3F.body%3F.innerText)%3F.%5B0%5D%3Breturn%20%7Bnext_page%3Anext_page%2Crepos%3Arepos%2Cdisplayed_email%3Adisplayed_email%7D%3B%7Dasync%20function%20loopThroughRepos()%7Bvar%20unqHsh%20%3D%20(a%2Co)%20%3D%3E%20a.filter(i%3D%3E%20o.hasOwnProperty(i)%20%3F%20false%20%3A%20(o%5Bi%5D%20%3D%20true))%3Bvar%20subArr%20%3D%20(r%2C%20n)%20%3D%3E%20r.reduceRight((a%2Cb%2Cc%2Cd)%20%3D%3E%20%5B...a%2C%20d.splice(0%2Cn)%5D%2C%5B%5D)%3Bvar%20contain_arr%20%3D%20%5B%5D%3Bvar%20path%20%3D%20%2F(%3F%3C%3Dgithub%5C.com%5C%2F)%5Cw%2B%2F.exec(window.location.href)%3F.%5B0%5D%3Bvar%20urls%20%3D%20%5B'https%3A%2F%2Fgithub.com%2F'%2Bpath%20%2B%20%22%3Ftab%3Drepositories%22%5D%3Blet%20index%20%3D%2010%3Blet%20loading_elm%20%3D%20gi(document%2C'loader-elm')%3Blet%20loop_elm%20%3D%20ele('div')%3Bloading_elm.appendChild(loop_elm)%3Ba(loop_elm%2C%5B%5B'id'%2C'loop_elm'%5D%5D)%3BinlineStyler(loop_elm%2C%60%7Bcolor%3A%20red%3B%20font-size%3A2em%3B%20transform%3A%20translate(-90px%2C0px)%3B%7D%60)%3Bfor(let%20i%3D0%3B%20i%3Cindex%3B%20i%2B%2B)%7Bloop_elm.innerText%20%3D%20'checking%20repos%20from%20page%20'%20%2B%20(i%2B1)%3Bif(urls%20%26%26%20contain_arr.length%20%3D%3D%200)%7Blet%20page_data%20%3D%20await%20getRepos(urls)%3Burls%20%3D%20page_data%3F.next_page%20%3F%20%5Bpage_data%3F.next_page%5D%20%3A%20null%3Blet%20repos%20%3D%20page_data.repos%20%3F%20subArr(page_data.repos%2C5)%20%3A%20null%3Bif(repos)%7Bfor(let%20n%3D0%3B%20n%20%3C%20repos.length%3B%20n%2B%2B)%7Bloop_elm.innerText%20%3D%20'checking%20'%2B((n%2B1)*5)%2B'%20of%20'%2B((repos.length)*5)%2B'%20repos%20from%20page%20'%20%2B%20(i%2B1)%3Blet%20urls%20%3D%20await%20getPatchLinksFromRepos(repos%5Bn%5D)%3Blet%20emails%20%3D%20await%20multiPatchCheck(urls)%3Bif(emails%3F.length%20%26%26%20emails.some(m%3D%3E%20%2F%40%2F.test(m)))%7Bemails.forEach(m%3D%3E%20contain_arr.push(m))%3Bi%20%3D%20201%3Bbreak%3B%7D%7D%7Dif(page_data%3F.displayed_email)%20contain_arr.push(page_data%3F.displayed_email)%3Bif(page_data%3F.next_page%20%3D%3D%20undefined)%7Bi%20%3D%20201%3Bbreak%7D%7D%7Dreturn%20unqHsh(contain_arr%2C%7B%7D)%3B%7Dvar%20all_emails%20%3D%20await%20loopThroughRepos()%3Bdocument.body.removeChild(document.getElementById(%22loader-elm%22))%3Bfunction%20displayTextWidth(text%2C%20font)%20%7Bvar%20myCanvas%20%3D%20displayTextWidth.canvas%20%7C%7C%20(displayTextWidth.canvas%20%3D%20document.createElement(%22canvas%22))%3Bvar%20context%20%3D%20myCanvas.getContext(%222d%22)%3Bcontext.font%20%3D%20font%3Bvar%20metrics%20%3D%20context.measureText(text)%3Breturn%20metrics.width%3B%7Dfunction%20domplate(output)%20%7Bvar%20el%20%3D%20document.createElement('textarea')%3Bdocument.body.appendChild(el)%3Bel.value%20%3D%20output%3Bel.select()%3Bdocument.execCommand('copy')%3Bel.outerHTML%20%3D%20''%3B%7Dfunction%20setQuickliCSS(main_cont_id)%7Bif(gi(document%2C%60%24%7Bmain_cont_id%7D_style%60))%20gi(document%2C%60%24%7Bmain_cont_id%7D_style%60).outerHTML%20%3D%20''%3Blet%20csselm%20%3D%20ele('style')%3Ba(csselm%2C%5B%5B'class'%2C%60%24%7Bmain_cont_id%7D_style%60%5D%5D)%3Bdocument.head.appendChild(csselm)%3Bcsselm.innerHTML%20%3D%20%60.copy_pill%20%7Bbackground%3A%20%231c1c1c%3Bcolor%3A%20%23A0A0A0%3Bborder-radius%3A%200.2em%3Bpadding%3A%208px%3Bcursor%3Apointer%3Bfont-size%3A%201em%3B%7D.copy_pill%3Ahover%20%7Bbackground%3A%20linear-gradient(-45deg%2C%20%23ee7752%2C%20%23e73c7e%2C%20%2323a6d5%2C%20%2323a6d5%2C%20%2323d5ab)%3Bbackground-size%3A%20400%25%20400%25%3Banimation%3A%20gradient_quickli%202s%20ease%20infinite%3B%7D%40keyframes%20gradient_quickli%20%7B0%25%20%7Bbackground-position%3A%200%25%2050%25%3B%7D50%25%20%7Bbackground-position%3A%20100%25%2050%25%3B%7D100%25%20%7Bbackground-position%3A%200%25%2050%25%3B%7D%7D%60%3B%7Dfunction%20createEmailHolder(all_emails)%7Bif(gi(document%2C'pop_container'))%20gi(document%2C'pop_container').outerHTML%20%3D%20''%3BsetQuickliCSS('git_email_css')%3Blet%20cont%20%3D%20ele('div')%3Bdocument.body.appendChild(cont)%3Ba(cont%2C%5B%5B%22id%22%2C%20%22pop_container%22%5D%5D)%3BinlineStyler(cont%2C%60%7Bposition%3A%20fixed%3B%20top%3A%2050px%3B%20left%3A%2040%25%3B%20z-index%3A%24%7BtopZIndexer()%7D%3B%20background%3A%20%231c1c1c%3B%7D%60)%3Blet%20cls_btn%20%3D%20ele('div')%3Bcont.appendChild(cls_btn)%3Bcls_btn.innerHTML%20%3D%20%60%3Csvg%20style%3D%22border-radius%3A%202em%3B%20height%3A%2030px%3B%20width%3A%2030px%3B%20transform%3A%20rotate(45deg)%3B%20cursor%3Apointer%3B%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cg%20style%3D%22transform%3A%20scale(1%2C%201)%22%20stroke-width%3D%221%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20transform%3D%22translate(2%2C%202)%22%20stroke%3D%22%23e21212%22%20stroke-width%3D%228%22%3E%3Cpath%20d%3D%22M47.806834%2C19.6743435%20L47.806834%2C77.2743435%22%20transform%3D%22translate(49%2C%2050)%20rotate(0)%20translate(-49%2C%20-50)%20%22%2F%3E%3Cpath%20d%3D%22M76.6237986%2C48.48%20L19.0237986%2C48.48%22%20transform%3D%22translate(49%2C%2050)%20rotate(0)%20translate(-49%2C%20-50)%20%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E%60%3Bcls_btn.onclick%20%3D%20()%3D%3E%20%7Bcont.outerHTML%20%3D%20''%7D%3Blet%20copy_all%20%3D%20ele('div')%3Bcont.appendChild(copy_all)%3Bcopy_all.innerText%20%3D%20all_emails.length%20%3F%20'Copy%20All'%20%3A%20'no%20emails%20found'%3Bif(all_emails.length)%20%7Ba(copy_all%2C%5B%5B'class'%2C'copy_pill'%5D%2C%5B'title'%2C'copy%20all'%5D%5D)%3Bcopy_all.onclick%20%3D%20()%3D%3E%20%7Blet%20emails%20%3D%20Array.from(document.getElementsByClassName('email_pill')).map(elm%3D%3E%20elm.innerText).reduce((a%2Cb)%3D%3E%20a%2B'%5Ct'%2Bb)%3Bdomplate(emails.trim())%3Bcopy_all.innerText%20%3D%20document.getElementsByClassName('email_pill').length%2B'%20email'%2B(all_emails.length%20%3D%3D%201%20%3F%20''%20%3A's')%2B'%20copied%20to%20clipboard'%3B%7D%3B%7Dlet%20pill_cont%20%3D%20ele('div')%3Bcont.appendChild(pill_cont)%3BinlineStyler(pill_cont%2C%60%7Btext-align%3A%20center%3B%20display%3A%20grid%3B%20grid-template-columns%3A%20%24%7Ball_emails.length%20%3F%20all_emails.map(m%3D%3E%20Math.ceil(displayTextWidth(m)*1.8)%2B'px%20').reduce((a%2Cb)%3D%3E%20a%2Bb)%20%3A%20'100px'%7D%3B%20grid-gap%3A6px%3B%7D%60)%3Ball_emails.forEach(email%3D%3E%20%7Blet%20pill%20%3D%20ele('pill')%3Ba(pill%2C%5B%5B'class'%2C'copy_pill%20email_pill'%5D%2C%5B'title'%2C'copy'%5D%5D)%3Bpill_cont.appendChild(pill)%3Bpill.innerText%20%3D%20email%3Bpill.onclick%20%3D%20()%3D%3E%20%7Bcopy_all.innerText%20%3D%20all_emails.length%20%3F%20'Copy%20All'%20%3A%20'no%20emails%20found'%3Bdomplate(email)%7D%3B%7D)%3B%7DcreateEmailHolder(all_emails)%3B%7D%7DinitGitEmailFinder()%7D)()