|
8 | 8 | import com.github.topi314.lavasrc.deezer.DeezerAudioSourceManager; |
9 | 9 | import com.github.topi314.lavasrc.deezer.DeezerAudioTrack; |
10 | 10 | import com.github.topi314.lavasrc.flowerytts.FloweryTTSSourceManager; |
11 | | -import com.github.topi314.lavasrc.lrclib.LrcLibLyricsManager; |
12 | 11 | import com.github.topi314.lavasrc.jiosaavn.JioSaavnAudioSourceManager; |
| 12 | +import com.github.topi314.lavasrc.lrclib.LrcLibLyricsManager; |
13 | 13 | import com.github.topi314.lavasrc.mirror.DefaultMirroringAudioTrackResolver; |
14 | 14 | import com.github.topi314.lavasrc.plugin.config.*; |
| 15 | +import com.github.topi314.lavasrc.plugin.service.ProxyConfigurationService; |
15 | 16 | import com.github.topi314.lavasrc.protocol.Config; |
16 | | -import com.github.topi314.lavasrc.plugin.config.HttpProxyConfig; |
17 | 17 | import com.github.topi314.lavasrc.qobuz.QobuzAudioSourceManager; |
18 | 18 | import com.github.topi314.lavasrc.spotify.SpotifySourceManager; |
19 | 19 | import com.github.topi314.lavasrc.tidal.TidalSourceManager; |
|
23 | 23 | import com.github.topi314.lavasrc.ytdlp.YtdlpAudioSourceManager; |
24 | 24 | import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; |
25 | 25 | import dev.arbjerg.lavalink.api.AudioPlayerManagerConfiguration; |
26 | | -import org.apache.http.HttpHost; |
27 | | -import org.apache.http.auth.AuthScope; |
28 | | -import org.apache.http.auth.UsernamePasswordCredentials; |
29 | | -import org.apache.http.impl.client.BasicCredentialsProvider; |
30 | | -import dev.arbjerg.lavalink.api.AudioPlayerManagerConfiguration; |
31 | 26 | import org.jetbrains.annotations.NotNull; |
32 | 27 | import org.slf4j.Logger; |
33 | 28 | import org.slf4j.LoggerFactory; |
@@ -72,7 +67,8 @@ public LavaSrcPlugin( |
72 | 67 | TidalConfig tidalConfig, |
73 | 68 | QobuzConfig qobuzConfig, |
74 | 69 | YtdlpConfig ytdlpConfig, |
75 | | - JioSaavnConfig jioSaavnConfig |
| 70 | + JioSaavnConfig jioSaavnConfig, |
| 71 | + ProxyConfigurationService proxyConfigurationService |
76 | 72 | ) { |
77 | 73 | log.info("Loading LavaSrc plugin..."); |
78 | 74 | this.sourcesConfig = sourcesConfig; |
@@ -105,18 +101,26 @@ public LavaSrcPlugin( |
105 | 101 | if (sourcesConfig.isDeezer() || lyricsSourcesConfig.isDeezer()) { |
106 | 102 | this.deezer = new DeezerAudioSourceManager(deezerConfig.getMasterDecryptionKey(), deezerConfig.getArl(), deezerConfig.getFormats()); |
107 | 103 | } |
| 104 | + |
108 | 105 | if (sourcesConfig.isYandexMusic() || lyricsSourcesConfig.isYandexMusic()) { |
109 | 106 | this.yandexMusic = new YandexMusicSourceManager(yandexMusicConfig.getAccessToken()); |
| 107 | + |
| 108 | + proxyConfigurationService.configure(this.yandexMusic, yandexMusicConfig.getProxy()); |
| 109 | + |
110 | 110 | if (yandexMusicConfig.getPlaylistLoadLimit() > 0) { |
111 | 111 | yandexMusic.setPlaylistLoadLimit(yandexMusicConfig.getPlaylistLoadLimit()); |
112 | 112 | } |
| 113 | + |
113 | 114 | if (yandexMusicConfig.getAlbumLoadLimit() > 0) { |
114 | 115 | yandexMusic.setAlbumLoadLimit(yandexMusicConfig.getAlbumLoadLimit()); |
115 | 116 | } |
| 117 | + |
116 | 118 | if (yandexMusicConfig.getArtistLoadLimit() > 0) { |
117 | 119 | yandexMusic.setArtistLoadLimit(yandexMusicConfig.getArtistLoadLimit()); |
118 | 120 | } |
| 121 | + |
119 | 122 | } |
| 123 | + |
120 | 124 | if (sourcesConfig.isFloweryTTS()) { |
121 | 125 | this.flowerytts = new FloweryTTSSourceManager(floweryTTSConfig.getVoice()); |
122 | 126 | if (floweryTTSConfig.getTranslate()) { |
@@ -172,30 +176,7 @@ public LavaSrcPlugin( |
172 | 176 | if (sourcesConfig.isJiosaavn()) { |
173 | 177 | this.jioSaavn = new JioSaavnAudioSourceManager(jioSaavnConfig.buildConfig()); |
174 | 178 |
|
175 | | - HttpProxyConfig proxyConfig = jioSaavnConfig.getProxy(); |
176 | | - if (proxyConfig != null && proxyConfig.getUrl() != null) { |
177 | | - HttpHost httpHost = HttpHost.create(proxyConfig.getUrl()); |
178 | | - |
179 | | - BasicCredentialsProvider credentialsProvider; |
180 | | - if (proxyConfig.getUsername() != null && proxyConfig.getPassword() != null) { |
181 | | - credentialsProvider = new BasicCredentialsProvider(); |
182 | | - credentialsProvider.setCredentials( |
183 | | - new AuthScope(httpHost), |
184 | | - new UsernamePasswordCredentials(proxyConfig.getUsername(), proxyConfig.getPassword()) |
185 | | - ); |
186 | | - } else { |
187 | | - credentialsProvider = null; |
188 | | - } |
189 | | - |
190 | | - log.info("Using {} as http proxy for JioSaavn. With basic auth: {}", httpHost, credentialsProvider != null); |
191 | | - |
192 | | - this.jioSaavn.configureBuilder(builder -> { |
193 | | - builder.setProxy(httpHost); |
194 | | - if (credentialsProvider != null) { |
195 | | - builder.setDefaultCredentialsProvider(credentialsProvider); |
196 | | - } |
197 | | - }); |
198 | | - } |
| 179 | + proxyConfigurationService.configure(this.jioSaavn, jioSaavnConfig.getProxy()); |
199 | 180 | } |
200 | 181 | } |
201 | 182 |
|
|
0 commit comments