üWave logo

üWave

  •  0 ratings
In category: Media Streaming / Multimedia Streaming

About üWave

uWave is a Self-hosted collaborative listening platform. Users take turns playing media—songs, talks, gameplay videos, or anything else—from a variety of media sources like YouTube and SoundCloud.

  •   529  
  •   0  
  •   0  
  •   0  
Github stats:
  •  Commits: 681  
  •   30  
  •   12  
  •  Latest commit: Jan 12, 2023  

Deploy this app to Linode with a free $100 credit!

Languages/Platforms/Technologies:
Lincenses:

  Depends on a proprietary service outside the user's control

More about üWave

u-wave-core

Website - Server List - Discord

The backend server for üWave, the collaborative listening platform.

Dependencies - Development - API - License

Dependencies

üWave consists of two parts: the server (this repository) and the web client. The server on its own only provides an HTTP API, so you must also run the web client to actually use it.

üWave requires MongoDB and Redis databases.

Usage

üWave comes with an executable file that includes YouTube and SoundCloud support by default. The server can be configured with environment variables. You must provide a YOUTUBE_API_KEY to use YouTube. SoundCloud works without API keys.

If you need more configuration options, your only option is to use the Node.js API of this package, and write your own server entry point. Over time more options will be made available through the CLI.

npx u-wave-core

Environment Variables: - SECRET - A secret key used for encrypting passwords. Must be a 64-character hexadecimal string (= 256 bits). - PORT - Port to listen on. Defaults to 6042. - REDIS_URL - URL of the Redis instance to connect to. Defaults to redis://localhost:6379/. - MONGODB_URL - URL of the MongoDB database to use. Defaults to mongodb://localhost:27017/uwave. - YOUTUBE_API_KEY (optional) - Your YouTube Data API key.

Development

The server can be run in development mode by:

git clone https://github.com/u-wave/core u-wave-core
cd u-wave-core
npm install
npm start

The development server reads configuration from a .env file in the root of the repository.

# Database connection URLs.
REDIS_URL=redis://localhost:6379/
MONGODB_URL=mongodb://localhost:27017/uwave_dev

# Enables the YouTube media source if given.
YOUTUBE_API_KEY=your key

API

You only need to use the API if you are integrating the üWave library with your own app.

API documentation is very incomplete and might change a lot before 1.0.0. Take care!

See the example/ directory for a usage example.

uw = uwave(options={})

Create and start a üWave server.

Parameters

  • mongo - A MongoDB connection URL.
  • redis - A Redis connection URL.

uw.source(sourcePlugin, options={})

Add a media source plugin. Source plugins can be used to search and import media from remote sources like YouTube or SoundCloud. Existing source plugins can be found on npm with the u-wave-source keyword.

Parameters

  • sourcePlugin - Source plugin or plugin factory. Receives two parameters: The uw üWave Core instance, and the plugin options.
  • options - Options to pass to the source plugin.

uw.close(): Promise

Stops the üWave server.

License

MIT

Comments (0)

Please login to join the discussion on this project.

üWave Reviews (0)

Overall Rating

None

based on 0 ratings

Please login to review this project.

No reviews for this project yet.

↑ back to top

pCloud Lifetime

Popular Projects

FluxBB

in Social Networks and Forums
 33k    0    0    0  

Nextcloud

in File Transfer & Synchronization
 20k    1    1    0  

Libreddit

in Social Networks and Forums
 7k    0    1    0  

Dashboard

in Personal Dashboards
 6k    0    0    0  

Audiobookshelf

in Audio Streaming
 5k    0    1    0  

CasaOS

in Self-hosting Solutions
 5k    0    0    0  

Mediagoblin

in Photo and Video Galleries
 4k    0    0    0  

Most Discussed

Nextcloud

in File Transfer & Synchronization
 20k    1    1    0  

Tube Archivist

in Automation
 3k    0    1    0  

OneDev

in Project Management
 2k    0    0    0  

iodine

in Proxy
 2k    0    0    0  

Alf.io

in Booking and Scheduling
 2k    0    0    0  

sysPass

in Password Managers
 1k    0    0    0  

Misskey

in Social Networks and Forums
 2k    0    0    0  
Linux VPS from $11/yr.
RackNerd VPS for $11.38/mo

Top Rated Projects

Gitea

 1 rating
in Project Management

Bagisto

 1 rating
in E-commerce

LinkAce

 1 rating
in Bookmarks and Link Sharing

Pydio

 1 rating
in File Transfer & Synchronization

Audiobookshelf

 1 rating
in Audio Streaming

Nextcloud

 1 rating
in File Transfer & Synchronization

Seafile

 1 rating
in File Transfer & Synchronization

Categories

You May Also Be Interested In

Rygel logo
Rygel cover

Rygel

Rygel is a UPnP AV MediaServer that allows you to easily sh…

ReadyMedia logo
ReadyMedia cover

ReadyMedia

Simple media server software, with the aim of being fully c…

Podify logo
Podify cover

Podify

Allows you to download videos and audio from any source sup…