Skip to content

Instantly share code, notes, and snippets.

View xElkomy's full-sized avatar
🎯
Focusing

Khaled Mohamed xElkomy

🎯
Focusing
View GitHub Profile
@MaximilianKohler
MaximilianKohler / How to send bulk-mass email.md
Last active June 10, 2025 02:29
How to send bulk/mass email with Amazon SES. 10,000-100,000 one-time emails, or thousands per day. Set up your own web server for newsletters. Mailchimp alternative

How to send bulk/mass email

The short answer is that you need to set up your own web server (Hetzner, AWS, DigitalOcean, etc.), install email software on it (Listmonk, Mailwizz, Mautic), and use an SMTP like Amazon SES. It's not that hard. If you're on Windows, Putty and FileZilla will be your main programs to access your server. When using CSV files for your contacts, you want to use UTF-8 format.

There are some detailed guides below for Sendy and Listmonk. But even if you have/want to hire someone to set it up for you, they should be able to do so for under $60 (check Fiverr). So it's still the most affordable option.

When I searched for this I had a very hard time finding a right answer because all the results were SEO blogs advertising their newsletter services (Mailchimp, Convertkit, etc.), which is not the same thing.

My use case is that I have a

javascript: (function() {
var scripts = document.getElementsByTagName("script"),
regex = /(?<=(\"|\%27|\`))\/[a-zA-Z0-9_?&=\/\-\#\.]*(?=(\"|\'|\%60))/g;
const results = new Set;
for (var i = 0; i < scripts.length; i++) {
var t = scripts[i].src;
"" != t && fetch(t).then(function(t) {
return t.text()
}).then(function(t) {
var e = t.matchAll(regex);
var payloads = ["javascript://", "javascript::", "JavaScript:", "javajavascript:script:"];
function doit(x, index) {setTimeout(function() {location.hash = "#" + x}, 1000 * index)}
payloads.forEach(doit);
@fadyosman
fadyosman / index.html
Created October 31, 2022 18:54
JS Breakpoints
<html>
<head>
<script>
function filter(F) {
F = unescape(F).replace(/\n/g, "").replace(/\r/g, "").replace(/\t/g, "").replace(/javascript:/ig, '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;');
return F;
}
function locationHashChanged(e) {
var F = location.hash.substring(1);
@fadyosman
fadyosman / example1.html
Created October 9, 2022 04:26
JS outdated library example
<head>
<title>Jquery XSS Example</title>
<script src="https://code.jquery.com/jquery-3.6.1.min.js"
integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
<script>
function init() {
$("#datepicker").datepicker({ altField: "dangerous if your input reaches here" });
};
@fadyosman
fadyosman / index.html
Created September 23, 2022 14:37
Code for testing initiators
<html>
<head>
<title>
Devtools : initiators
</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"
integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>
@RajChowdhury240
RajChowdhury240 / script.js
Created February 27, 2022 14:36
Frida Script To Bypass Android Root Detection and SSL Pinning
Java.perform(function() {
var RootPackages = ["com.noshufou.android.su", "com.noshufou.android.su.elite", "eu.chainfire.supersu",
"com.koushikdutta.superuser", "com.thirdparty.superuser", "com.yellowes.su", "com.koushikdutta.rommanager",
"com.koushikdutta.rommanager.license", "com.dimonvideo.luckypatcher", "com.chelpus.lackypatch",
"com.ramdroid.appquarantine", "com.ramdroid.appquarantinepro", "com.devadvance.rootcloak", "com.devadvance.rootcloakplus",
"de.robv.android.xposed.installer", "com.saurik.substrate", "com.zachspong.temprootremovejb", "com.amphoras.hidemyroot",
"com.amphoras.hidemyrootadfree", "com.formyhm.hiderootPremium", "com.formyhm.hideroot", "me.phh.superuser",
"eu.chainfire.supersu.pro", "com.kingouser.com"
];
${ctx:loginId}
${map:type}
${filename}
${date:MM-dd-yyyy}
${docker:containerId}
${docker:containerName}
${docker:imageName}
${env:USER}
${event:Marker}
${mdc:UserId}
@nullenc0de
nullenc0de / api-linkfinder.sh
Created August 7, 2021 11:17
Exports links and params from API documentation
wget https://gist.githubusercontent.com/nullenc0de/bb16be959686295b3b1caff519cc3e05/raw/2016dc0e692821ec045edd5ae5c0aba5ec9ec3f1/api-linkfinder.yaml
echo https://stripe.com/docs/api | hakrawler -t 500 -d 10 |nuclei -t ./linkfinder.yaml -o api.txt
cat api.txt |grep url_params |cut -d ' ' -f 7 |tr , '\n' | tr ] '\n' | tr [ '\n' |tr -d '"' |tr -d "'" |sort -u > api_params.txt
cat api.txt |grep relative_links |cut -d ' ' -f 7 |tr , '\n' | tr ] '\n' | tr [ '\n' |tr -d '"' |tr -d "'" |sort -u > api_link_finder.txt
import requests
from bbrf import BBRFClient as bbrf
API_USER = ''
API_KEY = ''
API_URL = 'https://api.hackerone.com/v1/hackers'
def get_programs(_next=None):
endpoint = '/programs?page[size]=100'