pluto-siege 2.1.0__tar.gz → 2.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/PKG-INFO +46 -48
  2. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/README.md +43 -45
  3. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/__init__.py +1 -19
  4. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/cli.py +1 -1
  5. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/constants.py +1 -1
  6. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege.egg-info/PKG-INFO +46 -48
  7. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pyproject.toml +2 -3
  8. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/LICENSE +0 -0
  9. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/__main__.py +0 -0
  10. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/config.py +0 -0
  11. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/device.py +0 -0
  12. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/dsp.py +0 -0
  13. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/engine.py +0 -0
  14. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/gps.py +0 -0
  15. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/settings.py +0 -0
  16. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/sigmf.py +0 -0
  17. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/sound.py +0 -0
  18. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/__init__.py +0 -0
  19. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/screens/__init__.py +0 -0
  20. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/screens/capture.py +0 -0
  21. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/screens/loopback.py +0 -0
  22. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/screens/main_menu.py +0 -0
  23. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/screens/settings.py +0 -0
  24. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/screens/transmit.py +0 -0
  25. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/widgets/__init__.py +0 -0
  26. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege/ui/widgets/framework.py +0 -0
  27. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege.egg-info/SOURCES.txt +0 -0
  28. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege.egg-info/dependency_links.txt +0 -0
  29. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege.egg-info/entry_points.txt +0 -0
  30. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege.egg-info/requires.txt +0 -0
  31. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/pluto_siege.egg-info/top_level.txt +0 -0
  32. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/setup.cfg +0 -0
  33. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/tests/test_config.py +0 -0
  34. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/tests/test_dsp.py +0 -0
  35. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/tests/test_engine_and_ui.py +0 -0
  36. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/tests/test_gps.py +0 -0
  37. {pluto_siege-2.1.0 → pluto_siege-2.1.1}/tests/test_sigmf.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pluto_siege
3
- Version: 2.1.0
4
- Summary: PlutoSDR ISM-band RF capture and replay tool (433 MHz, 868 MHz, etc.).
3
+ Version: 2.1.1
4
+ Summary: RF Capture & Replay Tool for PlutoSDR
5
5
  Author: SketchTurnerDev
6
6
  License-Expression: GPL-3.0-or-later
7
7
  Project-URL: Homepage, https://github.com/SketchTurnerDev/pluto_siege
8
8
  Project-URL: Repository, https://github.com/SketchTurnerDev/pluto_siege.git
9
9
  Project-URL: Issues, https://github.com/SketchTurnerDev/pluto_siege/issues
10
- Keywords: 433mhz,868mhz,adalm-pluto,ham-radio,ism-band,pentesting,pluto-sdr,pluto-siege,plutosdr,plutosiege,python,radio-frequency,red-team,rf-hacking,sdr,security-tools,sigmf,subghz,wireless,wireless-security
10
+ Keywords: 433mhz,868mhz,adalm-pluto,ham-radio,pentesting,pluto-sdr,pluto-siege,plutosdr,plutosiege,python,radio-frequency,red-team,rf-hacking,sdr,security-tools,sigmf,subghz,wireless,wireless-security
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: POSIX :: Linux
13
13
  Classifier: Environment :: Console :: Curses
@@ -23,7 +23,7 @@ Dynamic: license-file
23
23
  <h1 align="center">PlutoSiege</h1>
24
24
 
25
25
  <p align="center">
26
- <strong>ISM-Band RF Capture & Replay Tool for PlutoSDR</strong>
26
+ <strong>RF Capture & Replay Tool for PlutoSDR</strong>
27
27
  </p>
28
28
 
29
29
  <p align="center">
@@ -43,12 +43,12 @@ Dynamic: license-file
43
43
 
44
44
  ## About
45
45
 
46
- **PlutoSiege** is a terminal application (TUI) and command-line utility (CLI) for recording and replaying short ISM-band RF bursts (e.g. 433 MHz, 868 MHz) from car remotes, garage doors, doorbells, and wireless sensors.
46
+ **PlutoSiege** is a terminal and command-line tool for recording and replaying short RF bursts at 433 MHz, 868 MHz, and nearby frequencies from car remotes, garage doors, doorbells, and wireless sensors.
47
47
 
48
- Built for the **ADALM-Pluto (AD9363/AD9361)** SDR architecture, it saves recordings in standard **SigMF (Signal Metadata Format)** so they can be opened in other SDR tools like URH, IQEngine, GNU Radio, or Inspectrum.
48
+ Built for ADALM-Pluto SDR hardware, it saves captures in the standard SigMF format so recordings can be opened directly in URH, IQEngine, GNU Radio, or Inspectrum.
49
49
 
50
50
  ### Hardware Compatibility
51
- Fully supports both official **Analog Devices ADALM-Pluto** hardware (Rev. B / Rev. C) and third-party clones/analogues based on the same AD9363/AD9361 transceivers (such as **Pluto Nano**, **Pluto Plus**, and other custom PlutoSDR boards).
51
+ Supports official Analog Devices ADALM-Pluto Rev. B and Rev. C boards as well as compatible AD9363 and AD9361 clones such as Pluto Nano, Pluto Plus, and custom PlutoSDR hardware.
52
52
 
53
53
  ## Features
54
54
 
@@ -64,25 +64,25 @@ Fully supports both official **Analog Devices ADALM-Pluto** hardware (Rev. B / R
64
64
 
65
65
  ## Installation
66
66
 
67
- ### 1. System Drivers (libiio)
67
+ ### 1. System Drivers
68
68
  Install the required IIO system drivers for your distribution family:
69
69
 
70
- **Debian-based (Ubuntu, Debian, Kali, Mint, etc.):**
70
+ **Debian-based:**
71
71
  ```bash
72
72
  sudo apt update && sudo apt install -y libiio0 libiio-dev libiio-utils
73
73
  ```
74
74
 
75
- **RPM-based (Fedora, RHEL, CentOS, Rocky, etc.):**
75
+ **RPM-based:**
76
76
  ```bash
77
77
  sudo dnf install -y libiio python3-iio libiio-utils
78
78
  ```
79
79
 
80
- **Arch-based (Arch Linux, Manjaro, etc.):**
80
+ **Arch-based:**
81
81
  ```bash
82
82
  sudo pacman -S libiio
83
83
  ```
84
84
 
85
- ### 2. Optional: GPS Support (gpsd)
85
+ ### 2. Optional: GPS Support
86
86
  If you plan to use GPS geotagging for SigMF recordings, install the `gpsd` daemon and tools:
87
87
 
88
88
  **Debian-based:**
@@ -116,7 +116,7 @@ Launch from any terminal:
116
116
  pluto_siege
117
117
  ```
118
118
 
119
- #### Option B: From Source (Clone Repository)
119
+ #### Option B: From Source
120
120
  Clone the repository and install dependencies:
121
121
  ```bash
122
122
  git clone https://github.com/SketchTurnerDev/pluto_siege.git
@@ -138,8 +138,6 @@ python pluto_siege.py
138
138
 
139
139
  ## Application Menu
140
140
 
141
- The main menu provides access to all core operations:
142
-
143
141
  ### 1. Capture
144
142
  Listens for incoming RF bursts on the configured receiver frequency (`rx_freq`).
145
143
  - Captures a single burst by default, or loops continuously (numbering saved bursts `[#1]`, `[#2]`, ... until stopped with `Esc` / `Q` in TUI or `Ctrl+C` in headless mode) when **Auto capture** (`--auto-capture true`) is enabled.
@@ -164,44 +162,44 @@ Configures radio parameters, trigger behavior, GPS integration, and interface pr
164
162
 
165
163
  | Flags / Parameter | Type | Default | Description |
166
164
  | :--- | :--- | :--- | :--- |
167
- | `--pluto-uri, --pu` | `str` | `usb:` | PlutoSDR `libiio` context URI (`usb:`, `usb:1.4.5`, `ip:192.168.2.1`, `local:`). |
168
- | `--rx-freq, --rf` | `int` | `433.92M` | Receiver center frequency in Hz; supports `k`/`M`/`G` suffixes and bare MHz shorthand (`70M - 6G`; e.g. `433`, `868`). |
169
- | `--sample-rate, --sr` | `int` | `2.1M` | Sample rate in SPS; supports `k`/`M` suffixes (`521k - 61.44M`). |
170
- | `--rf-bandwidth, --rb` | `int` | `0` | Analog RF filter bandwidth in Hz, or `0`/`auto` to follow `--sample-rate`; supports `k`/`M` suffixes (`0` or `200k - 56M`). |
171
- | `--rx-gain, --rg` | `float` | `15.0` | Manual RX hardware gain in dB (`-10.0 .. 74.5`). |
172
- | `--tx-gain, --tg` | `float` | `0.0` | Manual TX hardware gain in dB (`-89.75 .. 0.0`). |
173
- | `--tx-repeats, --tr` | `int` | `1` | Number of consecutive burst transmissions per replay (`1 .. 100`). |
174
- | `--auto-capture, --ac` | `bool` | `false` | Enable continuous multi-burst capture loop (`true` or `false`). |
175
- | `--auto-threshold, --at` | `bool` | `true` | Enable automatic noise floor threshold detection (`true` or `false`). |
176
- | `--auto-trigger-margin, --atm` | `float` | `8.0` | Trigger margin above noise floor in dB (`1.0 .. 30.0`; unused when `--auto-threshold` is `false`). |
177
- | `--auto-recal-seconds, --ars` | `float` | `0.0` | Periodic noise floor recalibration interval in seconds while listening, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 600.0`; unused when `--auto-threshold` is `false`). |
178
- | `--manual-threshold, --mt` | `float` | `-30.0` | Fixed trigger threshold in dBFS (`-120.0 .. 0.0`; unused when `--auto-threshold` is `true`). |
179
- | `--pre-trigger-buffers, --ptb` | `int` | `2` | Number of pre-trigger history buffers kept in memory (`1 .. 50`). |
180
- | `--min-burst-seconds, --mbs` | `float` | `0.0` | Minimum active burst duration in seconds to filter short noise spikes, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 5.0`). |
181
- | `--silence-seconds, --ss` | `float` | `0.8` | Continuous silence duration in seconds to stop recording; supports `ms`/`s` suffixes (`0.01 .. 10.0`). |
182
- | `--max-post-trigger-seconds, --mpts` | `float` | `4.0` | Maximum recording duration in seconds after trigger; supports `ms`/`s` suffixes (`0.1 .. 30.0`). |
183
- | `--rx-buffer-size, --rbs` | `int` | `32768` | DMA receive buffer size in samples (`1024 .. 1048576`). |
184
- | `--enable-gps, --eg` | `bool` | `false` | Enable GPS geolocation tagging via `gpsd` daemon (`true` or `false`). |
185
- | `--gpsd-host, --gh` | `str` | `127.0.0.1` | `gpsd` daemon hostname or IP address (unused when `--enable-gps` is `false`). |
186
- | `--gpsd-port, --gp` | `int` | `2947` | `gpsd` daemon TCP port (`1 .. 65535`; unused when `--enable-gps` is `false`). |
187
- | `--records-dir, --rd` | `str` | `./recordings` | Directory path for saving and loading SigMF recordings (`~/.pluto_siege/recordings` when installed via `pip`/`pipx`). |
188
- | `--enable-sound, --es` | `bool` | `true` | Enable acoustic sound effect cues (`true` or `false`). |
189
- | `--enable-mouse, --em` | `bool` | `true` | Enable terminal mouse support in the TUI (`true` or `false`). |
165
+ | `--pluto-uri`<br>`--pu` | `str` | `usb:` | PlutoSDR `libiio` context URI (`usb:`, `usb:1.4.5`, `ip:192.168.2.1`, `local:`). |
166
+ | `--rx-freq`<br>`--rf` | `int` | `433.92M` | Receiver center frequency in Hz; supports `k`/`M`/`G` suffixes and bare MHz shorthand (`70M - 6G`; e.g. `433`, `868`). |
167
+ | `--sample-rate`<br>`--sr` | `int` | `2.1M` | Sample rate in SPS; supports `k`/`M` suffixes (`521k - 61.44M`). |
168
+ | `--rf-bandwidth`<br>`--rb` | `int` | `0` | Analog RF filter bandwidth in Hz, or `0`/`auto` to follow `--sample-rate`; supports `k`/`M` suffixes (`0` or `200k - 56M`). |
169
+ | `--rx-gain`<br>`--rg` | `float` | `15.0` | Manual RX hardware gain in dB (`-10.0 .. 74.5`). |
170
+ | `--tx-gain`<br>`--tg` | `float` | `0.0` | Manual TX hardware gain in dB (`-89.75 .. 0.0`). |
171
+ | `--tx-repeats`<br>`--tr` | `int` | `1` | Number of consecutive burst transmissions per replay (`1 .. 100`). |
172
+ | `--auto-capture`<br>`--ac` | `bool` | `false` | Enable continuous multi-burst capture loop (`true` or `false`). |
173
+ | `--auto-threshold`<br>`--at` | `bool` | `true` | Enable automatic noise floor threshold detection (`true` or `false`). |
174
+ | `--auto-trigger-margin`<br>`--atm` | `float` | `8.0` | Trigger margin above noise floor in dB (`1.0 .. 30.0`; unused when `--auto-threshold` is `false`). |
175
+ | `--auto-recal-seconds`<br>`--ars` | `float` | `0.0` | Periodic noise floor recalibration interval in seconds while listening, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 600.0`; unused when `--auto-threshold` is `false`). |
176
+ | `--manual-threshold`<br>`--mt` | `float` | `-30.0` | Fixed trigger threshold in dBFS (`-120.0 .. 0.0`; unused when `--auto-threshold` is `true`). |
177
+ | `--pre-trigger-buffers`<br>`--ptb` | `int` | `2` | Number of pre-trigger history buffers kept in memory (`1 .. 50`). |
178
+ | `--min-burst-seconds`<br>`--mbs` | `float` | `0.0` | Minimum active burst duration in seconds to filter short noise spikes, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 5.0`). |
179
+ | `--silence-seconds`<br>`--ss` | `float` | `0.8` | Continuous silence duration in seconds to stop recording; supports `ms`/`s` suffixes (`0.01 .. 10.0`). |
180
+ | `--max-post-trigger-seconds`<br>`--mpts` | `float` | `4.0` | Maximum recording duration in seconds after trigger; supports `ms`/`s` suffixes (`0.1 .. 30.0`). |
181
+ | `--rx-buffer-size`<br>`--rbs` | `int` | `32768` | DMA receive buffer size in samples (`1024 .. 1048576`). |
182
+ | `--enable-gps`<br>`--eg` | `bool` | `false` | Enable GPS geolocation tagging via `gpsd` daemon (`true` or `false`). |
183
+ | `--gpsd-host`<br>`--gh` | `str` | `127.0.0.1` | `gpsd` daemon hostname or IP address (unused when `--enable-gps` is `false`). |
184
+ | `--gpsd-port`<br>`--gp` | `int` | `2947` | `gpsd` daemon TCP port (`1 .. 65535`; unused when `--enable-gps` is `false`). |
185
+ | `--records-dir`<br>`--rd` | `str` | `./recordings` | Directory path for saving and loading SigMF recordings (`~/.pluto_siege/recordings` when installed via `pip`/`pipx`). |
186
+ | `--enable-sound`<br>`--es` | `bool` | `true` | Enable acoustic sound effect cues (`true` or `false`). |
187
+ | `--enable-mouse`<br>`--em` | `bool` | `true` | Enable terminal mouse support in the TUI (`true` or `false`). |
190
188
 
191
189
  ### CLI-Only Options
192
190
 
193
191
  | Flags | Description |
194
192
  | :--- | :--- |
195
- | `--capture, -c` | Start in Capture mode. |
196
- | `--transmit, --tx` | Start in Transmit mode (pass a recording `#` from `--list`, `.sigmf-data` path, `'latest'`, or omit in TUI). |
197
- | `--loopback, --lb` | Run the internal digital Loopback Test. |
198
- | `--list, -l` | List available SigMF recordings in `records-dir` and exit. |
199
- | `--show-config, --sc` | Show current configuration and exit. |
200
- | `--headless, --hl` | Run in console text mode without the curses TUI (outputs plain logs without colors or live meter when redirected to a file/pipe; supports `NO_COLOR` / `FORCE_COLOR`). |
201
- | `--save, -s` | Persist CLI setting changes to `settings.json`. |
202
- | `--reset, -r` | Reset configuration to defaults and save to `settings.json`. |
203
- | `--version, -v` | Show program version and exit. |
204
- | `--help, -h` | Show help message and exit. |
193
+ | `--capture`<br>`-c` | Start in Capture mode. |
194
+ | `--transmit`<br>`--tx` | Start in Transmit mode (pass a recording `#` from `--list`, `.sigmf-data` path, `'latest'`, or omit in TUI). |
195
+ | `--loopback`<br>`--lb` | Run the internal digital Loopback Test. |
196
+ | `--list`<br>`-l` | List available SigMF recordings in `records-dir` and exit. |
197
+ | `--show-config`<br>`--sc` | Show current configuration and exit. |
198
+ | `--headless`<br>`--hl` | Run in console text mode without the curses TUI (outputs plain logs without colors or live meter when redirected to a file/pipe; supports `NO_COLOR` / `FORCE_COLOR`). |
199
+ | `--save`<br>`-s` | Persist CLI setting changes to `settings.json`. |
200
+ | `--reset`<br>`-r` | Reset configuration to defaults and save to `settings.json`. |
201
+ | `--version`<br>`-v` | Show program version and exit. |
202
+ | `--help`<br>`-h` | Show help message and exit. |
205
203
 
206
204
  ## License
207
205
 
@@ -1,7 +1,7 @@
1
1
  <h1 align="center">PlutoSiege</h1>
2
2
 
3
3
  <p align="center">
4
- <strong>ISM-Band RF Capture & Replay Tool for PlutoSDR</strong>
4
+ <strong>RF Capture & Replay Tool for PlutoSDR</strong>
5
5
  </p>
6
6
 
7
7
  <p align="center">
@@ -21,12 +21,12 @@
21
21
 
22
22
  ## About
23
23
 
24
- **PlutoSiege** is a terminal application (TUI) and command-line utility (CLI) for recording and replaying short ISM-band RF bursts (e.g. 433 MHz, 868 MHz) from car remotes, garage doors, doorbells, and wireless sensors.
24
+ **PlutoSiege** is a terminal and command-line tool for recording and replaying short RF bursts at 433 MHz, 868 MHz, and nearby frequencies from car remotes, garage doors, doorbells, and wireless sensors.
25
25
 
26
- Built for the **ADALM-Pluto (AD9363/AD9361)** SDR architecture, it saves recordings in standard **SigMF (Signal Metadata Format)** so they can be opened in other SDR tools like URH, IQEngine, GNU Radio, or Inspectrum.
26
+ Built for ADALM-Pluto SDR hardware, it saves captures in the standard SigMF format so recordings can be opened directly in URH, IQEngine, GNU Radio, or Inspectrum.
27
27
 
28
28
  ### Hardware Compatibility
29
- Fully supports both official **Analog Devices ADALM-Pluto** hardware (Rev. B / Rev. C) and third-party clones/analogues based on the same AD9363/AD9361 transceivers (such as **Pluto Nano**, **Pluto Plus**, and other custom PlutoSDR boards).
29
+ Supports official Analog Devices ADALM-Pluto Rev. B and Rev. C boards as well as compatible AD9363 and AD9361 clones such as Pluto Nano, Pluto Plus, and custom PlutoSDR hardware.
30
30
 
31
31
  ## Features
32
32
 
@@ -42,25 +42,25 @@ Fully supports both official **Analog Devices ADALM-Pluto** hardware (Rev. B / R
42
42
 
43
43
  ## Installation
44
44
 
45
- ### 1. System Drivers (libiio)
45
+ ### 1. System Drivers
46
46
  Install the required IIO system drivers for your distribution family:
47
47
 
48
- **Debian-based (Ubuntu, Debian, Kali, Mint, etc.):**
48
+ **Debian-based:**
49
49
  ```bash
50
50
  sudo apt update && sudo apt install -y libiio0 libiio-dev libiio-utils
51
51
  ```
52
52
 
53
- **RPM-based (Fedora, RHEL, CentOS, Rocky, etc.):**
53
+ **RPM-based:**
54
54
  ```bash
55
55
  sudo dnf install -y libiio python3-iio libiio-utils
56
56
  ```
57
57
 
58
- **Arch-based (Arch Linux, Manjaro, etc.):**
58
+ **Arch-based:**
59
59
  ```bash
60
60
  sudo pacman -S libiio
61
61
  ```
62
62
 
63
- ### 2. Optional: GPS Support (gpsd)
63
+ ### 2. Optional: GPS Support
64
64
  If you plan to use GPS geotagging for SigMF recordings, install the `gpsd` daemon and tools:
65
65
 
66
66
  **Debian-based:**
@@ -94,7 +94,7 @@ Launch from any terminal:
94
94
  pluto_siege
95
95
  ```
96
96
 
97
- #### Option B: From Source (Clone Repository)
97
+ #### Option B: From Source
98
98
  Clone the repository and install dependencies:
99
99
  ```bash
100
100
  git clone https://github.com/SketchTurnerDev/pluto_siege.git
@@ -116,8 +116,6 @@ python pluto_siege.py
116
116
 
117
117
  ## Application Menu
118
118
 
119
- The main menu provides access to all core operations:
120
-
121
119
  ### 1. Capture
122
120
  Listens for incoming RF bursts on the configured receiver frequency (`rx_freq`).
123
121
  - Captures a single burst by default, or loops continuously (numbering saved bursts `[#1]`, `[#2]`, ... until stopped with `Esc` / `Q` in TUI or `Ctrl+C` in headless mode) when **Auto capture** (`--auto-capture true`) is enabled.
@@ -142,44 +140,44 @@ Configures radio parameters, trigger behavior, GPS integration, and interface pr
142
140
 
143
141
  | Flags / Parameter | Type | Default | Description |
144
142
  | :--- | :--- | :--- | :--- |
145
- | `--pluto-uri, --pu` | `str` | `usb:` | PlutoSDR `libiio` context URI (`usb:`, `usb:1.4.5`, `ip:192.168.2.1`, `local:`). |
146
- | `--rx-freq, --rf` | `int` | `433.92M` | Receiver center frequency in Hz; supports `k`/`M`/`G` suffixes and bare MHz shorthand (`70M - 6G`; e.g. `433`, `868`). |
147
- | `--sample-rate, --sr` | `int` | `2.1M` | Sample rate in SPS; supports `k`/`M` suffixes (`521k - 61.44M`). |
148
- | `--rf-bandwidth, --rb` | `int` | `0` | Analog RF filter bandwidth in Hz, or `0`/`auto` to follow `--sample-rate`; supports `k`/`M` suffixes (`0` or `200k - 56M`). |
149
- | `--rx-gain, --rg` | `float` | `15.0` | Manual RX hardware gain in dB (`-10.0 .. 74.5`). |
150
- | `--tx-gain, --tg` | `float` | `0.0` | Manual TX hardware gain in dB (`-89.75 .. 0.0`). |
151
- | `--tx-repeats, --tr` | `int` | `1` | Number of consecutive burst transmissions per replay (`1 .. 100`). |
152
- | `--auto-capture, --ac` | `bool` | `false` | Enable continuous multi-burst capture loop (`true` or `false`). |
153
- | `--auto-threshold, --at` | `bool` | `true` | Enable automatic noise floor threshold detection (`true` or `false`). |
154
- | `--auto-trigger-margin, --atm` | `float` | `8.0` | Trigger margin above noise floor in dB (`1.0 .. 30.0`; unused when `--auto-threshold` is `false`). |
155
- | `--auto-recal-seconds, --ars` | `float` | `0.0` | Periodic noise floor recalibration interval in seconds while listening, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 600.0`; unused when `--auto-threshold` is `false`). |
156
- | `--manual-threshold, --mt` | `float` | `-30.0` | Fixed trigger threshold in dBFS (`-120.0 .. 0.0`; unused when `--auto-threshold` is `true`). |
157
- | `--pre-trigger-buffers, --ptb` | `int` | `2` | Number of pre-trigger history buffers kept in memory (`1 .. 50`). |
158
- | `--min-burst-seconds, --mbs` | `float` | `0.0` | Minimum active burst duration in seconds to filter short noise spikes, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 5.0`). |
159
- | `--silence-seconds, --ss` | `float` | `0.8` | Continuous silence duration in seconds to stop recording; supports `ms`/`s` suffixes (`0.01 .. 10.0`). |
160
- | `--max-post-trigger-seconds, --mpts` | `float` | `4.0` | Maximum recording duration in seconds after trigger; supports `ms`/`s` suffixes (`0.1 .. 30.0`). |
161
- | `--rx-buffer-size, --rbs` | `int` | `32768` | DMA receive buffer size in samples (`1024 .. 1048576`). |
162
- | `--enable-gps, --eg` | `bool` | `false` | Enable GPS geolocation tagging via `gpsd` daemon (`true` or `false`). |
163
- | `--gpsd-host, --gh` | `str` | `127.0.0.1` | `gpsd` daemon hostname or IP address (unused when `--enable-gps` is `false`). |
164
- | `--gpsd-port, --gp` | `int` | `2947` | `gpsd` daemon TCP port (`1 .. 65535`; unused when `--enable-gps` is `false`). |
165
- | `--records-dir, --rd` | `str` | `./recordings` | Directory path for saving and loading SigMF recordings (`~/.pluto_siege/recordings` when installed via `pip`/`pipx`). |
166
- | `--enable-sound, --es` | `bool` | `true` | Enable acoustic sound effect cues (`true` or `false`). |
167
- | `--enable-mouse, --em` | `bool` | `true` | Enable terminal mouse support in the TUI (`true` or `false`). |
143
+ | `--pluto-uri`<br>`--pu` | `str` | `usb:` | PlutoSDR `libiio` context URI (`usb:`, `usb:1.4.5`, `ip:192.168.2.1`, `local:`). |
144
+ | `--rx-freq`<br>`--rf` | `int` | `433.92M` | Receiver center frequency in Hz; supports `k`/`M`/`G` suffixes and bare MHz shorthand (`70M - 6G`; e.g. `433`, `868`). |
145
+ | `--sample-rate`<br>`--sr` | `int` | `2.1M` | Sample rate in SPS; supports `k`/`M` suffixes (`521k - 61.44M`). |
146
+ | `--rf-bandwidth`<br>`--rb` | `int` | `0` | Analog RF filter bandwidth in Hz, or `0`/`auto` to follow `--sample-rate`; supports `k`/`M` suffixes (`0` or `200k - 56M`). |
147
+ | `--rx-gain`<br>`--rg` | `float` | `15.0` | Manual RX hardware gain in dB (`-10.0 .. 74.5`). |
148
+ | `--tx-gain`<br>`--tg` | `float` | `0.0` | Manual TX hardware gain in dB (`-89.75 .. 0.0`). |
149
+ | `--tx-repeats`<br>`--tr` | `int` | `1` | Number of consecutive burst transmissions per replay (`1 .. 100`). |
150
+ | `--auto-capture`<br>`--ac` | `bool` | `false` | Enable continuous multi-burst capture loop (`true` or `false`). |
151
+ | `--auto-threshold`<br>`--at` | `bool` | `true` | Enable automatic noise floor threshold detection (`true` or `false`). |
152
+ | `--auto-trigger-margin`<br>`--atm` | `float` | `8.0` | Trigger margin above noise floor in dB (`1.0 .. 30.0`; unused when `--auto-threshold` is `false`). |
153
+ | `--auto-recal-seconds`<br>`--ars` | `float` | `0.0` | Periodic noise floor recalibration interval in seconds while listening, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 600.0`; unused when `--auto-threshold` is `false`). |
154
+ | `--manual-threshold`<br>`--mt` | `float` | `-30.0` | Fixed trigger threshold in dBFS (`-120.0 .. 0.0`; unused when `--auto-threshold` is `true`). |
155
+ | `--pre-trigger-buffers`<br>`--ptb` | `int` | `2` | Number of pre-trigger history buffers kept in memory (`1 .. 50`). |
156
+ | `--min-burst-seconds`<br>`--mbs` | `float` | `0.0` | Minimum active burst duration in seconds to filter short noise spikes, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 5.0`). |
157
+ | `--silence-seconds`<br>`--ss` | `float` | `0.8` | Continuous silence duration in seconds to stop recording; supports `ms`/`s` suffixes (`0.01 .. 10.0`). |
158
+ | `--max-post-trigger-seconds`<br>`--mpts` | `float` | `4.0` | Maximum recording duration in seconds after trigger; supports `ms`/`s` suffixes (`0.1 .. 30.0`). |
159
+ | `--rx-buffer-size`<br>`--rbs` | `int` | `32768` | DMA receive buffer size in samples (`1024 .. 1048576`). |
160
+ | `--enable-gps`<br>`--eg` | `bool` | `false` | Enable GPS geolocation tagging via `gpsd` daemon (`true` or `false`). |
161
+ | `--gpsd-host`<br>`--gh` | `str` | `127.0.0.1` | `gpsd` daemon hostname or IP address (unused when `--enable-gps` is `false`). |
162
+ | `--gpsd-port`<br>`--gp` | `int` | `2947` | `gpsd` daemon TCP port (`1 .. 65535`; unused when `--enable-gps` is `false`). |
163
+ | `--records-dir`<br>`--rd` | `str` | `./recordings` | Directory path for saving and loading SigMF recordings (`~/.pluto_siege/recordings` when installed via `pip`/`pipx`). |
164
+ | `--enable-sound`<br>`--es` | `bool` | `true` | Enable acoustic sound effect cues (`true` or `false`). |
165
+ | `--enable-mouse`<br>`--em` | `bool` | `true` | Enable terminal mouse support in the TUI (`true` or `false`). |
168
166
 
169
167
  ### CLI-Only Options
170
168
 
171
169
  | Flags | Description |
172
170
  | :--- | :--- |
173
- | `--capture, -c` | Start in Capture mode. |
174
- | `--transmit, --tx` | Start in Transmit mode (pass a recording `#` from `--list`, `.sigmf-data` path, `'latest'`, or omit in TUI). |
175
- | `--loopback, --lb` | Run the internal digital Loopback Test. |
176
- | `--list, -l` | List available SigMF recordings in `records-dir` and exit. |
177
- | `--show-config, --sc` | Show current configuration and exit. |
178
- | `--headless, --hl` | Run in console text mode without the curses TUI (outputs plain logs without colors or live meter when redirected to a file/pipe; supports `NO_COLOR` / `FORCE_COLOR`). |
179
- | `--save, -s` | Persist CLI setting changes to `settings.json`. |
180
- | `--reset, -r` | Reset configuration to defaults and save to `settings.json`. |
181
- | `--version, -v` | Show program version and exit. |
182
- | `--help, -h` | Show help message and exit. |
171
+ | `--capture`<br>`-c` | Start in Capture mode. |
172
+ | `--transmit`<br>`--tx` | Start in Transmit mode (pass a recording `#` from `--list`, `.sigmf-data` path, `'latest'`, or omit in TUI). |
173
+ | `--loopback`<br>`--lb` | Run the internal digital Loopback Test. |
174
+ | `--list`<br>`-l` | List available SigMF recordings in `records-dir` and exit. |
175
+ | `--show-config`<br>`--sc` | Show current configuration and exit. |
176
+ | `--headless`<br>`--hl` | Run in console text mode without the curses TUI (outputs plain logs without colors or live meter when redirected to a file/pipe; supports `NO_COLOR` / `FORCE_COLOR`). |
177
+ | `--save`<br>`-s` | Persist CLI setting changes to `settings.json`. |
178
+ | `--reset`<br>`-r` | Reset configuration to defaults and save to `settings.json`. |
179
+ | `--version`<br>`-v` | Show program version and exit. |
180
+ | `--help`<br>`-h` | Show help message and exit. |
183
181
 
184
182
  ## License
185
183
 
@@ -14,25 +14,7 @@
14
14
  # You should have received a copy of the GNU General Public License
15
15
  # along with this program. If not, see <https://www.gnu.org/licenses/>.
16
16
 
17
- """PlutoSDR capture and replay tool for short ISM-band bursts.
18
-
19
- A full-screen terminal application that records brief RF transmissions - car
20
- remotes, doorbells, weather stations and similar OOK/ASK devices - and replays
21
- them. Recordings are written as SigMF pairs so they can be opened in other
22
- tools as well.
23
-
24
- Usage:
25
- python3 -m pluto_siege
26
-
27
- Requires Python 3.9+, an interactive terminal, an ADALM-Pluto (or compatible
28
- AD936x device) and:
29
- pip install -r requirements.txt
30
-
31
- Transmitting is regulated. Replay only signals you are licensed or permitted to
32
- emit, into a dummy load or at the lowest gain that does the job.
33
-
34
- Author: SketchTurnerDev
35
- """
17
+ """RF Capture & Replay Tool for PlutoSDR."""
36
18
 
37
19
  from pluto_siege.constants import AUTHOR, LICENSE, VERSION
38
20
 
@@ -218,7 +218,7 @@ def build_arg_parser() -> argparse.ArgumentParser:
218
218
  """Construct the command-line argument parser for PlutoSiege."""
219
219
  parser_kwargs: dict[str, Any] = {
220
220
  "prog": "pluto_siege",
221
- "description": "PlutoSiege - ISM-band RF capture and replay tool for PlutoSDR.",
221
+ "description": "PlutoSiege - RF capture and replay tool for PlutoSDR.",
222
222
  "add_help": False,
223
223
  "allow_abbrev": False,
224
224
  "formatter_class": _PlutoHelpFormatter,
@@ -22,7 +22,7 @@ import os
22
22
  from typing import Any
23
23
 
24
24
  AUTHOR = "SketchTurnerDev" # recorded in SigMF metadata as core:author
25
- VERSION = "2.1.0"
25
+ VERSION = "2.1.1"
26
26
  LICENSE = "GPL-3.0-or-later"
27
27
  LICENSE_SHORT = "GNU GPLv3"
28
28
 
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pluto_siege
3
- Version: 2.1.0
4
- Summary: PlutoSDR ISM-band RF capture and replay tool (433 MHz, 868 MHz, etc.).
3
+ Version: 2.1.1
4
+ Summary: RF Capture & Replay Tool for PlutoSDR
5
5
  Author: SketchTurnerDev
6
6
  License-Expression: GPL-3.0-or-later
7
7
  Project-URL: Homepage, https://github.com/SketchTurnerDev/pluto_siege
8
8
  Project-URL: Repository, https://github.com/SketchTurnerDev/pluto_siege.git
9
9
  Project-URL: Issues, https://github.com/SketchTurnerDev/pluto_siege/issues
10
- Keywords: 433mhz,868mhz,adalm-pluto,ham-radio,ism-band,pentesting,pluto-sdr,pluto-siege,plutosdr,plutosiege,python,radio-frequency,red-team,rf-hacking,sdr,security-tools,sigmf,subghz,wireless,wireless-security
10
+ Keywords: 433mhz,868mhz,adalm-pluto,ham-radio,pentesting,pluto-sdr,pluto-siege,plutosdr,plutosiege,python,radio-frequency,red-team,rf-hacking,sdr,security-tools,sigmf,subghz,wireless,wireless-security
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Operating System :: POSIX :: Linux
13
13
  Classifier: Environment :: Console :: Curses
@@ -23,7 +23,7 @@ Dynamic: license-file
23
23
  <h1 align="center">PlutoSiege</h1>
24
24
 
25
25
  <p align="center">
26
- <strong>ISM-Band RF Capture & Replay Tool for PlutoSDR</strong>
26
+ <strong>RF Capture & Replay Tool for PlutoSDR</strong>
27
27
  </p>
28
28
 
29
29
  <p align="center">
@@ -43,12 +43,12 @@ Dynamic: license-file
43
43
 
44
44
  ## About
45
45
 
46
- **PlutoSiege** is a terminal application (TUI) and command-line utility (CLI) for recording and replaying short ISM-band RF bursts (e.g. 433 MHz, 868 MHz) from car remotes, garage doors, doorbells, and wireless sensors.
46
+ **PlutoSiege** is a terminal and command-line tool for recording and replaying short RF bursts at 433 MHz, 868 MHz, and nearby frequencies from car remotes, garage doors, doorbells, and wireless sensors.
47
47
 
48
- Built for the **ADALM-Pluto (AD9363/AD9361)** SDR architecture, it saves recordings in standard **SigMF (Signal Metadata Format)** so they can be opened in other SDR tools like URH, IQEngine, GNU Radio, or Inspectrum.
48
+ Built for ADALM-Pluto SDR hardware, it saves captures in the standard SigMF format so recordings can be opened directly in URH, IQEngine, GNU Radio, or Inspectrum.
49
49
 
50
50
  ### Hardware Compatibility
51
- Fully supports both official **Analog Devices ADALM-Pluto** hardware (Rev. B / Rev. C) and third-party clones/analogues based on the same AD9363/AD9361 transceivers (such as **Pluto Nano**, **Pluto Plus**, and other custom PlutoSDR boards).
51
+ Supports official Analog Devices ADALM-Pluto Rev. B and Rev. C boards as well as compatible AD9363 and AD9361 clones such as Pluto Nano, Pluto Plus, and custom PlutoSDR hardware.
52
52
 
53
53
  ## Features
54
54
 
@@ -64,25 +64,25 @@ Fully supports both official **Analog Devices ADALM-Pluto** hardware (Rev. B / R
64
64
 
65
65
  ## Installation
66
66
 
67
- ### 1. System Drivers (libiio)
67
+ ### 1. System Drivers
68
68
  Install the required IIO system drivers for your distribution family:
69
69
 
70
- **Debian-based (Ubuntu, Debian, Kali, Mint, etc.):**
70
+ **Debian-based:**
71
71
  ```bash
72
72
  sudo apt update && sudo apt install -y libiio0 libiio-dev libiio-utils
73
73
  ```
74
74
 
75
- **RPM-based (Fedora, RHEL, CentOS, Rocky, etc.):**
75
+ **RPM-based:**
76
76
  ```bash
77
77
  sudo dnf install -y libiio python3-iio libiio-utils
78
78
  ```
79
79
 
80
- **Arch-based (Arch Linux, Manjaro, etc.):**
80
+ **Arch-based:**
81
81
  ```bash
82
82
  sudo pacman -S libiio
83
83
  ```
84
84
 
85
- ### 2. Optional: GPS Support (gpsd)
85
+ ### 2. Optional: GPS Support
86
86
  If you plan to use GPS geotagging for SigMF recordings, install the `gpsd` daemon and tools:
87
87
 
88
88
  **Debian-based:**
@@ -116,7 +116,7 @@ Launch from any terminal:
116
116
  pluto_siege
117
117
  ```
118
118
 
119
- #### Option B: From Source (Clone Repository)
119
+ #### Option B: From Source
120
120
  Clone the repository and install dependencies:
121
121
  ```bash
122
122
  git clone https://github.com/SketchTurnerDev/pluto_siege.git
@@ -138,8 +138,6 @@ python pluto_siege.py
138
138
 
139
139
  ## Application Menu
140
140
 
141
- The main menu provides access to all core operations:
142
-
143
141
  ### 1. Capture
144
142
  Listens for incoming RF bursts on the configured receiver frequency (`rx_freq`).
145
143
  - Captures a single burst by default, or loops continuously (numbering saved bursts `[#1]`, `[#2]`, ... until stopped with `Esc` / `Q` in TUI or `Ctrl+C` in headless mode) when **Auto capture** (`--auto-capture true`) is enabled.
@@ -164,44 +162,44 @@ Configures radio parameters, trigger behavior, GPS integration, and interface pr
164
162
 
165
163
  | Flags / Parameter | Type | Default | Description |
166
164
  | :--- | :--- | :--- | :--- |
167
- | `--pluto-uri, --pu` | `str` | `usb:` | PlutoSDR `libiio` context URI (`usb:`, `usb:1.4.5`, `ip:192.168.2.1`, `local:`). |
168
- | `--rx-freq, --rf` | `int` | `433.92M` | Receiver center frequency in Hz; supports `k`/`M`/`G` suffixes and bare MHz shorthand (`70M - 6G`; e.g. `433`, `868`). |
169
- | `--sample-rate, --sr` | `int` | `2.1M` | Sample rate in SPS; supports `k`/`M` suffixes (`521k - 61.44M`). |
170
- | `--rf-bandwidth, --rb` | `int` | `0` | Analog RF filter bandwidth in Hz, or `0`/`auto` to follow `--sample-rate`; supports `k`/`M` suffixes (`0` or `200k - 56M`). |
171
- | `--rx-gain, --rg` | `float` | `15.0` | Manual RX hardware gain in dB (`-10.0 .. 74.5`). |
172
- | `--tx-gain, --tg` | `float` | `0.0` | Manual TX hardware gain in dB (`-89.75 .. 0.0`). |
173
- | `--tx-repeats, --tr` | `int` | `1` | Number of consecutive burst transmissions per replay (`1 .. 100`). |
174
- | `--auto-capture, --ac` | `bool` | `false` | Enable continuous multi-burst capture loop (`true` or `false`). |
175
- | `--auto-threshold, --at` | `bool` | `true` | Enable automatic noise floor threshold detection (`true` or `false`). |
176
- | `--auto-trigger-margin, --atm` | `float` | `8.0` | Trigger margin above noise floor in dB (`1.0 .. 30.0`; unused when `--auto-threshold` is `false`). |
177
- | `--auto-recal-seconds, --ars` | `float` | `0.0` | Periodic noise floor recalibration interval in seconds while listening, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 600.0`; unused when `--auto-threshold` is `false`). |
178
- | `--manual-threshold, --mt` | `float` | `-30.0` | Fixed trigger threshold in dBFS (`-120.0 .. 0.0`; unused when `--auto-threshold` is `true`). |
179
- | `--pre-trigger-buffers, --ptb` | `int` | `2` | Number of pre-trigger history buffers kept in memory (`1 .. 50`). |
180
- | `--min-burst-seconds, --mbs` | `float` | `0.0` | Minimum active burst duration in seconds to filter short noise spikes, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 5.0`). |
181
- | `--silence-seconds, --ss` | `float` | `0.8` | Continuous silence duration in seconds to stop recording; supports `ms`/`s` suffixes (`0.01 .. 10.0`). |
182
- | `--max-post-trigger-seconds, --mpts` | `float` | `4.0` | Maximum recording duration in seconds after trigger; supports `ms`/`s` suffixes (`0.1 .. 30.0`). |
183
- | `--rx-buffer-size, --rbs` | `int` | `32768` | DMA receive buffer size in samples (`1024 .. 1048576`). |
184
- | `--enable-gps, --eg` | `bool` | `false` | Enable GPS geolocation tagging via `gpsd` daemon (`true` or `false`). |
185
- | `--gpsd-host, --gh` | `str` | `127.0.0.1` | `gpsd` daemon hostname or IP address (unused when `--enable-gps` is `false`). |
186
- | `--gpsd-port, --gp` | `int` | `2947` | `gpsd` daemon TCP port (`1 .. 65535`; unused when `--enable-gps` is `false`). |
187
- | `--records-dir, --rd` | `str` | `./recordings` | Directory path for saving and loading SigMF recordings (`~/.pluto_siege/recordings` when installed via `pip`/`pipx`). |
188
- | `--enable-sound, --es` | `bool` | `true` | Enable acoustic sound effect cues (`true` or `false`). |
189
- | `--enable-mouse, --em` | `bool` | `true` | Enable terminal mouse support in the TUI (`true` or `false`). |
165
+ | `--pluto-uri`<br>`--pu` | `str` | `usb:` | PlutoSDR `libiio` context URI (`usb:`, `usb:1.4.5`, `ip:192.168.2.1`, `local:`). |
166
+ | `--rx-freq`<br>`--rf` | `int` | `433.92M` | Receiver center frequency in Hz; supports `k`/`M`/`G` suffixes and bare MHz shorthand (`70M - 6G`; e.g. `433`, `868`). |
167
+ | `--sample-rate`<br>`--sr` | `int` | `2.1M` | Sample rate in SPS; supports `k`/`M` suffixes (`521k - 61.44M`). |
168
+ | `--rf-bandwidth`<br>`--rb` | `int` | `0` | Analog RF filter bandwidth in Hz, or `0`/`auto` to follow `--sample-rate`; supports `k`/`M` suffixes (`0` or `200k - 56M`). |
169
+ | `--rx-gain`<br>`--rg` | `float` | `15.0` | Manual RX hardware gain in dB (`-10.0 .. 74.5`). |
170
+ | `--tx-gain`<br>`--tg` | `float` | `0.0` | Manual TX hardware gain in dB (`-89.75 .. 0.0`). |
171
+ | `--tx-repeats`<br>`--tr` | `int` | `1` | Number of consecutive burst transmissions per replay (`1 .. 100`). |
172
+ | `--auto-capture`<br>`--ac` | `bool` | `false` | Enable continuous multi-burst capture loop (`true` or `false`). |
173
+ | `--auto-threshold`<br>`--at` | `bool` | `true` | Enable automatic noise floor threshold detection (`true` or `false`). |
174
+ | `--auto-trigger-margin`<br>`--atm` | `float` | `8.0` | Trigger margin above noise floor in dB (`1.0 .. 30.0`; unused when `--auto-threshold` is `false`). |
175
+ | `--auto-recal-seconds`<br>`--ars` | `float` | `0.0` | Periodic noise floor recalibration interval in seconds while listening, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 600.0`; unused when `--auto-threshold` is `false`). |
176
+ | `--manual-threshold`<br>`--mt` | `float` | `-30.0` | Fixed trigger threshold in dBFS (`-120.0 .. 0.0`; unused when `--auto-threshold` is `true`). |
177
+ | `--pre-trigger-buffers`<br>`--ptb` | `int` | `2` | Number of pre-trigger history buffers kept in memory (`1 .. 50`). |
178
+ | `--min-burst-seconds`<br>`--mbs` | `float` | `0.0` | Minimum active burst duration in seconds to filter short noise spikes, or `0` to disable; supports `ms`/`s` suffixes (`0.0 .. 5.0`). |
179
+ | `--silence-seconds`<br>`--ss` | `float` | `0.8` | Continuous silence duration in seconds to stop recording; supports `ms`/`s` suffixes (`0.01 .. 10.0`). |
180
+ | `--max-post-trigger-seconds`<br>`--mpts` | `float` | `4.0` | Maximum recording duration in seconds after trigger; supports `ms`/`s` suffixes (`0.1 .. 30.0`). |
181
+ | `--rx-buffer-size`<br>`--rbs` | `int` | `32768` | DMA receive buffer size in samples (`1024 .. 1048576`). |
182
+ | `--enable-gps`<br>`--eg` | `bool` | `false` | Enable GPS geolocation tagging via `gpsd` daemon (`true` or `false`). |
183
+ | `--gpsd-host`<br>`--gh` | `str` | `127.0.0.1` | `gpsd` daemon hostname or IP address (unused when `--enable-gps` is `false`). |
184
+ | `--gpsd-port`<br>`--gp` | `int` | `2947` | `gpsd` daemon TCP port (`1 .. 65535`; unused when `--enable-gps` is `false`). |
185
+ | `--records-dir`<br>`--rd` | `str` | `./recordings` | Directory path for saving and loading SigMF recordings (`~/.pluto_siege/recordings` when installed via `pip`/`pipx`). |
186
+ | `--enable-sound`<br>`--es` | `bool` | `true` | Enable acoustic sound effect cues (`true` or `false`). |
187
+ | `--enable-mouse`<br>`--em` | `bool` | `true` | Enable terminal mouse support in the TUI (`true` or `false`). |
190
188
 
191
189
  ### CLI-Only Options
192
190
 
193
191
  | Flags | Description |
194
192
  | :--- | :--- |
195
- | `--capture, -c` | Start in Capture mode. |
196
- | `--transmit, --tx` | Start in Transmit mode (pass a recording `#` from `--list`, `.sigmf-data` path, `'latest'`, or omit in TUI). |
197
- | `--loopback, --lb` | Run the internal digital Loopback Test. |
198
- | `--list, -l` | List available SigMF recordings in `records-dir` and exit. |
199
- | `--show-config, --sc` | Show current configuration and exit. |
200
- | `--headless, --hl` | Run in console text mode without the curses TUI (outputs plain logs without colors or live meter when redirected to a file/pipe; supports `NO_COLOR` / `FORCE_COLOR`). |
201
- | `--save, -s` | Persist CLI setting changes to `settings.json`. |
202
- | `--reset, -r` | Reset configuration to defaults and save to `settings.json`. |
203
- | `--version, -v` | Show program version and exit. |
204
- | `--help, -h` | Show help message and exit. |
193
+ | `--capture`<br>`-c` | Start in Capture mode. |
194
+ | `--transmit`<br>`--tx` | Start in Transmit mode (pass a recording `#` from `--list`, `.sigmf-data` path, `'latest'`, or omit in TUI). |
195
+ | `--loopback`<br>`--lb` | Run the internal digital Loopback Test. |
196
+ | `--list`<br>`-l` | List available SigMF recordings in `records-dir` and exit. |
197
+ | `--show-config`<br>`--sc` | Show current configuration and exit. |
198
+ | `--headless`<br>`--hl` | Run in console text mode without the curses TUI (outputs plain logs without colors or live meter when redirected to a file/pipe; supports `NO_COLOR` / `FORCE_COLOR`). |
199
+ | `--save`<br>`-s` | Persist CLI setting changes to `settings.json`. |
200
+ | `--reset`<br>`-r` | Reset configuration to defaults and save to `settings.json`. |
201
+ | `--version`<br>`-v` | Show program version and exit. |
202
+ | `--help`<br>`-h` | Show help message and exit. |
205
203
 
206
204
  ## License
207
205
 
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pluto_siege"
7
- version = "2.1.0"
8
- description = "PlutoSDR ISM-band RF capture and replay tool (433 MHz, 868 MHz, etc.)."
7
+ version = "2.1.1"
8
+ description = "RF Capture & Replay Tool for PlutoSDR"
9
9
  readme = "README.md"
10
10
  license = "GPL-3.0-or-later"
11
11
  authors = [
@@ -22,7 +22,6 @@ keywords = [
22
22
  "868mhz",
23
23
  "adalm-pluto",
24
24
  "ham-radio",
25
- "ism-band",
26
25
  "pentesting",
27
26
  "pluto-sdr",
28
27
  "pluto-siege",
File without changes
File without changes