weed-cli 2.4.0__tar.gz → 2.4.4__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.
- {weed_cli-2.4.0/weed_cli.egg-info → weed_cli-2.4.4}/PKG-INFO +19 -3
- {weed_cli-2.4.0 → weed_cli-2.4.4}/README.md +18 -2
- {weed_cli-2.4.0 → weed_cli-2.4.4}/pyproject.toml +1 -1
- {weed_cli-2.4.0 → weed_cli-2.4.4/weed_cli.egg-info}/PKG-INFO +19 -3
- {weed_cli-2.4.0 → weed_cli-2.4.4}/LICENSE +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/dht.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/discovery_relay.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/lightning_settle.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/node.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/poc_reputation.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/setup.cfg +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/shell.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_dht.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_discovery_relay.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_host_live_reload.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_node_manifest.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_orbit_ws.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_timing_challenge.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_tunnel_failover.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/test_web_ui_api.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tests/testutil.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/tunnel_relay.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/web_ui.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/weed.py +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/weed_cli.egg-info/SOURCES.txt +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/weed_cli.egg-info/dependency_links.txt +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/weed_cli.egg-info/entry_points.txt +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/weed_cli.egg-info/requires.txt +0 -0
- {weed_cli-2.4.0 → weed_cli-2.4.4}/weed_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: weed-cli
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.4
|
|
4
4
|
Summary: Censorship-resistant video PoC — discovery/hosting/download over signed relay events, a real Kademlia DHT, or a TLS-capable NAT-traversal tunnel
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: p2p,video,censorship-resistant,discovery,dht,kademlia,nat-traversal
|
|
@@ -201,6 +201,18 @@ Includes real HTTP range support (`/api/stream/<job_id>`) so a
|
|
|
201
201
|
`<video>` tag can seek a completed download instead of downloading it
|
|
202
202
|
blind.
|
|
203
203
|
|
|
204
|
+
The visualizer's 🎹 panel binds an AKAI MPK mini (or any Web MIDI
|
|
205
|
+
controller) to modes, transitions and sliders; **export** saves the
|
|
206
|
+
keymap as a `.json` file and **import** loads one, so a layout travels
|
|
207
|
+
between browsers and machines.
|
|
208
|
+
|
|
209
|
+
The player's ⇄ button is **video swap**: pick another download whose
|
|
210
|
+
picture stands in for the current track's — for an mp3 or a
|
|
211
|
+
static-image video, so the visualizer (and the player window) have real
|
|
212
|
+
footage. The audio stays with the track; the borrowed video loops on its
|
|
213
|
+
own, follows play/pause, and the choice is remembered per track in the
|
|
214
|
+
browser.
|
|
215
|
+
|
|
204
216
|
### Orbit Visualizer plugins
|
|
205
217
|
|
|
206
218
|
The visualizer's modes and its Fade transitions are both open registries:
|
|
@@ -213,8 +225,8 @@ mode selector; a registered transition gets a Fade option and a turn in
|
|
|
213
225
|
"Random". A plugin that throws is logged once and disabled without
|
|
214
226
|
taking the draw loop down. `web/orbit_extras.js` (loaded by default) is
|
|
215
227
|
built entirely on that API and adds Halftone, Lava, Terrain, Rain,
|
|
216
|
-
Lissajous, Ripples and
|
|
217
|
-
Wave, Spin, Zoom blur
|
|
228
|
+
Lissajous, Ripples, Cube, VHS, Win95 and Joy Division, plus the Melt, Dissolve, Iris,
|
|
229
|
+
Shatter, Wave, Spin, Zoom blur, RGB split, VHS and Win95 transitions; `web/orbit_plugin_example.js`
|
|
218
230
|
is a minimal one to copy.
|
|
219
231
|
|
|
220
232
|
### Docker
|
|
@@ -245,6 +257,10 @@ docker compose -f docker-compose.node.yml exec node python3 weed.py discover #
|
|
|
245
257
|
- `/share` is a separate *bind* mount, not a named volume, so the actual
|
|
246
258
|
`.ott` archives you're hosting are real files on the host you can see
|
|
247
259
|
and manage directly. Point the web UI's Host form at `/share`.
|
|
260
|
+
- `web/` is bind-mounted read-only over the image's own copy, and the
|
|
261
|
+
server re-reads static files per request with `Cache-Control: no-store`,
|
|
262
|
+
so frontend edits show up on a browser reload — no rebuild or restart.
|
|
263
|
+
Python changes (`web_ui.py`, `node.py`) still need `make node`.
|
|
248
264
|
- An entry's `last_path` (recorded at `ott add` time, on whatever
|
|
249
265
|
machine ran it) is only trusted if it exists on disk; otherwise the
|
|
250
266
|
node falls back to the given archive directory. This matters the
|
|
@@ -169,6 +169,18 @@ Includes real HTTP range support (`/api/stream/<job_id>`) so a
|
|
|
169
169
|
`<video>` tag can seek a completed download instead of downloading it
|
|
170
170
|
blind.
|
|
171
171
|
|
|
172
|
+
The visualizer's 🎹 panel binds an AKAI MPK mini (or any Web MIDI
|
|
173
|
+
controller) to modes, transitions and sliders; **export** saves the
|
|
174
|
+
keymap as a `.json` file and **import** loads one, so a layout travels
|
|
175
|
+
between browsers and machines.
|
|
176
|
+
|
|
177
|
+
The player's ⇄ button is **video swap**: pick another download whose
|
|
178
|
+
picture stands in for the current track's — for an mp3 or a
|
|
179
|
+
static-image video, so the visualizer (and the player window) have real
|
|
180
|
+
footage. The audio stays with the track; the borrowed video loops on its
|
|
181
|
+
own, follows play/pause, and the choice is remembered per track in the
|
|
182
|
+
browser.
|
|
183
|
+
|
|
172
184
|
### Orbit Visualizer plugins
|
|
173
185
|
|
|
174
186
|
The visualizer's modes and its Fade transitions are both open registries:
|
|
@@ -181,8 +193,8 @@ mode selector; a registered transition gets a Fade option and a turn in
|
|
|
181
193
|
"Random". A plugin that throws is logged once and disabled without
|
|
182
194
|
taking the draw loop down. `web/orbit_extras.js` (loaded by default) is
|
|
183
195
|
built entirely on that API and adds Halftone, Lava, Terrain, Rain,
|
|
184
|
-
Lissajous, Ripples and
|
|
185
|
-
Wave, Spin, Zoom blur
|
|
196
|
+
Lissajous, Ripples, Cube, VHS, Win95 and Joy Division, plus the Melt, Dissolve, Iris,
|
|
197
|
+
Shatter, Wave, Spin, Zoom blur, RGB split, VHS and Win95 transitions; `web/orbit_plugin_example.js`
|
|
186
198
|
is a minimal one to copy.
|
|
187
199
|
|
|
188
200
|
### Docker
|
|
@@ -213,6 +225,10 @@ docker compose -f docker-compose.node.yml exec node python3 weed.py discover #
|
|
|
213
225
|
- `/share` is a separate *bind* mount, not a named volume, so the actual
|
|
214
226
|
`.ott` archives you're hosting are real files on the host you can see
|
|
215
227
|
and manage directly. Point the web UI's Host form at `/share`.
|
|
228
|
+
- `web/` is bind-mounted read-only over the image's own copy, and the
|
|
229
|
+
server re-reads static files per request with `Cache-Control: no-store`,
|
|
230
|
+
so frontend edits show up on a browser reload — no rebuild or restart.
|
|
231
|
+
Python changes (`web_ui.py`, `node.py`) still need `make node`.
|
|
216
232
|
- An entry's `last_path` (recorded at `ott add` time, on whatever
|
|
217
233
|
machine ran it) is only trusted if it exists on disk; otherwise the
|
|
218
234
|
node falls back to the given archive directory. This matters the
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "weed-cli"
|
|
7
|
-
version = "2.4.
|
|
7
|
+
version = "2.4.4"
|
|
8
8
|
description = "Censorship-resistant video PoC — discovery/hosting/download over signed relay events, a real Kademlia DHT, or a TLS-capable NAT-traversal tunnel"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: weed-cli
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.4
|
|
4
4
|
Summary: Censorship-resistant video PoC — discovery/hosting/download over signed relay events, a real Kademlia DHT, or a TLS-capable NAT-traversal tunnel
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: p2p,video,censorship-resistant,discovery,dht,kademlia,nat-traversal
|
|
@@ -201,6 +201,18 @@ Includes real HTTP range support (`/api/stream/<job_id>`) so a
|
|
|
201
201
|
`<video>` tag can seek a completed download instead of downloading it
|
|
202
202
|
blind.
|
|
203
203
|
|
|
204
|
+
The visualizer's 🎹 panel binds an AKAI MPK mini (or any Web MIDI
|
|
205
|
+
controller) to modes, transitions and sliders; **export** saves the
|
|
206
|
+
keymap as a `.json` file and **import** loads one, so a layout travels
|
|
207
|
+
between browsers and machines.
|
|
208
|
+
|
|
209
|
+
The player's ⇄ button is **video swap**: pick another download whose
|
|
210
|
+
picture stands in for the current track's — for an mp3 or a
|
|
211
|
+
static-image video, so the visualizer (and the player window) have real
|
|
212
|
+
footage. The audio stays with the track; the borrowed video loops on its
|
|
213
|
+
own, follows play/pause, and the choice is remembered per track in the
|
|
214
|
+
browser.
|
|
215
|
+
|
|
204
216
|
### Orbit Visualizer plugins
|
|
205
217
|
|
|
206
218
|
The visualizer's modes and its Fade transitions are both open registries:
|
|
@@ -213,8 +225,8 @@ mode selector; a registered transition gets a Fade option and a turn in
|
|
|
213
225
|
"Random". A plugin that throws is logged once and disabled without
|
|
214
226
|
taking the draw loop down. `web/orbit_extras.js` (loaded by default) is
|
|
215
227
|
built entirely on that API and adds Halftone, Lava, Terrain, Rain,
|
|
216
|
-
Lissajous, Ripples and
|
|
217
|
-
Wave, Spin, Zoom blur
|
|
228
|
+
Lissajous, Ripples, Cube, VHS, Win95 and Joy Division, plus the Melt, Dissolve, Iris,
|
|
229
|
+
Shatter, Wave, Spin, Zoom blur, RGB split, VHS and Win95 transitions; `web/orbit_plugin_example.js`
|
|
218
230
|
is a minimal one to copy.
|
|
219
231
|
|
|
220
232
|
### Docker
|
|
@@ -245,6 +257,10 @@ docker compose -f docker-compose.node.yml exec node python3 weed.py discover #
|
|
|
245
257
|
- `/share` is a separate *bind* mount, not a named volume, so the actual
|
|
246
258
|
`.ott` archives you're hosting are real files on the host you can see
|
|
247
259
|
and manage directly. Point the web UI's Host form at `/share`.
|
|
260
|
+
- `web/` is bind-mounted read-only over the image's own copy, and the
|
|
261
|
+
server re-reads static files per request with `Cache-Control: no-store`,
|
|
262
|
+
so frontend edits show up on a browser reload — no rebuild or restart.
|
|
263
|
+
Python changes (`web_ui.py`, `node.py`) still need `make node`.
|
|
248
264
|
- An entry's `last_path` (recorded at `ott add` time, on whatever
|
|
249
265
|
machine ran it) is only trusted if it exists on disk; otherwise the
|
|
250
266
|
node falls back to the given archive directory. This matters the
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|