Skip to main content

Bluetooth identity beacon for headless Linux devices — returns hostname, mDNS, and active network interfaces over RFCOMM.

Project description

syryn

syryn

Bluetooth identity beacon for headless Linux devices.

The name comes from Сирин — a bird from Slavic mythology known for its voice. Syryn speaks when asked: it listens on a Bluetooth RFCOMM channel and responds with the device's hostname, mDNS address, and active network interfaces.


What it does

Run syryn on a headless mini-PC. From any nearby Bluetooth device, send STATUS — and get back:

hostname: panteon-john
mdns: panteon-john.local
eth0: 192.168.0.131
wlan0: 192.168.1.44
external_ip: 93.12.34.56

No display needed. No SSH session. No prior knowledge of the IP address.


Install & quick start

1. System packages (one-time)

Debian / Ubuntu:

sudo apt install bluez python3-dev libbluetooth-dev python3-pip

Fedora / RHEL:

sudo dnf install bluez bluez-libs-devel python3-devel python3-pip

2. Enable Bluetooth

systemctl status bluetooth        # check if bluetoothd is running
sudo systemctl enable bluetooth --now   # start and enable on boot

rfkill list                       # check if adapter is blocked
sudo rfkill unblock bluetooth     # unblock if needed

3. Install syryn

pip install syryn

4. Run

syryn          # start beacon, prints port and hostname
syryn -q       # quiet mode, no output

Syryn starts a Bluetooth RFCOMM server and waits for connections. The Bluetooth device name visible to other devices is the system hostname (set via hostnamectl set-hostname <name>).

5. Connect from another device

From any device with a Bluetooth terminal app (e.g. Serial Bluetooth Terminal on Android):

  1. Pair with the headless device
  2. Connect to the Syryn service
  3. Send STATUS — receive hostname, mDNS, interfaces, external IP

Requirements

  • Linux with BlueZ (bluetoothd running)
  • Python 3.10+
  • PyBluez2, psutil, requests

Part of the SIMARGL toolkit

syryn is one of seven tools that together form an intellectual development support system:

Tool Role
simargl Task-to-code retrieval — given a task description, finds which files and modules are likely affected, using semantic similarity over git history
svitovyd Project map — scans any codebase and produces a structural map of definitions and cross-file dependencies; exposes it as an MCP server
1bcoder AI coding assistant for small local models — surgical context management, agents, parallel inference, proc scripts
yasna Session memory — indexes conversations from all AI agents so you can find what was discussed, when, and where
radogast Context drift monitor — measures how far an AI agent's conversation has drifted from the original task
vyrii Local AI web UI — chat, translate, web research, RAG, and file management via Gradio; powered by Ollama or any OpenAI-compatible backend
syryn Bluetooth identity beacon — returns hostname, mDNS, and active network interfaces for headless devices

(c) 2026 Stanislav Zholobetskyi, Oleh Andriichuk Institute for Information Recording, National Academy of Sciences of Ukraine, Kyiv PhD research: «Intelligent Technology for Software Development and Maintenance Support»

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syryn-0.1.0.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syryn-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file syryn-0.1.0.tar.gz.

File metadata

  • Download URL: syryn-0.1.0.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for syryn-0.1.0.tar.gz
Algorithm Hash digest
SHA256 63982476a3b1dc40109a6eae4135ec4de0382730c1ea6c5f096f5d8bb31f98b4
MD5 29032ea63fdf34866481948883711204
BLAKE2b-256 be3d612e5c312b24380e2d1e1fb3106a6ca82b8cbbf39fb8ec7fdf2438c9a75d

See more details on using hashes here.

File details

Details for the file syryn-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: syryn-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for syryn-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb249dde3791d7b51c6fdc481ef2f75e129a94d475da1b7a97e804c5e6525723
MD5 4a157f6943d58aaf92b9b4e717ada37f
BLAKE2b-256 cd9a108ace279111af3bff5d186c76fe4c62a4fe7eb5b64521ebdd51e3ab7063

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page