Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Abdallah Deeb abdallah

🏠
Working from home
View GitHub Profile
@abdallah
abdallah / update_newrelic_whitelist.py
Created Mar 13, 2020
Lambda function to update whitelist with newrelic IPs
View update_newrelic_whitelist.py
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 Mar 11, 2020
Create an Amazon issued certificate in ACM. Uses Route53 for DNS verification
View create-acm-cert.yml
- 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 Mar 8, 2018
Send SNS notifications to Graylog2
View ses-sns-sqs-to-graylog.py
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 Feb 28, 2018
Log PID and path of process causing high CPU usage (php-fpm)
View log_high_cpu.sh
#!/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 Nov 30, 2016
Install New Relic Infrastructure agent on all my servers using Ansible playbook (Ubuntu)
View install_nr_infra.yml
---
- 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 Feb 10, 2016
WordPress ajax skeleton
View plugin.php
<?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 Sep 9, 2015
WPML custom switcher to show "other" languages
View other_languages_switcher.php
<?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 Aug 29, 2015
Monit configurations
View 00monit
files in /etc/monit/conf.d/
@abdallah
abdallah / block_http1.0_ddos.sh
Created Nov 28, 2014
attacker using http 1.0 so that should block them but let everybody else in
View block_http1.0_ddos.sh
iptables -I INPUT 1 -p tcp --dport 80 -m string --string "HTTP/1.0" --algo bm -j DROP
@abdallah
abdallah / README.md
Created Nov 4, 2014
Check SSL for domain if SHA-1 or SHA-256
View README.md

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