Skip to content

Instantly share code, notes, and snippets.

@brahimmachkouri
brahimmachkouri / sources.list
Created September 2, 2023 14:25
Ubuntu Jammy repositories
View sources.list
deb http://fr.archive.ubuntu.com/ubuntu/ jammy main restricted
deb http://security.ubuntu.com/ubuntu jammy-security main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ jammy universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ jammy-updates universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
@brahimmachkouri
brahimmachkouri / fabricjs_draw_rectangle.html
Last active November 25, 2022 13:56
Fabric.js : how to draw a rectangle with the mouse
View fabricjs_draw_rectangle.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>fabric Creating rect with a mouse</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1">
@brahimmachkouri
brahimmachkouri / pmx-shutdown.sh
Created November 1, 2022 17:47
Proxmox shutdown
View pmx-shutdown.sh
#!/bin/bash
# get list of VMs on the node
VMIDs=$(/usr/sbin/qm list| awk '/[0-9]/ {print $1}')
# ask them to shutdown
for VM in $VMIDs
do
/usr/sbin/qm shutdown $VM
done
@brahimmachkouri
brahimmachkouri / bytes2str.sh
Last active August 26, 2022 08:33
Hexdump to string (oneliner version)
View bytes2str.sh
#!/bin/bash
xxd -ps -c 1 $1 | awk '{ print "0x" $0 }' ORS=',' | sed s/.$// && echo
@brahimmachkouri
brahimmachkouri / GZLP01.txt
Last active June 12, 2022 21:00
Cheats Zelda The Wind Waker [PAL] (Gamecube WiiRD Code)
View GZLP01.txt
Maximum Health
003CC531 00000050
Infinite Health
003CC533 00000050
Never Lose Health
041F4A90 60000000
Never Drown
@brahimmachkouri
brahimmachkouri / install_latest_fusion_inventory.sh
Created March 9, 2022 19:01
Automatic installation of the latest version of fusioninventory in GLPI plugins directory
View install_latest_fusion_inventory.sh
#!/bin/bash
githubproject="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/latest/"
url=$(curl -Ls -o /dev/null -w %{url_effective} $githubproject)
version=${url##*/}
tag=${version:4}
wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/$version/fusioninventory-$tag.tar.bz2
glpi_install=$(find /var -type f -name glpicrypt.key | sed -E 's/\/config\/glpicrypt\.key//')
tar xvf fusioninventory-$tag.tar.bz2 -C "$glpi_install/plugins/"
chown -R www-data:www-data "$glpi_install/plugins/fusioninventory"
rm fusioninventory-$tag.tar.bz2
@brahimmachkouri
brahimmachkouri / front_matter_block_github_blog.js
Created March 9, 2022 15:56
Tampermonkey usercript for pasting the "front matter" block in a github post
View front_matter_block_github_blog.js
// ==UserScript==
// @name front_matter_block_github_blog
// @namespace brahimmachkouri
// @version 0.1
// @description Paste the "Front Matter" block for Github blogs : go in the edit post and CTRL-V
// @author Brahim Machkouri
// @include https://github.com/*/new/main/_posts
// @grant GM_setClipboard
// @match none
// ==/UserScript==
@brahimmachkouri
brahimmachkouri / portainerv2-template.json
Created March 9, 2022 14:35
Template for Portainer v2
View portainerv2-template.json
{
"version": "2",
"templates": [
{
"categories": [
"Music"
],
"description": "Airsonic is a free, web-based media streamer, providing ubiqutious access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.",
"env": [
{
View tampermonkey_hm_xmlhttp_request_promise.js
// GM_xmlhttpRequest GET
function getData(url, type = "document", usermethod = "GET") {
return new Promise((resolve, reject) => {
GM_xmlhttpRequest({
method: usermethod,
url: url,
responseType: type,
onload: function (response) {
if (response.status == 200) {
resolve(response.response);
View app.py
from tkinter import *
import webbrowser
class MyApp:
def __init__(self):
self.window = Tk()
self.window.title("My Application")
self.window.geometry("720x480")