Skip to content

Performant LavaLink alternative written with Node.Js

License

Notifications You must be signed in to change notification settings

ZuherLaith/NodeLink

 
 

Repository files navigation

NodeLink

Performant LavaLink replacement written in Node.js.

Features

  • Lightweight
  • Real-time audio processing
  • Direct source access
  • Anonymous by default

Dependencies

Installation

1. Clone the repository

$ git clone https://github.com/PerformanC/NodeLink
$ cd NodeLink

2. Install the dependencies

$ npm i

Note

If you to use pure JavaScript, replace sodium-native with libsodium-wrappers. Keep in mind that pure JavaScript will offer a worse performance.

3. Run NodeLink

$ npm start

Usage

NodeLink is compatible with most LavaLink clients, as it implements most of the LavaLink API. However, some clients may not be compatible with NodeLink, as it implements changes some behaviors and endpoints.

Client Platform v2 supported? NodeLink Features? NodeLink major version
Lavalink-Client JVM Yes No v1 and v2
Lavalink.kt Kotlin No No v1
DisGoLink Go Yes No v1 and v2
Lavalink.py Python Yes No v1 and v2
Mafic Python Yes No v1 and v2
Wavelink Python Yes No v1 and v2
Pomice Python Yes No v1 and v2
Hikari-ongaku Python Yes No v1 and v2
Moonlink.js Typescript Yes Partial v1 and v2
Magmastream Typescript No No v1
Lavacord Typescript Yes No v1 and v2
Shoukaku Typescript Yes No v1 and v2
Lavalink-Client Typescript No No v1
FastLink Node.js Yes Yes v1 and v2
Riffy Node.js Yes No v1 and v2
DisCatSharp .NET Yes No v1 and v2
Lavalink4NET .NET Yes No v1 and v2
Nomia .NET Yes No v1 and v2
CogLink C Yes No v1 and v2
Lavalink-rs Rust, Python Yes No v1 and v2
nyxx_lavalink Dart No No v1

Note

The data is gotten from LavaLink documentation, updated with manual checks.

Documentation

NodeLink only documents the differences between LavaLink and NodeLink. For the rest of the documentation, please refer to LavaLink's documentation.

Troubleshoot

"Expected 200, received 403." error

In some regions like Europe, you may receive a 403 error when trying to connect to YouTube. The real reason is unknown, but The PerformanC team managed to create a proper workaround for this issue.

To fix this issue, you must login to your Google/YouTube account. The proccess of retrieving the neccessary information is explained in config.js file.

Support

Any question or issue related to NodeLink or other PerformanC projects can be can be made in PerformanC's Discord server.

For verified issues, please also create a GitHub issue for tracking the issue.

Contributing & Code of Conduct

NodeLink follows the PerformanC's contribution guidelines. It is necessary to follow the guidelines to contribute to NodeLink and other PerformanC projects.

License

NodeLink is licensed under BSD 2-Clause License. You can read more about it on Open Source Initiative.

About

Performant LavaLink alternative written with Node.Js

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.9%
  • Dockerfile 0.1%