Git Product home page Git Product logo

cicada's Introduction

知了

知了, 支持多用户的开源音乐服务.

特色

  • 尊重隐私, 不进行任何数据收集
  • 支持多用户
  • 支持 PWA, UI 同时支持桌面端和移动端
  • 系统媒体和快捷键支持
  • 音乐支持标准音质/超高音质/伴奏以及多份歌词
  • 回收站支持, 恢复误删数据
  • 乐单/播放列表/播放队列音乐数量无限制

准备

  • 邮件发送服务, 知了使用邮箱验证码进行登录以及部分功能依赖邮箱实现, 第三方邮件发送服务可以参考 网易邮箱 / QQ 邮箱 / Outlook 邮箱
  • FFmpeg[可选], 知了会自动检测 PATH 下是否有 ffmpeg, 有的话会调用 ffmpeg 进行音频压缩(无损音质不会进行压缩), 没有的话将不会进行音频压缩

使用邮箱验证码登录可以极大地提高安全性, 相比账号密码的登录方式, 邮箱验证码登录可以避免被暴力破解

部署

新建配置文件 config.json:

{
  "emailHost": "smtp.example.com",
  "emailUser": "example",
  "emailPass": "example-password"
}

完整配置可以参看配置项, 支持 JSON/JSON5 语法.

Releases 下载并解压对应平台的二进制包, 通过下面命令指定配置文件并启动(以 x64 Linux 为例):

./cicada-linux-x64 start -c config.json

通过 localhost:8000 或者 {{ip}}:8000 访问知了服务. 目前只提供了几种主流平台的构建包, 其他平台可以参考构建文档自行构建.

Docker

知了支持 Docker 镜像部署:

docker run \
  -d \
  --restart=always \
  -p 8000:80 \
  -v $HOME/cicada-data:/data \
  -v $HOME/cicada-config.json:/config.json \
  --name cicada \
  mebtte/cicada

需要注意的是, 使用 Docker 镜像首次运行必须配置 initialAdminEmail, 否则无法完成初始化. 此外 Docker 镜像下会忽略 config 文件中的 dataport 配置项.

常见问题

如何迁移数据 ?

知了所有数据都位于 {{base}} 目录下, 将 {{base}} 目录复制或者移动即可完成迁移.

如何安装 PWA ?

PWA 仅支持 HTTPS 或者 localhost, 知了目前暂不支持配置 HTTPS, 请使用 nginx 之类的工具进行 HTTPS 反向代理. Chrome 下安装方法请查看教程.

已知缺陷

  • 在 iOS/iPadOS 上处于后台无法自动播放下一首, 这是因为 Safari 会暂停处于后台页面的 JavaScript.
  • 在 Windows 下安装 PWA 后图标比其他应用图标要小, 这是因为 Windows 和 macOS 的图标占用空间不一致, PWA 无法同时兼容, 知了使用的是 macOS 图标尺寸.

开源协议

GPL

cicada's People

Contributors

codebyzack avatar greek-zzf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.