Skip to content

Instantly share code, notes, and snippets.

View abdallah's full-sized avatar
🏠
Working from home

Abdallah Deeb abdallah

🏠
Working from home
View GitHub Profile
@abdallah
abdallah / update_newrelic_whitelist.py
Created March 13, 2020 09:58
Lambda function to update whitelist with newrelic IPs
import os
import json
import boto3
import urllib3
# Set the following in the Lambda Environment variables
IP_SET_ID = os.environ.get('IP_SET_ID')
Special_IPs = os.environ.get('SPECIAL_IPS').split(',')
@abdallah
abdallah / create-acm-cert.yml
Created March 11, 2020 07:54
Create an Amazon issued certificate in ACM. Uses Route53 for DNS verification
- hosts: localhost
gather_facts: no
vars:
aws_profile: "aws_account_name"
acm_domain: "example.com"
acm_extra_domains: "*.example.com"
acm_idempotency_token: "examplecomtoken"
dns_zone: "example.com"
environment:
AWS_PROFILE: "{{ aws_profile }}"
@abdallah
abdallah / ses-sns-sqs-to-graylog.py
Created March 8, 2018 14:08
Send SNS notifications to Graylog2
import boto3
import json
import requests
from datetime import datetime
import sys
HOST = 'MY.HOST.ADDRESS'
PORT = 12201 # change if you create graylog input with different port
queue_url = 'https://sqs.ZONE.amazonaws.com/ACCOUNT/QUEUENAME'
@abdallah
abdallah / log_high_cpu.sh
Created February 28, 2018 11:39
Log PID and path of process causing high CPU usage (php-fpm)
#!/bin/bash
# very specific need
top_process=$(ps -eo pid,cmd,%cpu --sort=-%cpu | head -n2 | tail -n1)
if [[ $top_process == *sometest* ]]; then
PATHTOPROCESS=$(echo $top_process| awk '{print $1}' | xargs lsof -p | grep public_html)
logger -it HIGHCPU "Process $top_process in $PATHTOPROCESS"
fi
@abdallah
abdallah / install_nr_infra.yml
Created November 30, 2016 15:53
Install New Relic Infrastructure agent on all my servers using Ansible playbook (Ubuntu)
---
- hosts: all
tasks:
- lineinfile: "dest=/etc/newrelic-infra.yml line='license_key: YOURKEYHERE' create=yes state=present"
- apt_key:
state=present
url=https://download.newrelic.com/infrastructure_agent/gpg/newrelic-infra.gpg
- apt_repository: "repo='deb [arch=amd64] http://download.newrelic.com/infrastructure_agent/linux/apt {{ansible_distribution_release}} main' state=present update_cache=yes"
- apt: name=newrelic-infra
@abdallah
abdallah / plugin.php
Created February 10, 2016 08:33
WordPress ajax skeleton
<?php
/*
Plugin Name: My Plugin
Plugin URI: https://deeb.me
Description: 10 ways to peel an orange
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
@abdallah
abdallah / other_languages_switcher.php
Last active September 9, 2015 11:04
WPML custom switcher to show "other" languages
<?php
function other_languages_switcher(){
$languages = icl_get_languages('skip_missing=1');
foreach($languages as $l){
if(!$l['active']) {
$langs[] = '<a href="'.$l['url'].'">'.$l['language_code'].'</a>';
}
}
echo join(', ', $langs);
}
@abdallah
abdallah / 00monit
Last active August 29, 2015 14:18
Monit configurations
files in /etc/monit/conf.d/
@abdallah
abdallah / block_http1.0_ddos.sh
Created November 28, 2014 11:14
attacker using http 1.0 so that should block them but let everybody else in
iptables -I INPUT 1 -p tcp --dport 80 -m string --string "HTTP/1.0" --algo bm -j DROP
@abdallah
abdallah / README.md
Created November 4, 2014 16:17
Check SSL for domain if SHA-1 or SHA-256

Suggested usage

Put certificates list in certs.txt and run:

awk '{ print $3 }' certs.txt | while read d; do bash check_sha256.sh $d 2>/dev/null; done | grep OK