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 / 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
@eramax
eramax / Kubernetes-Nginx-Static-Web-Apps.md
Last active August 10, 2022 11:40
Single Kubernetes Nginx To Support Unlimited Static Web Apps With Their Subdomains

The Goal

I want to be able to publish every code commit of our react app.

Azure support deployment slots, which can be used but unfortunately, there is limited count of deployment slots that you can get.

The solution

By installing nginx as a deployment on kubernetes (single instance could be fine, you don't need to have an instance for each deployment) and make sure that nginx http folder is get mounted from azure file share