Skip to content

Instantly share code, notes, and snippets.

@samber
samber / get_current_ip.sh
Created March 14, 2016 00:04
Display currenty IP every 5 seconds
#!/bin/bash
while [ 1 ]; do
curl https://check.torproject.org/api/ip
sleep 5
done
#!/bin/bash
# We restart the docker stats command every 60 seconds to update the container list
function display_forever() { # Repeat n times command.
while [ 1 ]; do # --> C-like syntax
clear
eval "$@";
done
}
@samber
samber / ejabberd-exporter.sh
Last active October 21, 2020 00:29
Ejabberd Prometheus exporter
#!/bin/bash
NAMESPACE="ejabberd"
EJABBERD_CLI="docker exec -i ejabberd-1 ejabberdctl"
function gauge() {
metric_name=$NAMESPACE"_"$1
help_message=$2
value=$3
@samber
samber / alert-online-available-server.sh
Created March 23, 2017 07:00
Alert myself on slack when an Online server is available
#!/bin/bash
SERVER_MODEL=dedibox-xc
SLACK_WEBHOOK_URI="https://hooks.slack.com/services/VERY/SECRET/TOKEN"
while [ 1 ]; do
is_available=$(curl https://www.online.net/en/dedicated-server/${SERVER_MODEL} | grep -c 'greentxt')
if [ ${is_available} != 0 ]; then
curl -X POST -d 'payload={"channel": "#your-channel", "username": "bot", "text": "Online server available", "icon_emoji": ":rocket:"}' ${SLACK_WEBHOOK_URI}
fi
@samber
samber / openvpn-client-docker.md
Created March 31, 2017 08:31
Setup a VPN client on a linux host with Docker

DOCKERFILE:

FROM debian

ENV DEBIAN_FRONTEND="noninteractive"
INITRD="No"

ENV PACKAGES="openvpn"

@samber
samber / prometheus-to-geckoboard.gs
Last active December 7, 2017 02:48
Running Prometheus Query and exporting data into Geckoboard
#
# Google Apps Script
#
#
# To set a "cron" trigger:
# Edit > Current project's triggers > Add a new Trigger > "Main" function > Every 5 minutes
#
var GECKOBOARD_TOKEN_API = "";
@samber
samber / README.md
Created July 12, 2017 00:15
Load testing on AWS (auto-scalling-group)

First: generate scp command list. (to cp in terminal to send the file everywhere

$ ./get_ips_asg.sh  | jq -r . | sed 's#^#scp load-test.py ec2-user@#g' | sed 's#$#:/tmp/load-test.py#g'
scp load-test.py ec2-user@54.93.255.106:/tmp/load-test.py
scp load-test.py ec2-user@35.158.214.117:/tmp/load-test.py
scp load-test.py ec2-user@52.59.253.207:/tmp/load-test.py
scp load-test.py ec2-user@35.158.119.156:/tmp/load-test.py
scp load-test.py ec2-user@52.59.251.109:/tmp/load-test.py
@samber
samber / sample.json
Created September 2, 2017 15:57
D3 flame graph
{
"name": "root",
"value": 1,
"children": [
{
"name": "(root)",
"value": 1,
"children": [
{
"name": "_handle.close",
@samber
samber / script.py
Created September 20, 2017 16:59
POC gmail api (Oauth2 + Gmail api)
#!/usr/bin/env python3
import httplib2
import apiclient
from oauth2client.client import OAuth2WebServerFlow
scopes = [
'https://mail.google.com/',
'https://www.googleapis.com/auth/gmail.settings.basic',
'https://www.googleapis.com/auth/userinfo.profile',
@samber
samber / drive-to-dropbox.gs
Last active November 11, 2017 22:53
Google Apps Script for building a backup of a folder, from Google Drive to Dropbox, every night
// To store personal documents that really matter (such as tax reports, bank terms,
// employment conditions...) you should opt for a cloud storage (Dropbox, Google Drive...).
// Even if famous SaaS services might be safe enough to not make backups by ourselves, it
// may be even safer to not rely on them and setup this short script for copying a Drive folder
// into Dropbox.
// To generate a Dropbox access token, please follow this guide: http://99rabbits.com/get-dropbox-access-token/
// Don't forget to setup a cronjob:
// 1- Click on 'Edit' menu > 'Current project's triggers'