Skip to content

Instantly share code, notes, and snippets.

View Lunik's full-sized avatar
😴
Taking a nap

Guillaume MARTINEZ Lunik

😴
Taking a nap
View GitHub Profile
@Lunik
Lunik / keybase.md
Created March 11, 2018 13:37
keybase.md

Keybase proof

I hereby claim:

  • I am Lunik on github.
  • I am falselunik (https://keybase.io/falselunik) on keybase.
  • I have a public key whose fingerprint is DFAC C0E5 6A7E A95B 8329 32E5 2C1E 8B97 4406 2665

To claim this, I am signing this object:

#!/usr/bin/env python
from sense_hat import SenseHat
import datetime
from time import sleep
import requests
import signal
import os
sense = SenseHat()
@Lunik
Lunik / test_gitlab_user.py
Created January 30, 2019 09:39
Ansible unit test for gitlab_user
from gitlab import Gitlab
from gitlab.v4.objects import *
from httmock import HTTMock # noqa
from httmock import response # noqa
from httmock import urlmatch # noqa
import requests
from ansible.module_utils.basic import AnsibleModule
from ansible.modules.source_control.gitlab_user import GitLabUser
@Lunik
Lunik / .gpgrc
Last active October 25, 2019 07:12
Agent loading in bashrc
# GPG
function start_gpg_agent() {
echo "[GPG] Starting agent"
gpg-agent --daemon 2>&1 >/dev/null
}
gpg_daemon_pid=$(pgrep gpg-agent)
ping_process=$(kill -0 "${gpg_daemon_pid}" 2>&1 >/dev/null)
if [ "$?" -ne "0" ]; then
start_gpg_agent
# SSH
SSH_AGENT_CONFIG="$HOME/.ssh-agent"
function start_ssh_agent() {
echo "[SSH] Starting agent"
ssh-agent > "${SSH_AGENT_CONFIG}"
source "${SSH_AGENT_CONFIG}" 2>&1 >/dev/null
}
if [ -f "${SSH_AGENT_CONFIG}" ]; then
source "${SSH_AGENT_CONFIG}" 2>&1 >/dev/null

Test with 100 tags

Create a tag with datadog API

curl -H "DD-API-KEY: XXXXXXX" -X POST https://api.datadoghq.eu/api/v1/events -d @- << EOF
{
  "text": "Oh boy!",
  "title": "Did you hear the news today?",
"tags": ["tag0:value0","tag1:value1","tag2:value2","tag3:value3","tag4:value4","tag5:value5","tag6:value6","tag7:value7","tag8:value8","tag9:value9","tag10:value10","tag11:value11","tag12:value12","tag13:value13","tag14:value14","tag15:value15","tag16:value16","tag17:value17","tag18:value18","tag19:value19","tag20:value20","tag21:value21","tag22:value22","tag23:value23","tag24:value24","tag25:value25","tag26:value26","tag27:value27","tag28:value28","tag29:value29","tag30:value30","tag31:value31","tag32:value32","tag33:value33","tag34:value34","tag35:value35","tag36:value36","tag37:value37","tag38:value38","tag39:value39","tag40:value40","tag41:value41","tag42:value42","tag43:value43","tag44:value44","tag45:value45","tag46:value46","tag47:value47","tag48:value48","tag49:value49","tag50:value50","
@Lunik
Lunik / totp.py
Last active April 28, 2022 21:58
TOTP implémentation in Python
# https://lunik.tiwabbit.fr/blog/articles/understanding-totp-en.html#understanding-totp
import base64
import hmac
import struct
import time
def hotp(counter, key, digits_count=6):
bytes_counter = struct.pack('>Q', counter)
key = key + '=' * ((8 - len(key)) % 8)
@Lunik
Lunik / decode.rb
Last active October 5, 2022 17:55
Decrypt Terraform state in GitLab backend
#################
# Configuration #
#################
# Retreived from GitLab rails secrets
# https://docs.gitlab.com/ee/development/application_secrets.html
# This is a dummy key base. Don't bother using it
db_key_base = "e0bc64a63258bb79d4770dfca969a1c6b646c1fe3d9fdd0caa16960bb984fcf402a554667454888eec81226d68f6d826f7c0a97f8f4d1e2f7d5a7795924aa213"
# The project ID in GitLab
@Lunik
Lunik / main.py
Created December 20, 2023 22:25
Admonition CSS demo (with flask and python-markdown)
from flask import Flask
import markdown
app = Flask(__name__)
your_text_string = """
# Coucou
## Hello