Skip to content

Bjorn Detector: One-Click SSH Access to Your Device in a radar style

License

Notifications You must be signed in to change notification settings

infinition/bjorn-detector

Repository files navigation

🧭 Bjorn Detector

Python Python3 Status License: MIT

Reddit Discord

ezgif-1-a310f5fe8f

Bjorn Detector detects Bjorn device on the local network, displays its IP address, and allows you to initiate an SSH session with a single click on Bjorn Icon. The red dot is moving around the radar while he looks for Bjorn.

📚 Table of Contents

✨ Features

  • Automatic Network Detection: Continuously checks for the device bjorn.home on the local network.
  • Interactive SSH Launcher: When bjorn.home is detected, click the Bjorn icon to automatically launch an SSH terminal connected to Bjorn’s IP address.
  • IP Display: Shows the IP address of bjorn.home upon detection.
  • Seamless Bjorn Installation: Facilitates installation of Bjorn by connecting to the device via SSH.

📌 Prerequisites

  • Python: 3.9+

  • PyQt6: 6.7.0+

    • Linux:

      sudo apt-get install -y libegl1 libpulse0

🛠️ Installation

  1. Clone the Repository:

    git clone https://github.com/infinition/bjorn-detector.git
    cd bjorn-detector
  2. Create a Virtual Environment

    python -m venv venv
  3. Activate the Virtual Environment

    On Unix or MacOS:

    source venv/bin/activate

    On Windows:

     .\venv\Scripts\activate
    • or
     powershell.exe -ExecutionPolicy Bypass -File .\venv\Scripts\Activate.ps1
  4. Upgrade pip

    python -m ensurepip
    pip install --upgrade pip
  5. Install Dependencies

    pip install -r requirements.txt
    • Deactivate the Virtual Environment

    When you're done, deactivate the environment:

     deactivate

🚀 Usage

🕵️ Scan for Bjorn Device

Run the main script:

python bjorn-detector.py

This will scan your network and find Bjorn device, One-Click Bjorn to start SSH session.

📟 Command-Line Arguments

You can customize the behavior using the following arguments:

  • --timeout: timeout in seconds. Must be between 10 to 300.

    python bjorn-detector.py --timeout 10
  • --identity-file, --i: Identity file used to connect device if set on install. Defaults to None.

    python bjorn-detector.py --identity-file identity-file.pem
    • Must be a Valid OpenSSH Key File
  • --log-level: Set the logging level (INFO or DEBUG).

    python bjorn-detector.py --log-level DEBUG

📝 Example Usage

python bjorn-detector.py

📊 Logging

Logs are maintained in logs/bjorn-detector.log with rotating file handlers to prevent excessive file sizes.

Log Levels:
    INFO: General operational messages.
    DEBUG: Detailed diagnostic information.

📫 Contact

  • Report Issues: Via GitHub.

  • Guidelines:

    • Follow ethical guidelines.
    • Document reproduction steps.
    • Provide logs and context.
  • Author: infinition

  • GitHub: infinition/bjorn-detector

🌠 Stargazers

Star History Chart


📜 License

2024 - Bjorn is distributed under the MIT License. For more details, please refer to the LICENSE file included in this repository.

About

Bjorn Detector: One-Click SSH Access to Your Device in a radar style

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages