Skip to main content

A simple file streamer over websockets.

Project description

Firecrest Streamer

A simple command-line interface (CLI) tool to stream files over WebSocket connections.


✨ Features

  • Send and receive files securely via WebSocket.
  • Simple CLI interface for both client and server modes.
  • Shared secret based authentication.

🧰 Installation

(Optional) Create a virtual environment

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip

Install Firecrest Streamer

pip install firecrest-streamer

🚀 Usage

Run as a Client

To send or receive files, you need the secret coordinates issued by the Firecrest Streamer server when a new transfer is initiated.

Receive a file:

streamer receive --coordinates [secret-coordinates] --path [destination-path]

Send a file:

streamer send --coordinates [secret-coordinates] --path [file-to-send]

Note: The --coordinates value must match the one provided by the server.


Run as a Server

You can also run your own Firecrest Streamer server to handle file transfers.

Start a server to send files:

streamer server --secret [your-secret-string] send --path [file-to-send]

Start a server to receive files:

streamer server --secret [your-secret-string] receive --path [destination-path]

Tip: Use a unique --secret string to protect your server session.


🧑‍💻 Development

Run from source

pip install -r requirements.txt
cd src
python -m streamer server --secret [your-secret-string] send --path [file-to-send]
python -m streamer receive --coordinates [secret-coordinates] --path [destination-path]

📦 Distribution

To build and publish a new version to PyPI:

python3 -m build --wheel
twine upload dist/*

Note: Your PyPI API token should be stored in the local .pypirc file.


📝 License

This project is licensed under the BSD-3-Clause license. See the LICENSE file for details.

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

firecrest_streamer-0.0.21.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

firecrest_streamer-0.0.21-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file firecrest_streamer-0.0.21.tar.gz.

File metadata

  • Download URL: firecrest_streamer-0.0.21.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for firecrest_streamer-0.0.21.tar.gz
Algorithm Hash digest
SHA256 ca674f49c5616a1270124d8634958cf464e6d27c065524bf629d520ac1447173
MD5 420519d910d72b914d60abed45469617
BLAKE2b-256 526f383178a8b642a60de619aa16c810bc8d20aa2e9c780a0a672b6ae139995a

See more details on using hashes here.

File details

Details for the file firecrest_streamer-0.0.21-py3-none-any.whl.

File metadata

File hashes

Hashes for firecrest_streamer-0.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 114d747ec2de9a41f543a4f14987e26e5dba9f81722b5b922f4d10700b284ef4
MD5 ab124c96aa1b4668abe648a681e4293c
BLAKE2b-256 f3cf96772552bf0c6374f3c8fcccb400f319074e702f8e52e56ec4e4012d8e7e

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