Skip to content

Instantly share code, notes, and snippets.

@Zibri
Zibri / 24c256br.c
Created Aug 28, 2021
24c256 backup and restore
View 24c256br.c
/*
Utility to dump and restore a 24c256 eeprom.
(Changing the defines it will work with other eeproms too.)
Remember that 24c256 has 16 bit addressing.
Smaller ones have 8 bit addressing.
By Zibri.
@Zibri
Zibri / dump_i2c_eeprom.c
Last active Aug 27, 2021 — forked from gquere/dump_i2c_eeprom.c
dump I2C EEPROM memory from Linux device ioctl
View dump_i2c_eeprom.c
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/i2c-dev.h>
#define READ_SIZE (256)
#define NB_PAGES (128)
@Zibri
Zibri / megarefresh.sh
Last active Jul 26, 2021
Refresh MEGA.NZ accounts from expiring.
View megarefresh.sh
#!/bin/bash
# install megacmd from mega.nz first.
# put your usernames and passwords
# run this once a month :D
while read a b;do
mega-login &>/dev/null $a $b && mega-logout &>/dev/null && echo refreshed $a || echo error $a
done <<EOF
email1 password1
email2 password2
@Zibri
Zibri / bars.s
Created May 8, 2020
Vertical bars record by Zibri/RamJam
View bars.s
;---------------------------------------
; Vertical Bars
; By Zibri/RamJam 2020
;---------------------------------------
.ORG $2f5
boot
SEI
newline TSX
@Zibri
Zibri / paste_this_in_js_console.js
Last active Mar 21, 2020
Minimal javascript IRC client in console
View paste_this_in_js_console.js
function irc(nickname, server, chan, onmsg, onjoin) {
nickname = nickname || "nick_" + new Date().getTime().toString(36) + new Date().getMilliseconds().toString(36)
chan = chan || "Z" + new Date().getTime().toString(18) + Math.random().toString(36).substring(2)
server = server || "irc.unrealircd.org"
var init = 0
var ws = new WebSocket("wss://" + server);
var s = (c,l)=>setTimeout(console.log.bind(this, "%c%s", "font-size: 14px; color:" + c, new Date().toLocaleString("it") + ": " + l))
ws.onmessage = m=>{
if (m.data.indexOf("PING") == 0)
ws.send(m.data.replace("PI", "PO"));
@Zibri
Zibri / KMS_office.cmd
Created Jan 18, 2020 — forked from CHEF-KOCH/KMS_office.cmd
KMS server Windows
View KMS_office.cmd
@echo off
title Microsoft Office 2019 versions are supported!&cls&echo
============================================================================&echo
#Project: Activating Microsoft software products for FREE without software&echo
============================================================================&echo.&echo
#Supported products:&echo - Microsoft Office Standard 2019&echo - Microsoft Office Professional Plus 2019&echo.&echo.&(if exist
"%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16")&(if exist
"%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16")&(for /f %%x in ('dir /b
..\root\Licenses16\ProPlus2019VL*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul)&(for /f %%x in ('dir /b
..\root\Licenses16\ProPlus2019VL*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul)&echo.&echo
@Zibri
Zibri / crt.css
Last active Dec 1, 2019
CRT effect with flickering scanlines and RGB grid.
View crt.css
// CRT effect with flickering scanlines and RGB grid.
// By zibri@zibri.org
// <html class="crt"> </html>
@keyframes flicker {
50% {
top: -3px
}
}
@Zibri
Zibri / gitclean.sh
Last active Mar 28, 2021
Bash script to remove all revisions from github or gist repository.
View gitclean.sh
#!/bin/bash
#
# By Zibri (2019)
#
# Usage: gitclean username password giturl
#
gitclean ()
{
odir=$PWD;
if [ "$#" -ne 3 ]; then
@Zibri
Zibri / zibri_ssh.patch
Last active Mar 11, 2020
Patch for openssh adding option "-Z" so specify source port of connection of both ssh and scp)
View zibri_ssh.patch
diff -u openssh-7.6p1/scp.c openssh-7.6p1Z/scp.c
--- openssh-7.6p1/scp.c 2020-01-15 17:20:57.000000000 +0200
+++ openssh-7.6p1Z/scp.c 2020-01-15 17:19:37.699437700 +0200
@@ -153,6 +153,9 @@
/* This is the program to execute for the secured connection. ("ssh" or -S) */
char *ssh_program = _PATH_SSH_PROGRAM;
+/* This is used to store the source_port specified by -Z */
+char *source_port = NULL;
+
@Zibri
Zibri / browser_otp.js
Last active Aug 11, 2019
OTP NodeJS and pure Javascript one-liner
View browser_otp.js
// This code produces a different 6 digits OTP every 30 seconds.
// numDigits must be between 1 and 8
otp = await (async (secret,numDigits)=>(Array.prototype.reduce.call(new Uint8Array(await crypto.subtle.digest('SHA-512',new TextEncoder().encode(secret+(Math.floor(new Date().getTime()/30000)).toString(16)))), (a,b,c)=>((((a*257) ^ b) >>> 0) % (10**numDigits)) )).toString().padStart(numDigits,"0"))
("test_secret",6)
OR
Object.defineProperty(window, 'otp', { get: async (secret="test_secret",numDigits=6)=>(Array.prototype.reduce.call(new Uint8Array(await crypto.subtle.digest('SHA-512',new TextEncoder().encode(secret+(Math.floor(new Date().getTime()/30000)).toString(16)))), (a,b,c)=>((((a*257) ^ b) >>> 0) % (10**numDigits)) )).toString().padStart(numDigits,"0") });