Skip to content

Commit

Permalink
update for test
Browse files Browse the repository at this point in the history
  • Loading branch information
appujet committed May 1, 2024
1 parent 342445c commit 14038a6
Show file tree
Hide file tree
Showing 5 changed files with 88 additions and 2 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/release-beta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Release Beta

on:
push:
branches:
- master

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
path: './'
fetch-depth: 0
- name: Set up java
uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '17'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: dependencies
run: ./gradlew --no-daemon dependencies
- name: Release to github
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
RELEASE_TARGET: ${{ github.sha }}
PRERELEASE: true
run: ./gradlew --no-daemon build githubRelease
5 changes: 4 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ plugins {
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
id("com.github.breadmoirai.github-release") version "2.4.1" apply false
}

java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
Expand Down
35 changes: 35 additions & 0 deletions main/src/main/java/com/github/appujet/jiosaavn/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Iterator;

public class Utils {

Expand All @@ -19,4 +21,37 @@ public static JsonBrowser fetchJson(String pageURl, ExtendedAudioSourceManager s
throw new RuntimeException(e);
}
}
private static Iterable<Character> cycle(String i) {
return () -> new Iterator<>() {
private int index = -1;

@Override
public boolean hasNext() {
return true;
}

@Override
public Character next() {
index = (index + 1) % i.length();
return i.charAt(index);
}
};
}

private static String decryptXor(String key, String cipher) {
StringBuilder decrypted = new StringBuilder();
Iterator<Character> keyIterator = cycle(key).iterator();
for (char ch : cipher.toCharArray()) {
if (!keyIterator.hasNext())
keyIterator = cycle(key).iterator(); // restart key iterator if it reaches the end
char k = keyIterator.next();
decrypted.append((char) (ch ^ k));
}
return decrypted.toString();
}

public static String decryptUrl(String key, String url) {
String xorUrl = new String(Base64.getDecoder().decode(url));
return decryptXor(key, xorUrl);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,22 @@ public boolean isTrackEncodable(AudioTrack audioTrack) {

@Override
public void encodeTrack(AudioTrack audioTrack, DataOutput dataOutput) {

// No need for encoding, just pass the track info without serialization
JioSaavnAudioTrack jioSaavnAudioTrack = (JioSaavnAudioTrack) audioTrack;
AudioTrackInfo trackInfo = jioSaavnAudioTrack.getInfo();
try {
// Write track info properties individually
dataOutput.writeUTF(trackInfo.title);
dataOutput.writeUTF(trackInfo.author);
dataOutput.writeLong(trackInfo.length);
dataOutput.writeUTF(trackInfo.identifier);
dataOutput.writeBoolean(trackInfo.isStream);
dataOutput.writeUTF(trackInfo.uri);
dataOutput.writeUTF(trackInfo.artworkUrl);
// If there are additional properties, write them here
} catch (IOException e) {
throw new RuntimeException("Error encoding track", e);
}
}

@Override
Expand Down
2 changes: 2 additions & 0 deletions plugin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ val archivesBaseName = "jiosaavn-plugin"
val preRelease = System.getenv("PRERELEASE") == "true"
val verName = "${if (preRelease) "PRE_" else ""}$pluginVersion${if(preRelease) "_${System.getenv("GITHUB_RUN_NUMBER")}" else ""}"


lavalinkPlugin {
name = "jiosaavn-plugin"
path = "$group.plugin"
Expand All @@ -23,6 +24,7 @@ lavalinkPlugin {
serverVersion = libs.versions.lavalink.server
}


dependencies {
implementation(projects.main)
}
Expand Down

0 comments on commit 14038a6

Please sign in to comment.