@@ -27,10 +27,21 @@ impl Default for Arguments {
2727}
2828
2929fn get_client_id ( ) -> String {
30- let req = reqwest:: blocking:: get ( "https://a-v2.sndcdn.com/assets/0-79b49120.js" ) . unwrap ( ) . text ( ) . unwrap ( ) ;
31- let re = regex:: Regex :: new ( r#"client_id:"(.*?)""# ) . unwrap ( ) ;
32- let r = re. captures ( & req) . unwrap ( ) . get ( 0 ) . unwrap ( ) . as_str ( ) ;
33- r[ 11 ..r. len ( ) -1 ] . to_owned ( )
30+ let req = reqwest:: blocking:: get ( "https://soundcloud.com/zeunig/test" ) . unwrap ( ) . text ( ) . unwrap ( ) ;
31+ let re = regex:: Regex :: new ( r#"https://a-v2.sndcdn.com/assets/([0-9]{1,3}-[a-zA-Z0-9*?]{8})\.js"# ) . unwrap ( ) ;
32+ let capturing: Vec < & str > = re. find_iter ( & req) . map ( |m| m. as_str ( ) ) . collect ( ) ;
33+ for capture in capturing {
34+ let capture_request = reqwest:: blocking:: get ( capture) . unwrap ( ) . text ( ) . unwrap ( ) ;
35+ let re = regex:: Regex :: new ( r#"client_id:"(.*?)""# ) . unwrap ( ) ;
36+ let r = re. find ( & capture_request) ;
37+ match r {
38+ Some ( client_id) => {
39+ return client_id. as_str ( ) [ 11 ..client_id. len ( ) -1 ] . to_string ( ) ;
40+ } ,
41+ None => { }
42+ }
43+ }
44+ panic ! ( "no client id found" ) ;
3445}
3546
3647fn additional_argument_helper ( args : & Vec < String > ) -> Arguments {
@@ -233,7 +244,6 @@ fn main() {
233244 headers. insert ( "sec-ch-ua-platform" , "\" Windows\" " . parse ( ) . unwrap ( ) ) ;
234245 let req = reqwest:: blocking:: ClientBuilder :: new ( ) . use_rustls_tls ( ) . danger_accept_invalid_certs ( true ) . build ( ) . unwrap ( ) ;
235246 let r = req. get ( format ! ( "https://soundcloud.com/{}" , arg2) ) . headers ( headers) . send ( ) . unwrap ( ) . text ( ) . unwrap ( ) ;
236- println ! ( "{}" , req. get( "https://api.ipify.org/" ) . send( ) . unwrap( ) . text( ) . unwrap( ) ) ;
237247 let reg = Regex :: new ( r#""id":([0-9]*?),"kind":"track","# ) . unwrap ( ) ;
238248 for a in reg. captures_iter ( & r) . map ( |c| c. get ( 1 ) ) {
239249 match a {
0 commit comments