Skip to content

Instantly share code, notes, and snippets.

View gabonator's full-sized avatar
👨‍🏭
at work

Gabriel Valky gabonator

👨‍🏭
at work
View GitHub Profile
@gabonator
gabonator / client.js
Last active May 5, 2024 20:36
raw socket websocket client
var net = require('net');
var socket = net.connect(8080, "localhost", () => {
var request = "GET / HTTP/1.1\r\nHost: " + "localhost" + "\r\n\r\n";
var rawResponse = "";
socket.write(`
GET / HTTP/1.1
Host: localhost
Connection: Upgrade
@gabonator
gabonator / w5500client.ino
Created May 1, 2024 22:10
wiznet 5500 keyes ks0304
// Ks0304 Keyestudio W5500 ETHERNET DEVELOPMENT BOARD (WITHOUT POE)
// minimal http client code with "EthernetWebServer" library from "Khoi Hoang"
#define SerialDebug Serial
#define DEBUG_ETHERNET_GENERIC_PORT SerialDebug
#define _ETG_LOGLEVEL_ 0
#define USE_THIS_SS_PIN 10
#define SENDCONTENT_P_BUFFER_SZ 512
#include <SPI.h>
#define ETHERNET_LARGE_BUFFERS
@gabonator
gabonator / mailclient.c
Created April 30, 2024 07:59
sknicchall
typedef unsigned char undefined;
typedef unsigned char byte;
typedef unsigned char dwfenc;
typedef unsigned int dword;
typedef long long longlong;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef unsigned char undefined1;
typedef unsigned short undefined2;
@gabonator
gabonator / btable.html
Created April 5, 2024 12:36
bootstrap table
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="author" content="Gabriel Valky">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">
<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.22.2/dist/bootstrap-table.min.css">
</head>
@gabonator
gabonator / ocdlog.txt
Created February 29, 2024 14:50
open ocd protocol sniffer
ide->ocd+$qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+;memory-tagging+#ec
ocd->ide+
ocd->ide+
ocd->ide$PacketSize=4000;qXfer:memory-map:read+;qXfer:features:read+;qXfer:threads:read+;QStartNoAckMode+;vContSupported+#02
ide->ocd+
ide->ocd$vMustReplyEmpty#3a
ocd->ide+$#00
ide->ocd+
ide->ocd$QStartNoAckMode#b0
@gabonator
gabonator / test.sh
Created November 15, 2023 12:08
systemd & rsyslog in container
if [[ -z "${DOCKER}" ]]; then
cat > Dockerfile <<- EOM
FROM debian:trixie
WORKDIR /app
RUN apt update -y --fix-missing && apt upgrade -y
RUN apt install -y rsyslog build-essential libsystemd-dev systemd
COPY test.sh .
ENV DOCKER 1
ENTRYPOINT ["bash", "test.sh"]
EOM
@gabonator
gabonator / index.html
Created November 7, 2023 09:35
Websockets with nodejs express server using single port
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/xterm@5.3.0/css/xterm.css"/>
<script src="https://cdn.jsdelivr.net/npm/xterm@5.3.0/lib/xterm.js"></script>
<div id="terminal">
<script>
var terminal = new window.Terminal({cursorBlink: true});
terminal.open(document.querySelector('#terminal'));
terminal.onData(e => socket.send(e));
var socket = new WebSocket(document.location.href.split("http").join("ws") + "terminal");
socket.onmessage = msg => terminal.write(msg.data);
@gabonator
gabonator / filter.py
Created November 3, 2023 09:15
Simple string filtering algorithm
# During data processing you will face a situation when you will
# need to filter out some data based on string comparison (e.g. process
# only file names which pass some condition). Things get more complicated
# if the condition is meant to be provided by user or as a CLI argument.
#
# Some of the popular methods are following:
# - wildcard matching (e.g. "*.jpg" which will return only jpeg files)
# - regex (e.g. ".*\.jpg")
# - code (e.g. filename.substr(-4) == ".jpg")
#
@gabonator
gabonator / buildcert.sh
Created September 7, 2023 07:40
file lister server with ssl in python
cd certificate
openssl genrsa -out key.pem
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem
@gabonator
gabonator / rete.html
Created August 15, 2023 15:53
rete experiment with OOK signal processing
<script src="https://cdn.jsdelivr.net/npm/rete@1.5.2/build/rete.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.14/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rete-vue-render-plugin@0.5.1/build/vue-render-plugin.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rete-connection-plugin@0.9.0/build/connection-plugin.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/alight@0.14.1/alight.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rete-area-plugin@0.2.1/build/area-plugin.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rete-context-menu-plugin@0.6.0/build/context-menu-plugin.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rete-comment-plugin@0.3.0/build/comment-plugin.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/rete-history-plugin@0.1.0/build/history-plugin.min.js"></script>