Markus Unterwaditzer dc1d193b8e Move from ring to aws-lc-rs
There is some recent progress on quantum computers being discussed on
HackerNews and lobste.rs, and as a result of that timelines for when PQ
crypto would become essentially mandatory are being adjusted. Example:
https://words.filippo.io/crqc-timeline/

We pretty much have only one place in this entire codebase where any
sort of crypto happens, which is HTTPS for notifications support.

It seems that ring has essentially no plans to support PQ crypto for our
purposes. rustls/rustls#2801 briansmith/ring#1685

There's not really a reason to stick with ring, other than that it is a
prod-ready backend. But so is aws-lc-rs, and it seems to be the way
forward if you want PQ crypto today. Maybe that will change again in a
few years.

**The local dev workflow stays the same**, `cargo
build-daemon-firmware-devel` still uses rustcrypto which doesn't require
CC and doesn't have PQ crypto at all. We have no contribution docs for
how to build anything else anyway.

**Implementation:**

This opens a can of worms in building rayhunter-daemon in CI: We're
currently building ring using GCC cross-compilation toolchain from
Debian, which will build ring against **glibc**. Then we take that
library and try to link it against MUSL libc. The reason this works is
because ring's libc usage is very minimal, and the required symbols end
up being just the same as what MUSL libc exposes. The same can't be said
for aws-lc:

```
error: linking with `rust-lld` failed: exit status: 1
    = note: rust-lld: error: undefined symbol: __nanosleep64
            >>> referenced by urandom.c
            >>>               urandom.c.o:(do_backoff) in archive
```

So we fix that and link everything we build against MUSL libc (something
we should've done from the start anyway). The problem is that Debian
doesn't ship a MUSL cross-compilation toolchain, and the toolchain
available on https://musl.cc should not be downloaded directly in CI.
Which leaves us with a docker container from messense... That docker
container seems to be extremely popular for cross compilation across
GitHub projects, at least. I couldn't get other options to run reliably
(cross), or they were a too extreme change for my taste (using zig cc)
2026-04-16 10:12:24 -07:00
2026-04-16 10:12:24 -07:00
2026-04-16 10:12:24 -07:00
2026-02-24 14:19:08 -08:00
2026-04-16 10:12:24 -07:00
2026-03-30 15:11:45 -07:00
2026-03-30 15:10:59 -07:00
2026-02-24 14:19:08 -08:00
2025-11-17 12:09:25 -08:00
2026-02-24 14:19:08 -08:00
2026-02-24 14:19:08 -08:00
2025-07-16 13:20:14 -07:00
2025-11-18 21:05:22 +01:00
2026-04-16 10:12:24 -07:00
2025-03-07 11:40:37 -08:00
2026-04-15 10:57:34 -07:00
2023-11-08 15:23:19 -08:00
2025-12-03 09:56:25 -08:00
2025-03-11 15:35:47 -07:00

Rayhunter

Tests

Rayhunter Logo - An Orca taking a bite out of a cellular signal bar

Rayhunter is a project for detecting IMSI catchers, also known as cell-site simulators or stingrays. It was first designed to run on a cheap mobile hotspot called the Orbic RC400L, but thanks to community efforts, it can support some other devices as well. It's also designed to be as easy to install and use as possible, regardless of your level of technical skills, and to minimize false positives.

→ Check out the installation guide to get started.

→ To learn more about the aim of the project, and about IMSI catchers in general, please check out our introductory blog post.

→ For discussion, help, or to join the mattermost channel and get involved with the project and community check out the many ways listed here!

→ To learn more about the project in general check out the Rayhunter Book.

LEGAL DISCLAIMER: Use this program at your own risk. We believe running this program does not currently violate any laws or regulations in the United States. However, we are not responsible for civil or criminal liability resulting from the use of this software. If you are located outside of the US please consult with an attorney in your country to help you assess the legal risks of running this program.

Good Hunting!

S
Description
No description provided
Readme GPL-3.0 20 MiB
Languages
Rust 75.9%
Svelte 17.2%
TypeScript 3.7%
Shell 1.1%
Python 1.1%
Other 0.9%