localvibe 2.0.0 → 2.0.1
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.
- package/README.md +11 -5
- package/bin/cli.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
#
|
|
1
|
+
# localvibe
|
|
2
2
|
|
|
3
3
|
Stream audio from your browser tab to every device on your Wi-Fi — one command, no config.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install -g
|
|
8
|
+
npm install -g localvibe
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Then run:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
localvibe
|
|
9
15
|
```
|
|
10
16
|
|
|
11
17
|
You also need [FFmpeg](https://ffmpeg.org):
|
|
@@ -19,7 +25,7 @@ You also need [FFmpeg](https://ffmpeg.org):
|
|
|
19
25
|
## Quick start
|
|
20
26
|
|
|
21
27
|
```bash
|
|
22
|
-
|
|
28
|
+
localvibe
|
|
23
29
|
```
|
|
24
30
|
|
|
25
31
|
First launch asks for your station name, DJ name and tagline.
|
|
@@ -27,7 +33,7 @@ A session key is printed in the terminal — paste it into the extension and cli
|
|
|
27
33
|
Share the listener URL with anyone on the same Wi-Fi.
|
|
28
34
|
|
|
29
35
|
```bash
|
|
30
|
-
|
|
36
|
+
localvibe setup # update station name, DJ, tagline
|
|
31
37
|
```
|
|
32
38
|
|
|
33
39
|
## Extension
|
|
@@ -41,8 +47,8 @@ Load the `extension/` folder as an unpacked Chrome extension:
|
|
|
41
47
|
## Features
|
|
42
48
|
|
|
43
49
|
- Plays on any device — Android, iPhone, desktop, smart TV
|
|
44
|
-
- No virtual audio driver — captures any browser tab directly
|
|
45
50
|
- Station name, DJ name and tagline on every listener's screen
|
|
51
|
+
- No virtual audio driver — captures any browser tab directly
|
|
46
52
|
- Live "Now Playing" auto-pulled from the tab title (YouTube, Spotify, etc.)
|
|
47
53
|
- Listener count shown on the player
|
|
48
54
|
- Session key rotates on every restart — no credentials stored on disk
|
package/bin/cli.js
CHANGED
|
@@ -61,7 +61,7 @@ async function checkUpdate() {
|
|
|
61
61
|
|
|
62
62
|
if (update.forceUpdate && semverGt(update.version, PKG_VERSION)) {
|
|
63
63
|
console.error(`\n╔═══════════════════════════════════════════════════════╗`);
|
|
64
|
-
console.error(`║ 🚨
|
|
64
|
+
console.error(`║ 🚨 LOCALVIBE UPDATE REQUIRED ║`);
|
|
65
65
|
console.error(`║ Your version : ${PKG_VERSION.padEnd(38)}║`);
|
|
66
66
|
console.error(`║ Required : ${update.version.padEnd(38)}║`);
|
|
67
67
|
if (update.warning)
|
|
@@ -100,10 +100,10 @@ function ask(rl, question, fallback) {
|
|
|
100
100
|
|
|
101
101
|
async function runSetup(existing = {}) {
|
|
102
102
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
103
|
-
console.log('\n🎙 Welcome to
|
|
103
|
+
console.log('\n🎙 Welcome to LocalVibe! Quick setup — press Enter to keep defaults.\n');
|
|
104
104
|
|
|
105
105
|
const cfg = {
|
|
106
|
-
stationName: await ask(rl, 'Station name', existing.stationName || '
|
|
106
|
+
stationName: await ask(rl, 'Station name', existing.stationName || 'LocalVibe FM'),
|
|
107
107
|
djName: await ask(rl, 'Your name (DJ)', existing.djName || os.userInfo().username),
|
|
108
108
|
tagline: await ask(rl, 'Tagline', existing.tagline || 'Live from my desk'),
|
|
109
109
|
port: Number(await ask(rl, 'Port', String(existing.port || 8012))),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "localvibe",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Stream audio from your browser tab to every device on your Wi-Fi — one command, no config.",
|
|
5
5
|
"keywords": ["radio", "streaming", "hls", "lan", "audio", "broadcast", "wifi", "ffmpeg"],
|
|
6
6
|
"license": "MIT",
|