
GlobalRadio
全球电台(GlobalRadio)是一个基于 Vue 3 + Vite 构建的现代 Web 应用,无需安装客户端,打开浏览器即可收听来自世界各地的电台。更重要的是:它可完全私有化部署,支持 Docker 一键运行,适合个人、家庭或小型团队使用。
infinite‑bgm(无限背景音乐),基于 Web Audio API 的纯前端生成式音乐引擎。全部音乐在浏览器内实时运算合成,没有预存音频文件、没有曲库,除可选访问统计外不需要后端服务器。网页点击播放就即时生成音乐,可以无限播放、不会循环重复。

内置 16种音乐风格:
Lofi、Zen、Jazzhop、Meditation、Ambient、Japanese、Nature、Sleep、Cinematic、Minimal、Dream、Synthwave、Deep House、Neo‑Classical、Chiptune、Dark Ambient。
?seed=参数的链接,换设备、隔时间打开,复现同一配乐。?seed=?lang=?theme=,配置存入localStorage,刷新页面保留用户偏好。Node.js ≥ 18;仅构建阶段依赖Vite / TypeScript / Vitest,运行时代码无任何依赖。
git clone https://github.com/Jweokk/infinite-bgm.git
cd infinite-bgm/music-engine
npm install
npm run dev # 开发服务器,--host开启,局域网手机可访问
脚本命令:
npm run dev:Vite开发服务npm run build:类型检查并打包输出到dist/npm run test:执行全部175个单元测试npm run typecheck:仅做TS类型检查产物为纯静态文件,把打包输出的dist/目录上传到任意静态托管服务即可,如 Nginx、Netlify、Vercel、Cloudflare Pages。
仓库附带现成生产配置:
nginx.conf:静态托管、gzip压缩、缓存、CSP安全头;security‑headers.conf:安全响应头;docker‑compose.yml:静态站点容器;counter/:纯Python标准库实现的可选访问计数后端。Docker两种部署模式:
# 仅部署静态站(最小,无访问统计)
docker compose up -d --build bgm
# 静态站 + 开启访问计数(生成token写入.env)
echo "BGM_STATS_TOKEN=$(openssl rand -hex 16)" > .env
docker compose up -d --build
访问计数功能可选关闭,关闭不影响音乐生成、播放全部能力。







