Dublin Traceroute is a NAT-aware multipath traceroute tool that extends the Paris-traceroute technique to enumerate ECMP load-balanced paths and detect NATs. It forges UDP packets with custom payloads to control the UDP checksum, which is used as a per-flow identifier and embedded in the IP ID field for NAT correlation. The system listens for ICMP Time Exceeded and Destination Unreachable responses, matches them to sent probes using IP ID (IPv4) or payload length (IPv6), and computes a NAT ID from checksum differences. Output is provided in JSON or DOT format for visualization. The repository contains two independent implementations: a primary C++ library/CLI using libtins and jsoncpp, and an experimental Go implementation with IPv6 support and additional tooling (routest for integration testing). The Go implementation demonstrates cleaner separation of concerns with reusable network protocol modules (ICMP, UDP, IPv6) and a layered protocol abstraction.
npkill is a TypeScript CLI/TUI application that scans filesystems to find node_modules (and other ecosystem build/dependency directories) consuming disk space, then interactively or programmatically deletes them. The core engine (Npkill class) exposes RxJS observable streams for scanning, size calculation, newest-file detection, deletion, and logging, with a worker_threads-based parallel directory traversal. The CLI layer adds a raw-mode interactive terminal UI with cursor navigation, multi-select deletion, search filtering, JSON/NDJSON output modes, --dry-run, .npkillrc config file support, and user-defined profiles. It ships both as a bin executable and as a programmatic Node library per API.md.
MooTool is a cross-platform developer toolbox with over 30 utilities including JSON formatting, HTTP client, regex testing, encryption/decryption, color picker, diff viewer, QR code, cron expressions, translation, image processing, PDF manipulation, code runtime, and more. The repository contains three concurrent implementations: a legacy Java Swing desktop application (with FlatLaf theming and MyBatis/SQLite persistence), an Electron+React+TypeScript rewrite (using CodeMirror, pdf-lib, and native IPC bridges), and a Tauri 2 (Rust+React) version with additional native features like screen capture, system tray, and updater integration. A macOS native SwiftUI app is also provided as a preview. The architecture is modular per tool, with shared contracts across platforms, session tracking, operation history, and vault-based note storage with Git versioning. Key entry points include the Java MainFrame, the Electron main process (electron/main/index.ts), and the Tauri Rust backend commands. Data flows are entirely local (SQLite, file vault, settings JSON) with no cloud dependency except automated translation APIs and optional update checks. External dependencies include Java runtime, Git, protoc, Tesseract OCR, system keyring, and translation web services (Google, Bing).
ImNodeFlow is a C++ library that provides node-based editor functionality for Dear ImGui applications. It enables developers to create visual programming interfaces with customizable nodes, input/output pins, and bezier curve connections. The library handles all aspects of the node editor including grid management, node rendering, link rendering, user interactions (dragging, clicking, popup menus), and connection logic. The architecture centers around the ImNodeFlow class which manages the infinite grid, nodes, and links. Custom nodes are created by deriving from BaseNode and implementing the draw() method for node content. The system uses a retained-mode approach for nodes and links while leveraging ImGui's immediate-mode rendering for the UI. Key features include zoom/pan support, connection filtering, customizable styling, and popup events for right-click and dropped links. While primarily a UI component library, the repository includes specialized mathematical utilities that could be reused independently. The bezier math implementation for connection rendering and the context wrapper for zoom/pan functionality demonstrate particularly strong encapsulation and could be extracted for use in other projects.
FreeStuffDev is a static website built with Astro that curates a categorized list of free tools and services for developers. It consists of a collection of Markdown files (over 900 entries) with frontmatter metadata (title, link, thumbnail, tags, etc.), which are rendered at build time into pages like the home page, tag filters, and alternative suggestions. The site is fully client-side for search, sorting, and favorites (via localStorage). It has no backend or API, and relies on GitHub for contribution. The codebase is straightforward and well-organized, demonstrating a clean content-driven static site pattern. It is not a software application in the traditional sense but a content directory, though its architecture is a standard Astro application.
GraphvizOnline is a client-side Single Page Application (SPA) designed for editing and rendering Graphviz DOT language diagrams directly within the browser. The architecture is purely frontend, utilizing the Ace Editor library for syntax highlighting and `viz.js` (Graphviz compiled to JavaScript/WebAssembly) for rendering. The application manages state via URL parameters and hash fragments, enabling shareable links and presentation modes without backend dependencies. It functions as a self-contained static web tool, relying on bundled dependencies for core functionality.
The RevokeMsgPatcher is a Windows Forms application designed to patch instant messaging clients (primarily Tencent's WeChat and QQ) to prevent message recall and enable multiple simultaneous instances. The application operates by modifying binary files of the target applications at specific offsets or through pattern-based searches, guided by a version-specific patching database stored in JSON format. The architecture is monolithic, consisting of a single executable that embeds patching data as resources. Key components include a user interface for selecting the target application and version, a patching engine that applies the binary modifications, and a data layer (exemplified by JsonData.cs) responsible for parsing the JSON patch definitions. The workflow involves user selection, loading of the appropriate patch set, application of patches to the target binaries, and launching the patched application. While the tool effectively achieves its goals, it faces inherent challenges due to the fragile nature of binary patching. The patching logic is tightly coupled to specific byte sequences, requiring frequent updates to keep pace with target application releases. The project employs a two-tier strategy (exact offset patches for specific versions and pattern-based ranges for version intervals) to mitigate this, but maintenance remains high. Despite these challenges, the project demonstrates practical engineering in managing version-specific patches and provides a reusable pattern for JSON-driven binary modification systems.