Initial commit: mumh5, a modern Mumble client
Electron desktop app with a Svelte 5 interface for any Mumble server. - Mumble protocol core: TLS, handshake, channels, users, text, plugin data, client-side pacing of Murmur's rate limits - Voice: WebCodecs Opus over the TCP tunnel, voice activity, push to talk, always-on, devices, per-user volume and local mute - Several servers at once, voice on one; server rail with icons and ordering - Chat: channels, direct messages, side chat, file sharing through f0ckm, inline images without it, click-to-play YouTube - Profiles with rich descriptions, registration, rename, nicknames, connection information and moderation menus - Identity wizard, multiple identities, PKCS#12 import/export, desktop Mumble certificate import, certificate pinning and viewer - Tray icon with voice state - Unit, server and end-to-end tests against a real Murmur Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"name": "mumh5",
|
||||
"productName": "mumh5",
|
||||
"version": "0.1.0",
|
||||
"description": "Modern Mumble client with rich chat, file sharing and video",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"main": "dist-electron/main.cjs",
|
||||
"scripts": {
|
||||
"dev": "node scripts/dev.mjs",
|
||||
"build": "vite build && node scripts/build-electron.mjs",
|
||||
"build:web": "vite build --mode web --outDir dist-web",
|
||||
"check": "svelte-check --tsconfig ./tsconfig.json",
|
||||
"test": "node --test test/*.test.ts",
|
||||
"dist": "npm run build && electron-builder",
|
||||
"dist:linux": "npm run build && electron-builder --linux",
|
||||
"dist:win": "npm run build && electron-builder --win",
|
||||
"dist:mac": "npm run build && electron-builder --mac",
|
||||
"test:e2e": "node test/e2e/app.e2e.ts",
|
||||
"proto": "pbjs -t static-module -w es6 --keep-case --no-delimited --no-service --no-comments --force-number proto/Mumble.proto -o src/core/mumble-pb.js && pbjs -t static-module -w es6 --keep-case --no-delimited --no-service --no-comments --force-number proto/MumbleUDP.proto -o src/core/mumble-udp-pb.js",
|
||||
"screenshots": "node test/e2e/screenshots.ts"
|
||||
},
|
||||
"build": {
|
||||
"appId": "dev.f0ck.mumh5",
|
||||
"productName": "mumh5",
|
||||
"files": [
|
||||
"dist/**",
|
||||
"dist-electron/**",
|
||||
"package.json",
|
||||
"LICENSE",
|
||||
"THIRD_PARTY_NOTICES.md"
|
||||
],
|
||||
"directories": {
|
||||
"output": "release"
|
||||
},
|
||||
"linux": {
|
||||
"target": [
|
||||
"AppImage",
|
||||
"deb"
|
||||
],
|
||||
"category": "Network"
|
||||
},
|
||||
"win": {
|
||||
"target": [
|
||||
"nsis"
|
||||
]
|
||||
},
|
||||
"mac": {
|
||||
"target": [
|
||||
"dmg"
|
||||
],
|
||||
"category": "public.app-category.social-networking",
|
||||
"extendInfo": {
|
||||
"NSMicrophoneUsageDescription": "mumh5 uses the microphone for voice chat.",
|
||||
"NSCameraUsageDescription": "mumh5 uses the camera for video chat."
|
||||
}
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/vite-plugin-svelte": "^7.3.1",
|
||||
"@tsconfig/svelte": "^5.0.8",
|
||||
"@types/node": "^26.6.3",
|
||||
"@types/node-forge": "^1.3.14",
|
||||
"electron": "^44.5.1",
|
||||
"electron-builder": "^26.15.3",
|
||||
"esbuild": "^0.28.2",
|
||||
"playwright-core": "^1.63.0",
|
||||
"protobufjs-cli": "^2.7.0",
|
||||
"svelte": "^5.57.1",
|
||||
"svelte-check": "^4.7.6",
|
||||
"typescript": "^6.0.3",
|
||||
"vite": "^8.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"dompurify": "^3.4.16",
|
||||
"node-forge": "^1.4.0",
|
||||
"protobufjs": "^8.8.0"
|
||||
},
|
||||
"allowScripts": {
|
||||
"electron@44.5.1": true,
|
||||
"esbuild@0.28.2": true,
|
||||
"electron-winstaller": false
|
||||
},
|
||||
"author": "Kibi Kelburton",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "gitea@git.lat:kibi/mumh5.git"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user