Skip to content

Instantly share code, notes, and snippets.

View WietseWind's full-sized avatar
⌨️
Focusing

Wietse Wind WietseWind

⌨️
Focusing
View GitHub Profile
@WietseWind
WietseWind / paychan.json
Last active July 20, 2023 13:14
PayChan in Xumm
// Creating the channel
{
"txjson": {
"TransactionType": "PaymentChannelCreate",
"Amount": "1000000",
"Destination": "rfHn6cB5mmqZ6fHZ4fdemCDSxqLTijgMwo",
"PublicKey": "037E3F11237DF2E0EBFE3B5872A5BB76F1C05DE079BA44E157E7896F0AFC7F7BE8", // Only needed if not the signer
"SettleDelay": 1
}
}
@WietseWind
WietseWind / convert.js
Last active May 5, 2023 12:24
Hex <> Number <> UTF-8 in Node
// Uint32 max: 4294967295
// 1500474479
console.log(
parseInt(Buffer.from('Yolo', 'utf-8').toString('hex'), 16)
)
console.log(
Buffer.from(Number(1500474479).toString(16), 'hex').toString('utf-8')
)
@WietseWind
WietseWind / erconfig.txt
Created May 2, 2023 13:23
PBR Different Route @ ER (Policy Based Routing)
# Modify route
set protocols static table 10 route 0.0.0.0/0 next-hop 10.200.0.113
set firewall modify PBR rule 20 description LAN1
set firewall modify PBR rule 20 source address 10.150.5.0/24
set firewall modify PBR rule 20 modify table 10
set firewall modify PBR rule 30 description LAN2
set firewall modify PBR rule 30 source address 10.50.5.0/24
@WietseWind
WietseWind / snmp.js
Created April 27, 2023 20:28
SNMP APC Netbotz 200 - Get temp & Switch Relay with NodeJS
var snmp = require ("net-snmp");
var session = snmp.createSession("10.2.1.151", "private")
const relayOid = '1.3.6.1.4.1.318.1.1.10.4.4.4.1.5.0.1'
const outletOid = '1.3.6.1.4.1.318.1.1.10.4.5.4.1.5.0.1'
var oids = [
"1.3.6.1.4.1.318.1.1.10.4.2.3.1.5.0.1", // temp 1
"1.3.6.1.4.1.318.1.1.10.4.2.3.1.5.0.4", // temp 4
@WietseWind
WietseWind / xumm-twitter-impersonation.mjs
Last active April 7, 2023 19:49
Find Twitter Impersonators
import { TwitterApi } from 'twitter-api-v2'
const client = new TwitterApi({
appKey: 'xxxxx',
appSecret: 'xxxxx',
})
const foundUsers = await client.v1.searchUsers('xumm wallet');
const seen = []
@WietseWind
WietseWind / firewall-hookscript.ts
Created April 6, 2023 21:15
HookScript (Typescript) Hooks Firewall
class ByteSet {
@lazy
static readonly dataSize: u32 = 32;
constructor(public bytes: ByteArray) {
if (bytes.length != ByteSet.dataSize)
rollback("", pack_error_code(bytes.length));
}
has(n: u8): bool {
@WietseWind
WietseWind / savings-hookscript.ts
Created April 6, 2023 21:14
HookScript (Hooks Typescript) savings
function hook(reserved: i32)
{
etxn_reserve(1)
const savings_account = new HookParam<Account>({
name: "savings_account",
description: 'The account the rounded savings are sent to'
})
const dest_accid = savings_account.get(
new Account(util_accid("rfCarbonVNTuXckX6x2qTMFmFSnm6dEWGX")))
@WietseWind
WietseWind / up.bash
Created March 22, 2023 21:29
Auto run dotnet Docker container & config nginx
#!/bin/bash
cpt=${PWD##*/} # to assign to a variable
cpt=${result:-/} # to correct for the case where PWD=/
cpt=$(printf '%q\n' "${PWD##*/}")
cpt=${cpt,,}
rm -f /etc/nginx/sites-enabled/$cpt
cp /etc/nginx/template/template-vhost /etc/nginx/sites-enabled/$cpt
@WietseWind
WietseWind / index.mjs
Created March 20, 2023 14:49
Async/Sync check accounts for balance & TrustLine balance
import { XrplClient } from 'xrpl-client'
const account = 'rpKJsRsvKXt5JwV2PFRnvfkEH47MEWpVYo'
const client = new XrplClient()
let marker
let pages = 0
let accounts = 0
@WietseWind
WietseWind / test.mjs
Created February 15, 2023 22:44
Xumm WebSocket test
import { Xumm } from 'xumm'
import WebSocket from 'ws'
const xumm = new Xumm('xxxxxx', 'yyyyyy')
const payload = await xumm.payload?.create({ TransactionType: "SignIn" })
console.log(payload.refs.websocket_status)
const ws = new WebSocket(payload.refs.websocket_status)