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.2.tar.gz (5.8 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.2-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: syryn-0.1.2.tar.gz
  • Upload date:
  • Size: 5.8 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.2.tar.gz
Algorithm Hash digest
SHA256 6f6a0aae0420afc0a5195a18c67e4abcd448d20c453a19b32e6655858e10b4ca
MD5 dbf61eae29b0413702d966bbd43e51eb
BLAKE2b-256 c315fe7855c568fda21c10731359a7b5a06062d46ce074f835d087ca2490a76a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: syryn-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 006d291f8214b56e0ea204cf43d95a06412fbd6cd546c0e0fadf3ae1a135cd16
MD5 540b5ab8de200bb2db6405ebb358b3c3
BLAKE2b-256 b4af463bf439125c2d483bb1a55f8aed6eaea5faba4882879da6c71b69ad2f84

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