Skip to content

Instantly share code, notes, and snippets.

@fawazahmed0
fawazahmed0 / save-mhtml.js
Created April 13, 2024 21:19
save mhtml in playwright
const { chromium } = require('playwright');
const fs = require('node:fs/promises');
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('https://playwright.dev/');
const session = await context.newCDPSession(page)
const {data:mhtmlData} = await session.send('Page.captureSnapshot')
await fs.writeFile('./mynewmhtml.mhtml', mhtmlData)
@fawazahmed0
fawazahmed0 / getPublicRandom.js
Last active March 4, 2024 09:00
Rejection sampling random number
// https://drand.love/blog/2023/02/22/how-to-use-drand/
// https://research.kudelskisecurity.com/2020/07/28/the-definitive-guide-to-modulo-bias-and-how-to-avoid-it
// https://go.dev/src/crypto/rand/util.go
// https://go.dev/src/crypto/rand/util.go
//follows rejection sampling
function getPublicRandom(max, randomHexString){
if(max<=0)
throw "max cannot be <=0"
@fawazahmed0
fawazahmed0 / countries-with-iso-datetime.json
Created December 17, 2023 18:37
Countries with ISO datetime format
{
"af": {
"country_name": "afghanistan",
"country_iso3": "afg",
"country_iso_numeric": "4",
"currency_name": "afghani",
"currency_code": "afn",
"currency_number": "971"
},
"az": {
const { firefox } = require('playwright');
const path = require('path')
const fs = require('fs/promises')
async function begin(){
let filename = 'myzip.7z'
const browser = await firefox.launch({headless:true});
const page = await browser.newPage();
await page.goto('https://gofile.io/d/bsgS8S');
const fs = require('node:fs/promises')
const path = require('path')
let pathToDir = path.join(__dirname, 'src')
let pathToDest = path.join(__dirname, 'dst')
async function begin(){
await fs.mkdir(pathToDest, {recursive:true})
@fawazahmed0
fawazahmed0 / arabicdiacriticsremove.js
Last active November 21, 2022 23:49
Remove Arabic diacritics & other things for searching
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
// https://unicode.org/reports/tr18/#General_Category_Property
// https://unicode.org/reports/tr24/#Script
// https://tc39.es/ecma262/multipage/text-processing.html#table-nonbinary-unicode-properties
// \p{Symbol} also includes pipe symbol i.e | etc
let str = "ٱلَّذِينَ يُؤۡمِنُونَ بِٱلۡغَيۡبِ وَيُقِيمُونَ ٱلصَّلَوٰةَ وَمِمَّا رَزَقۡنَٰهُمۡ يُنفِقُونَ"
str = str.normalize("NFD").replace(/\p{Diacritic}|\p{Mark}|\p{Extender}|\p{Bidi_Control}/gu, "").replaceAll('ٱ','ا')
console.log(str)
const { chromium } = require('playwright');
async function begin(){
let links = ["https://www.scholarify.in/teaching-concept-objectives-characteristics-levels/","https://www.scholarify.in/learners-characteristics/","https://www.scholarify.in/factors-affecting-teaching/","https://www.scholarify.in/teaching-methods/","https://www.scholarify.in/teacher-centred-and-learner-centred-methods/","https://www.scholarify.in/offline-vs-online-methods/","https://www.scholarify.in/swayam/","https://www.scholarify.in/swayam-prabha/","https://www.scholarify.in/massive-open-online-courses-moocs/","https://www.scholarify.in/teaching-support-system/","https://www.scholarify.in/evaluation-systems/","https://www.scholarify.in/choice-based-credit-system-cbcs/","https://www.scholarify.in/computer-based-test-cbt/","https://www.scholarify.in/innovations-in-evaluation-systems/","https://www.scholarify.in/research-meaning-types-characteristics/","https://www.scholarify.in/research-methods/","https://www.scholarify.in/steps-resear
@fawazahmed0
fawazahmed0 / comment.js
Created August 31, 2022 16:50
Youtube comment scrape
const { firefox } = require('playwright');
const fs = require('fs')
const path = require('path')
async function begin(){
let count = 0
let browser = await firefox.launch({headless: false});
let context = await browser.newContext({viewport:{width:400,height:700}});
let page = await context.newPage();
let values = ["/watch?v=VikfS15Ymmw","/watch?v=ndaEzlg5xcg","/watch?v=XexTm02fumM","/watch?v=sRIB9kVzjYM","/watch?v=TSNNi7qSpCc","/watch?v=rbdVDwMbqlE","/watch?v=rfrg-Oo13GI","/watch?v=U1s48KT2KME","/watch?v=KdA-9wK_wVw","/watch?v=KrjvEvYGFUI","/watch?v=LgDKD87Cwqk","/watch?v=ck7bzakwmnQ","/watch?v=lkJ_an81sbI","/watch?v=72N0pRsSIFQ","/watch?v=QzsfZU1q-SQ","/watch?v=c8y5UTwMuyY","/watch?v=pI46I7pSc4g","/watch?v=RzYlGaLGn2o","/watch?v=bTE2wZeiVz4","/watch?v=doIfZm2iGnA","/watch?v=N-9CWbNo9Fg","/watch?v=XJpmfW60OuE","/watch?v=rh3ohhR1iYI","/watch?v=3XMPLN3cyxs","/watch?v=p-VvH1KDvAM","/watch?v=TLnmBLqIMqs","/watch?v=WHvJuEA00V0","/watch?v=3j_9p1VOTPI","/watch?v=waXGqCwoBLY","/watch?v=zHRDtD8t1v0","/wat
@fawazahmed0
fawazahmed0 / breach.txt
Last active April 17, 2024 01:59
Email and password breach collection list
# Please Note, I am sharing this, hoping this will be used for good public use, such as data analysis, penetration testing etc
# These links are already available all over the internet
# Also Note, Trying to login into someone else's account without their permission is unethical and illegal
# Collection 1
magnet:?xt=urn:btih:B39C603C7E18DB8262067C5926E7D5EA5D20E12E&dn=Collection%201&tr=udp%3a%2f%2ftracker.coppersurfer.tk%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.leechers-paradise.org%3a6969%2fannounce&tr=http%3a%2f%2ft.nyaatracker.com%3a80%2fannounce&tr=http%3a%2f%2fopentracker.xyz%3a80%2fannounce
# Collection 2-5 & Antipublic
magnet:?xt=urn:btih:D136B1ADDE531F38311FBF43FB96FC26DF1A34CD&dn=Collection%20%232-%235%20%26%20Antipublic&tr=udp%3a%2f%2ftracker.coppersurfer.tk%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.leechers-paradise.org%3a6969%2fannounce&tr=http%3a%2f%2ft.nyaatracker.com%3a80%2fannounce&tr=http%3a%2f%2fopentracker.xyz%3a80%2fannounce
@fawazahmed0
fawazahmed0 / encryption.js
Last active August 29, 2021 18:32
Encrypt and Decrypt file using web crypto api
async function encryptblob(blob) {
let iv = crypto.getRandomValues(new Uint8Array(12));
let algorithm = {
name: "AES-GCM",
iv: iv
}
let key = await crypto.subtle.generateKey(