Skip to content

Instantly share code, notes, and snippets.

View ruhnet's full-sized avatar

Ruel Tmeizeh ruhnet

View GitHub Profile
@fmateo05
fmateo05 / KazooVoIPLinuxContainerrs-update.md
Last active March 7, 2024 21:05
Kazoo 2-zone cluster install with linux containers (Incus)

Kazoo 2-zone cluster using Incus Containers; Open Virtual Network (OVN); Nebula Updated

This guide described how to install Kazoo with Incus containers and some other components like OVN networking and Nebula, etc.

  • Create 4 instances on Digital ocean; 2 on one datacenter (zone 100 ie. San Francisco) and the other 2 on another datacenter (zone 200 ie. New York).

The idea is like 2 instances per zone or datacenter as desired; if you later would like to create another zone. The main Linux distribution is Rocky Linux 9

  • Login to each server using ssh with private key
@cemerson
cemerson / archive.org-scanned-book-downloader-bookmarklet.md
Last active November 18, 2024 18:15
Archive.org Scanned Book Downloader Bookmarklet

Archive.org Scanned Book Downloader Bookmarklet

A simple "1-click" javascript approach to downloading a scanned book from archive.org to read at your leisure on the device of your choosing w/out having to manually screenshot every pages of the book by hand. In short it's a glorified "Save Image As..." approach but consolidated down to "1 click". BTW there may be a much better option than this out there - I just built this as an autistic project to see if it would work.

Demo Video

Archive.org SBDL Demo

Obligatory Legal/Disclaimer:

By using this script you agree to delete all book files/images after your 1 hour or 14 days is up! I don't support using this script for any other use cases. After all, none of us have ever kept a library book past it's return date, right?

@backslash7
backslash7 / extensions_custom.conf
Last active December 18, 2020 21:00
How to strip destination number from SIP To: header and use it as DID
; Assign this context to your incoming SIP trunk settings
[custom-get-did-from-sip]
exten => _X.,1,Noop(Fixing DID using information from SIP TO header)
exten => _X.,n,NOOP(Header is: ${SIP_HEADER(TO)})
exten => _X.,n,Set(pseudodid=${SIP_HEADER(TO)})
exten => _X.,n,Set(pseudodid=${CUT(pseudodid,@,1)})
exten => _X.,n,Set(pseudodid=${CUT(pseudodid,:,2)})
exten => _X.,n,Noop(Pseudo DID is: ${pseudodid})
exten => _X.,n,Goto(from-trunk,${pseudodid},1)