Skip to content

Instantly share code, notes, and snippets.

@DRN88
DRN88 / memcached-rpmbuild.sh
Last active March 27, 2023 07:07
Build memcached RPMs on CentOS 7
#!/bin/bash
# Set version
VERSION="1.4.33"
# Dependencies
yum -y install rpmdevtools automake gcc make wget libevent-devel perl-Test-Simple cyrus-sasl-devel
# Create rpmbuild directory structure
rpmdev-setuptree
# Download source
[ ! -f /root/rpmbuild/SOURCES/memcached-${VERSION}.tar.gz ] && wget "http://memcached.org/files/memcached-${VERSION}.tar.gz" -P /root/rpmbuild/SOURCES/
# Build from archive. memcached-1.4.29/memcached.spec
@DRN88
DRN88 / easyrsa3-quick-wildcardcert
Last active January 15, 2024 16:54
easyrsa3-quick-wildcardcert
#!/bin/bash
FQDN="domain.local"
CERT_FILENAME="wildcard.${FQDN}"
CERT_COMMONNAME="*.${FQDN}"
wget "https://github.com/OpenVPN/easy-rsa/archive/master.zip"
unzip master.zip
mv easy-rsa-master/easyrsa3/ .
rm -rf master.zip easy-rsa-master/
@DRN88
DRN88 / vmware-vsphere-cli-ubuntu1604.sh
Last active August 9, 2016 12:35
vmware-vsphere-cli-ubuntu1604.sh
#!/bin/bash
# Install required packages
apt -y update
apt -y install perl-doc libssl-dev libxml-libxml-perl libmodule-build-perl libsoap-lite-perl libdevel-stacktrace-perl libclass-data-inheritable-perl libconvert-asn1-perl libcrypt-openssl-rsa-perl libcrypt-x509-perl libexception-class-perl libclass-methodmaker-perl libdata-dump-perl libsoap-lite-perl libnet-inet6glue-perl libdata-uuid-libuuid-perl
# Install perl modules with specific version
PERL_MM_USE_DEFAULT=1 cpan install BINGOS/ExtUtils-MakeMaker-6.96.tar.gz LEONT/Module-Build-0.4205.tar.gz GBARR/libnet-1.22.tar.gz GAAS/libwww-perl-5.837.tar.gz PERLER/UUID-Random-0.04.tar.gz
# Unattended vspherecli install
@DRN88
DRN88 / vmware-vsphere-cli-centos7.sh
Created August 9, 2016 14:14
vmware-vsphere-cli-centos7.sh
#!/bin/bash
# Install required packages
yum makecache all
yum -y install openssl-devel cpan perl-Devel-StackTrace perl-Class-Data-Inheritable perl-Convert-ASN1 perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-X509 perl-Exception-Class perl-Archive-Zip perl-Path-Class perl-Try-Tiny perl-Crypt-SSLeay perl-Class-MethodMaker perl-Data-UUID perl-Data-Dump perl-SOAP-Lite perl-XML-SAX perl-XML-NamespaceSupport perl-libxml-perl perl-XML-LibXML perl-Socket6 perl-IO-Socket-INET6 perl-Net-INET6Glue
# Install perl modules with specific version
PERL_MM_USE_DEFAULT=1 cpan install BINGOS/ExtUtils-MakeMaker-6.96.tar.gz LEONT/Module-Build-0.4205.tar.gz GBARR/libnet-1.22.tar.gz GAAS/libwww-perl-5.837.tar.gz PERLER/UUID-Random-0.04.tar.gz
# Unattended vspherecli install
@DRN88
DRN88 / genpw.py
Created September 14, 2016 12:50
genpw.py generates salted sha512 passwords (random or user input)
#!/usr/bin/python3
# http://serverfault.com/questions/330069/how-to-create-an-sha-512-hashed-password-for-shadow
# http://stackoverflow.com/questions/2257441/random-string-generation-with-upper-case-letters-and-digits-in-python
# http://stackoverflow.com/questions/9079036/detect-python-version-at-runtime
# http://security.stackexchange.com/questions/51959/why-are-salted-hashes-more-secure-for-password-storage
# https://pymotw.com/2/getpass/
# https://docs.python.org/2/library/crypt.html
import crypt
@DRN88
DRN88 / xferlog-typemap.json
Last active October 27, 2016 14:47
csv2es xferlog mapping file for elasticsearch
{
"dynamic": "true",
"properties": {
"current-time": {"type": "date", "format": "EEE MMM D HH:mm:ss yyyy"},
"transfer-time": {"type": "integer", "index" : "not_analyzed"},
"remote-host": {"type": "ip", "index" : "not_analyzed"},
"file-size": {"type": "integer", "index" : "not_analyzed"},
"filename": {"type": "string", "index" : "not_analyzed"},
"transfer-type": {"type": "string", "index" : "not_analyzed"},
"special-action-flag": {"type": "string", "index" : "not_analyzed"},
@DRN88
DRN88 / openssl-template.conf
Created May 9, 2017 14:20
An example OpenSSL Config for quick CSR generation
#
# 1. Edit Certificate details in this file
# 2. Always Generate a new 4096 strong private key for a new CSR:
# openssl genrsa -out <FQDN-NAME-HERE>.key 4096
# 3. Generate new CSR:
# openssl req -config <FQDN-NAME-HERE>.conf -new -key <FQDN-NAME-HERE>.key -out <FQDN-NAME-HERE>.csr
#
###
### DO NOT EDIT THIS SECTION
@DRN88
DRN88 / haproxy-merge-configs.sh
Last active June 9, 2022 22:17
HAProxy main config generator from conf.d configs
#!/bin/bash
#
# 1. Read and validate config files in conf.d folder: NN_configname.conf
# 2. Merge them to '.haproxy-candidate.cfg'
# 3. Validate the candidate config with haproxy
# 4. If the candidate config is valid overwrite haproxy.cfg
#
MAIN_CONFIG="/etc/haproxy/haproxy.cfg"
TEMP_CONFIG="/etc/haproxy/.haproxy-candidate.cfg"
CONFD_DIR="/etc/haproxy/conf.d"
@DRN88
DRN88 / gist:c312450067d998b6cdbef0c4ddebe684
Created May 25, 2017 09:41
A haproxy systemd service to run haproxy-merge-configs.sh before starting haproxy
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
EnvironmentFile=/etc/sysconfig/haproxy
ExecStartPre=/etc/haproxy/haproxy-merge-configs.sh
ExecStart=/usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid $OPTIONS
ExecReload=/bin/kill -USR2 $MAINPID
@DRN88
DRN88 / send-aws-sns-sms.sh
Last active January 11, 2023 13:46
Send aws sns sms messages with bash. Zabbix
#!/bin/bash
#
# 1, Create AWS IAM user with a policy allowing only AWS SNS Publish command
# 2, Install awscli with 'yum -y install awscli' on zabbix server
# 3, Add /bin/bash shell for zabbix user: usermod -s /bin/bash zabbix
# 4, Deploy this script to: /etc/zabbix/send-aws-sns-sms.sh
# 5, Edit this script and define the required variables
# 6, Run the script manually to test
# 7, Use the script in Zabbix. Create a new Media Type -> Script
# Use zabbix documentation for the script parameter setup