Projects

0Dial.net

Canada's first Non-Pay Phone service, offering phone service to communities that no longer have payphones — for free.

AQR Sandbox Mod

A live mod toolkit for the Steam (macOS) version of the game All Quiet Roads. It patches the game locally to add unlimited road pieces, disable game over, control vehicle spawn rates and turn off leaderboard uploads, with a Python (tkinter) control panel for changing mods while the game runs. Built in C# (.NET 8) with shell install, patch and restore scripts; not affiliated with the game's developers.

Yealink OpenVPN Config Converter

A Python script, published in 0Dial's open-source utilities repo, that converts standard OpenVPN .ovpn client files with embedded certificates into the .tar archive Yealink IP phones (T4U series: T48U, T46U, T42U, etc.) need for their built-in OpenVPN client. It's for sysadmins and VoIP engineers deploying VPN access on Yealink desk phones without repackaging configs by hand. Pure Python standard library, no external dependencies.

More open-source projects on GitLab

  • icloudpd-security-key — A fork of icloudpd, the iCloud Photos downloader, that can sign in to Apple IDs protected by FIDO2 hardware security keys, with the key plugged into the server or into your laptop through fido-relay-helper. It handles Advanced Data Protection by asking your iPhone, iPad or Mac to approve web access, and shows clearer help pages for sign-in errors in the web UI. Written in Python and tested live downloading about 67,000 photos with ADP on; MIT licensed.
  • fido-relay-helper — A small service that runs on the computer your security key is plugged into, so headless tools like icloudpd can request a key tap over a private network such as Tailscale. It only signs for allowed sites (apple.com by default), requires a shared secret, rate-limits requests and pops a desktop notification so you only tap when you started the sign-in. Python 3.10+ using python-fido2, with service files for Linux, macOS and Windows; AGPL-3.0.
  • cipher-solver — A web page that tries to break classical ciphers on English text: paste ciphertext and it suggests the most likely plaintext, cipher type and key. It handles Caesar, Atbash, affine, substitution, Vigenère/Beaufort, running key, homophonic and number-encoded ciphers, using quadgram and 7-gram English scoring with hill climbing, annealing and beam search. Runs entirely in your browser in a JavaScript Web Worker, with no server and no tracking.
  • app-chrony — A fork of the Home Assistant Community chrony add-on, for people running a more serious network time setup on Home Assistant. It adds true NTP peering, NTS (Network Time Security), stronger authentication keys (SHA and AES), allow lists, extra servers, GPS/PPS reference clocks via gpsd, and a status page. Installs as a separate "Chrony (NTP peering)" add-on; packaged with Docker and s6-overlay, MIT licensed from Paul Sinclair's original.
  • A Better Barcode Scanner — A Home Assistant add-on that books Grocy kitchen stock from a USB barcode scanner, for Grocy users who want to consume, purchase, transfer and inventory items just by scanning. The scanner plugs into a separate Raspberry Pi that runs a small relay and pairs with the add-on, which then talks to Grocy. Written in Python with a web UI, and includes PLU code support for produce.
  • Joes File Deleter — onepass, a command-line tool that writes one pass of random bytes over every file in a directory, keeping each file's length and fsyncing before moving on. It can also replace file and folder names with random names and delete the directory afterwards, and without --yes it only lists what it would touch. Python 3.11+ for macOS and Linux, using only the standard library.
  • 0Dial Website — The source for the 0Dial.net website, the site for Canada's first Non-Pay Phone service. It's a plain static HTML site with pages covering 0Dial's features, terms, how to get and use the service, and donations.