Skip to content

Instantly share code, notes, and snippets.

View eramax's full-sized avatar
🎯
Focusing

Ahmed Morsi eramax

🎯
Focusing
View GitHub Profile
@eramax
eramax / gist:fd0950a5f54a28058f8318340242e895
Created October 14, 2023 00:29 — forked from chrisdone/gist:02e165a0004be33734ac2334f215380e
Build and run minimal Linux / Busybox systems in Qemu

Common

export OPT=/opt
export BUILDS=/some/where/mini_linux
mkdir -p $BUILDS

Linux kernel

@eramax
eramax / coder.Dockerfile
Created September 10, 2023 10:15
coder.Dockerfile
FROM ubuntu as base
LABEL maintainer="Ahmed Morsi"
ENV TZ Europe/Stockholm
ENV DEBIAN_FRONTEND noninteractive
# apps
RUN apt-get update && apt-get install -y curl tzdata nano htop cargo nodejs npm yarn build-essential git cmake locales zsh btop sudo iputils-ping wget tree jq python3 python3-pip
RUN apt-get -y autoremove
RUN apt-get -y clean
@eramax
eramax / assembly_disassembly_x86_64.sh
Last active April 12, 2023 07:22
assembly and disassembly x86 64 instructions
n() { ndisasm -b64 tmp.bin; xxd -g1 tmp.bin; xxd -b tmp.bin; rm tmp.bin; }
a() { { echo "bits 64"; echo "$@"; } > tmp.s; nasm -f bin -D ARCH_x86_64 -o tmp.bin tmp.s; n; }
h() { printf '%s' "$@" | xxd -r -p > tmp.bin; n; }
b() { binary_value=$(echo "$@" | tr -d '[:space:]\n'); hex_value=$(printf '%0*X' $(((${#binary_value}+3)/4)) "$((2#$binary_value))"); h "$hex_value"; }
hx() { h "${@//[[:space:]]/}" ; }
# nasm_build() {
# ndisasm -b 64 tmp.bin
# xxd -g1 tmp.bin
@eramax
eramax / elf64.c
Created March 18, 2023 21:51
elf64
#include <stdint.h>
#include <stdio.h>
#include <sys/mman.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
@eramax
eramax / Remove_telegram_groups.py
Created March 8, 2023 15:06
Remove telegram groups
# Remove telegram groups
# python3 -m pip install --upgrade telethon
from telethon import TelegramClient, sync
# get an Id from https://my.telegram.org/apps
api_id = 111111111111
api_hash = 'xxxxxxxxxxxxx'
# List all the group names you want to keep, the script will delete other groups.
excluded_groups = ['gp1','gp2']
class TelegramAPIs(object):
@eramax
eramax / echo.yaml
Created February 25, 2023 15:19
echo.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: echoserver
spec:
replicas: 2
selector:
matchLabels:
app: echoserver
template:
@eramax
eramax / install.sh
Created February 5, 2023 22:05 — forked from hydrz/install.sh
High Availability K3s and Kube-vip with Cilium
#!/bin/sh
set -e
set -o noglob
# Usage: ./install.sh [options]
#
# Example:
# Installing on first master node run:
# ./install --num 3 --vip 192.168.2.10 --iface eth0
# Installing on other master nodes run:
@eramax
eramax / install.sh
Created February 5, 2023 22:05 — forked from iul1an/install.sh
install k3s with cilium CNI
#!/bin/bash
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC='--flannel-backend=none --no-flannel' sh -s - \
--disable-network-policy \
--disable "servicelb" \
--disable "traefik" \
--disable "metrics-server"
sudo cat /etc/rancher/k3s/k3s.yaml > ~/.kube/config
kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.7/install/kubernetes/quick-install.yaml
@eramax
eramax / readme.md
Created February 5, 2023 22:05 — forked from xanderificnl/readme.md
alpine + k3s

/etc/update-extlinux.conf

default_kernel_opts="nomodeset quiet rootfstype=ext4 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory consoleblank=120"

update-extlinux && reboot

Install k3s

curl -sfL https://get.k3s.io | INSTALL_k3S_EXEC='--disable servicelb --no-deploy traefik --flannel-backend=none --disable-network-policy' sh -
@eramax
eramax / my_hello_world_distro.sh
Created January 25, 2023 21:44 — forked from Daniel-Abrecht/my_hello_world_distro.sh
Shellscript to build the most minimalistic linux live CD which just starts /sbin/init from the CD root directory and outputs "Hello World!"
#!/bin/bash
# Vorhandensein der Programme prüfen
MKISOFS=( $(which genisoimage mkisofs) )
if ! [ -x "$MKISOFS" ]; then echo "genisoimage aka mkisofs is missing"; exit 1; fi
if ! [ -x "$(which gcc)" ]; then echo "gcc is missing"; exit 1; fi
if ! [ -x "$(which nasm)" ]; then echo "nasm is missing"; exit 1; fi
if ! [ -x "$(which cpio)" ]; then echo "cpio is missing"; exit 1; fi
if ! [ -x "$(which tar)" ]; then echo "tar is missing"; exit 1; fi