Skip to content

Add Jiosaavn source #270

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
08988b1
apply StringCompareMirroringAudioTrackResolver to DefaultMirroringAud…
WeeeeeeeeeeS Dec 25, 2024
b05dfd8
Used Nansess tidal implementation
WeeeeeeeeeeS Jan 3, 2025
a811daa
Used Nansess tidal implementation
WeeeeeeeeeeS Jan 3, 2025
bd58425
Added "useLocalNetwork" as a proxy option.
WeeeeeeeeeeS Jan 3, 2025
800f308
Made saavn use localnetwork for playback
WeeeeeeeeeeS Jan 3, 2025
f49e5ff
Used fuzzywuzzy:1.4.0
WeeeeeeeeeeS Jan 4, 2025
ba952cc
added TidalToken option & changed application.example.yml
WeeeeeeeeeeS Jan 4, 2025
f51e2f2
updated application.example.yml
WeeeeeeeeeeS Jan 4, 2025
4ef9c2b
Updated ReadMe.md & added more constructors to ProxyConfig & Saavn au…
WeeeeeeeeeeS Jan 4, 2025
2c83c1b
Updated Readme.md
WeeeeeeeeeeS Jan 4, 2025
38bb861
Updated Readme.md
WeeeeeeeeeeS Jan 4, 2025
5a7cfd1
if it works don't touch it? Fixed Saavn
WeeeeeeeeeeS Jan 4, 2025
37c14c3
Added tidal recommendations
WeeeeeeeeeeS Jan 12, 2025
be58db1
Fixed deezer null exception when not using proxies
WeeeeeeeeeeS Jan 13, 2025
2bc7ee6
Update application.example.yml
WeeeeeeeeeeS Jan 15, 2025
9b97a9c
updated apiurl search endpoint in jiosaavn
WeeeeeeeeeeS Jan 15, 2025
6f65617
rewrote StringCompareMirroringAudioTrackResolver
WeeeeeeeeeeS Jan 18, 2025
8b6bc51
changed the configurations to make them more logical, commented out u…
WeeeeeeeeeeS Jan 19, 2025
e22175d
changed Saavn to JioSaavn
WeeeeeeeeeeS Jan 19, 2025
1ad32e1
ProxyManager now implements HttpInterfaceManager, now debugging make …
WeeeeeeeeeeS Jan 19, 2025
2c783cc
changed Deezer & jiosaavn to take ProxyManager instead of configs
WeeeeeeeeeeS Jan 19, 2025
ac3e29d
changed Deezer & jiosaavn to take ProxyManager instead of configs
WeeeeeeeeeeS Jan 19, 2025
da80949
updated README.md & application.example.yml to match the new Proxyman…
WeeeeeeeeeeS Jan 19, 2025
78561ed
added an example of how to use ProxyConfig
WeeeeeeeeeeS Jan 19, 2025
87bf40e
Updated JioSaavn jsrec README.md
WeeeeeeeeeeS Jan 19, 2025
e057b03
updated tidal http link to https
WeeeeeeeeeeS Jan 19, 2025
5909ed0
removed secret key
WeeeeeeeeeeS Jan 21, 2025
e0c2f08
replaced apiUrl with a generic proxy (even easier to self host)
WeeeeeeeeeeS Jan 23, 2025
00909a4
Removed old apiUrl in README.md
WeeeeeeeeeeS Jan 23, 2025
aba30b8
Merge parts of #247
freyacodes Apr 29, 2025
84c17cd
Remove PR-original proxy system, various improvements and simplificat…
freyacodes Apr 29, 2025
5692e59
Add new proxy to JioSaavn
freyacodes May 1, 2025
44731a9
Actually configure proxy credentials
freyacodes May 5, 2025
8d06c05
Produce error if JioSaavn is configured without secret key
freyacodes May 5, 2025
cf62504
Merge remote-tracking branch 'origin/master' into jiosaavn
freyacodes May 5, 2025
ea39322
Add JioSaavn project documentation
freyacodes May 5, 2025
2ebd6dd
Guard against null preview url in constructor
freyacodes May 8, 2025
7f3eb9b
Simplify JioSaavn track playback
freyacodes May 8, 2025
3a1e33f
Split config for plugin and jiosaavn source manager
freyacodes May 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
| Tidal | 📁💿🎵🧑 | [Mirror](#what-is-mirroring) | [@nansess](https://github.com/nansess), [@InfNibor](https://github.com/InfNibor) |
| Qobuz | 📁💿🎵🧑 | Direct | [@munishkhatri720](https://github.com/munishkhatri720) |
| YouTube([yt-dlp](https://github.com/yt-dlp/yt-dlp)) | 📁💿🎵🧑🔍 | Direct | [@topi314](https://github.com/topi314) |
| JioSaavn | 📁💿🎵🧑🔍🔬 | Direct | [@WeeeeeeeeeeS](https://github.com/WeeeeeeeeeeS), [@freyacodes](https://github.com/freyacodes) ||

### Features

Expand Down Expand Up @@ -113,6 +114,7 @@ plugins:
tidal: false # Enable Tidal source
qobuz : false # Enabled qobuz source
ytdlp: false # Enable yt-dlp source
jiosaavn: false # Enable JioSaavn source
lyrics-sources:
spotify: false # Enable Spotify lyrics source
deezer: false # Enable Deezer lyrics source
Expand Down Expand Up @@ -176,6 +178,15 @@ plugins:
searchLimit: 10 # How many search results should be returned
# customLoadArgs: ["-q", "--no-warnings", "--flat-playlist", "--skip-download", "-J"] # Custom arguments to pass to yt-dlp
# customPlaybackArgs: ["-q", "--no-warnings", "-f", "bestaudio", "-J"] # Custom arguments for yt-dlp
jiosaavn:
decryption: # The decryption configuration for the JioSaavn tracks
secretKey: "??" # The required secret key used for decryption (Find your own secret key)
# algorithm: "DES" # The algorithm used for decryption (Default "DES")
# transformation: "DES/ECB/PKCS5Padding" # The transformation used for decryption (Default "DES/ECB/PKCS5Padding")
# proxy: # If defined, JioSaavn HTTP requests will be proxied through here. JioSaavn uses region blocking
# url: "https://example.org" # The HTTP proxy to use
# username: "my-bot" # Optional username to authenticate with the proxy
# password: "youshallpass" # Optional password to authenticate with the proxy
```

### Plugin Info
Expand Down
10 changes: 10 additions & 0 deletions application.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ plugins:
tidal: false # Enable Tidal source
qobuz: false # Enabled qobuz source
ytdlp: false # Enable yt-dlp source
jiosaavn: false # Enable the JioSaavn source
lyrics-sources:
spotify: false # Enable Spotify lyrics source
deezer: false # Enable Deezer lyrics source
Expand Down Expand Up @@ -80,6 +81,15 @@ plugins:
searchLimit: 10 # How many search results should be returned
# customLoadArgs: ["-q", "--no-warnings", "--flat-playlist", "--skip-download", "-J"] # Custom arguments to pass to yt-dlp
# customPlaybackArgs: ["-q", "--no-warnings", "-f", "bestaudio", "-J"] # Custom arguments for yt-dlp
jiosaavn:
decryption: # The decryption configuration for the JioSaavn tracks
secretKey: "??" # The required secret key used for decryption (Find your own secret key)
# algorithm: "DES" # The algorithm used for decryption (Default "DES")
# transformation: "DES/ECB/PKCS5Padding" # The transformation used for decryption (Default "DES/ECB/PKCS5Padding")
# proxy: # If defined, JioSaavn HTTP requests will be proxied through here. JioSaavn uses region blocking
# url: "https://example.org" # The HTTP proxy to use
# username: "my-bot" # Optional username to authenticate with the proxy
# password: "youshallpass" # Optional password to authenticate with the proxy

server: # REST and WS server
port: 2333
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.github.topi314.lavasrc.jiosaavn;

import com.github.topi314.lavasrc.ExtendedAudioPlaylist;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import java.util.List;

public class JioSaavnAudioPlaylist extends ExtendedAudioPlaylist {
public JioSaavnAudioPlaylist(
String name, List<AudioTrack> tracks, ExtendedAudioPlaylist.Type type, String identifier, String artworkURL, String author, Integer totalTracks
) {
super(name, tracks, type, identifier, artworkURL, author, totalTracks);
}
}
Loading