gitwtfhub

wtf is ruby?

0xknowles/ruby — explained in plain English

Analysis updated 2026-05-18

6C++Audience · researcherComplexity · 4/5LicenseSetup · moderate

TL;DR

Custom firmware turning Xteink e-ink readers into a passive WiFi and Bluetooth signal logger, meant strictly for authorized security research and testing.

Mindmap

mindmap
  root((Ruby))
    What it does
      Replaces e-reader firmware
      Passively logs WiFi and BLE traffic
      Shows a reactive on-screen creature
    Capture
      WPA handshake detection
      BLE advertisement scanning
      Encrypted on-device log
    Optional features
      Raw pcap export
      Deauth capability off by default
      Whitelist blacklist targeting
    Requirements
      Xteink X3 or X4 hardware
      Authorized use only
      Browser based USB flashing

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Flash a compatible Xteink e-ink reader with Ruby to build a passive WiFi and Bluetooth signal logger for your own authorized security testing.

REASON 2

Capture your own network's WPA handshakes for offline auditing with tools like hashcat, on hardware you own or have written permission to test.

REASON 3

Use the on-device whitelist and blacklist menus to scope which networks and devices Ruby watches, without needing a computer.

What's in the stack?

C++ESP32-C3PlatformIO

How it stacks up

0xknowles/rubydeepak1556/node-memwatch0x-shadow/crewtrack
Stars667
LanguageC++C++C++
Last pushed2022-12-29
MaintenanceDormant
Setup difficultymoderatemoderatemoderate
Complexity4/53/53/5
Audienceresearcherdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a physical Xteink X3 or X4 e-ink reader and a Chromium-based browser for the web-based USB flashing tool.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Wtf does this do

Ruby is custom firmware that replaces the normal software on the Xteink X3 and X4 e-ink book readers, turning them into a passive WiFi and Bluetooth signal listener instead of a book reading device. Once flashed, the device no longer reads EPUBs or syncs with reading apps. Instead it listens to wireless traffic already in the air around it and logs what it hears, while a small animated creature in the corner of the screen changes its expression based on how much activity has been detected recently. On the technical side, the firmware runs on the reader's built in ESP32-C3 chip and can passively capture WiFi beacons, probe requests, and WPA handshake attempts across all channels, plus nearby Bluetooth Low Energy advertisements. None of this listening connects to or interacts with the networks or devices being observed by default. Everything that is captured gets deduplicated for on screen statistics and separately written to an encrypted daily log file on an SD card, which can be decrypted either on the device itself or with a bundled Python script on a computer. Some features are optional and turned off by default, including exporting raw capture files for offline analysis with password cracking tools, and a deauthentication feature that can send WiFi signals to disconnect devices from a network, which the README notes is currently confirmed not to work on this hardware. The device also includes on screen menus for managing settings and building lists of networks to watch, without needing a computer. The README is explicit and repeated in its warning that this tool captures traffic from everything in range, not just the owner's own devices, and states plainly that it should only be pointed at networks and devices the user owns or has explicit written authorization to test, since capturing traffic from other networks is illegal in most places. Installing the firmware is done by downloading a prebuilt file from the project's releases page and flashing it through a browser based tool over USB, with no separate toolchain required. The project is released under the MIT license. The full README is longer than what was shown.

Yoink these prompts

Prompt 1
Explain what hardware I need and how to flash Ruby onto an Xteink X3 or X4 e-ink reader.
Prompt 2
Walk me through how Ruby's encrypted on-device logging works and how to decrypt the logs later.
Prompt 3
What is the difference between Ruby's passive capture mode and its optional deauth capability?
Prompt 4
Summarize the legal warnings in Ruby's README about authorized use before I try this project.

Frequently asked questions

wtf is ruby?

Custom firmware turning Xteink e-ink readers into a passive WiFi and Bluetooth signal logger, meant strictly for authorized security research and testing.

What language is ruby written in?

Mainly C++. The stack also includes C++, ESP32-C3, PlatformIO.

What license does ruby use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is ruby to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ruby for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.