Skip to content

Instantly share code, notes, and snippets.

View fawazahmed0's full-sized avatar

Fawaz Ahmed fawazahmed0

View GitHub Profile
@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 / 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 / cloudflare-tld-price-list.csv
Last active July 2, 2025 22:37
cloudflare domains price list for tlds
TLD Registration Fees Renewal Fees
example.org.uk 4.94 4.94
example.uk 4.94 4.94
example.me.uk 4.94 4.94
example.co.uk 4.94 4.94
example.date 4.16 5.16
example.trade 4.16 5.16
example.party 4.16 5.16
example.bid 4.16 5.16
example.stream 4.16 5.16
@fawazahmed0
fawazahmed0 / http-proxy.js
Last active May 23, 2025 08:05
simple http proxy
/*
client connects to proxy.example (via HTTP or HTTPS - depends on the proxy setup, but either is basically fine)
client sends "CONNECT remote-server.example:443" to the proxy server
The proxy server connects to that address
The proxy server responds to client with 200 OK, and then all future bytes are passed raw between client & the remote server
*/
// https://stackoverflow.com/questions/18340414/what-should-i-do-with-a-connect-event
const net = require('net');
const http = require('http');