Wyliemaster/GD-Decompiled

this isn't really an issue more like a question

Jedi-Coder1 opened this issue ยท 30 comments

how does geometry dash download songs and what url does it use

xBZZZZ commented
  1. post songID=song id here&secret=Wmfd2893gb7 to http://www.boomlings.com/database/getGJSongInfo.php
  2. split response by ~|~
  3. find 10 at even index (counting from 0)
  4. url decode next item
  5. download song using url
example:
  1. $ wget --user-agent= "--post-data=songID=323384&secret=Wmfd2893gb7" --quiet --output-document=- http://www.boomlings.com/database/getGJSongInfo.php
    1~|~323384~|~2~|~Lunatic Princess (Raigon Mix)~|~3~|~4558~|~4~|~Raigon50~|~5~|~6.28~|~6~|~~|~10~|~http%3A%2F%2Faudio.ngfiles.com%2F323000%2F323384_Lunatic_Princess___DJ_Raig.mp3~|~7~|~
  2. indexstring
    01
    1323384
    22
    3Lunatic Princess (Raigon Mix)
    43
    54558
    64
    7Raigon50
    85
    96.28
    106
    11
    1210
    13http%3A%2F%2Faudio.ngfiles.com%2F323000%2F323384_Lunatic_Princess___DJ_Raig.mp3
    147
    15
  3. 10 is at index 12
  4. url decode http%3A%2F%2Faudio.ngfiles.com%2F323000%2F323384_Lunatic_Princess___DJ_Raig.mp3 โ†’ http://audio.ngfiles.com/323000/323384_Lunatic_Princess___DJ_Raig.mp3
  5. $ wget --no-verbose http://audio.ngfiles.com/323000/323384_Lunatic_Princess___DJ_Raig.mp3
    2023-11-02 20:10:27 URL:http://audio.ngfiles.com/323000/323384_Lunatic_Princess___DJ_Raig.mp3 [6582773/6582773] -> "323384_Lunatic_Princess___DJ_Raig.mp3" [1]

thanks

it just says i've been blocked

That might be cloudflare, making the user agent empty will fix it

how would i do that?

xBZZZZ commented

how would i do that?

what do you use to make http request?

python why?

xBZZZZ commented

python why?

that's an entire programming language, which function from which library do you use?

ok nvm but now getGJSongInfo just returns -1

python why?

that's an entire programming language, which function from which library do you use?

requests.post

xBZZZZ commented

ok nvm but now getGJSongInfo just returns -1

-1 means bad song id

-2 means Song is not allowed for use.

i dont think https://www.newgrounds.com/audio/listen/33326 is not allowed is it?

i will first try a different song

yeah everything all song ids return -1

nvm guys i found the issue

i just forgot how to add the data to the post request

whoops

thanks for the help tho

xBZZZZ commented

yeah everything all song ids return -1

this works:

requests.post(
	url='http://www.boomlings.com/database/getGJSongInfo.php',
	data='songID=33326&secret=Wmfd2893gb7',
	headers={
		'user-agent':'',
		'content-type':'application/x-www-form-urlencoded'
	}
).text

it was wrong content-type

yeah i got it all sorted out with

import requests

headers = {
    'User-Agent': ''
}
data = {
    "songID": "829776",
    "secret": "Wmfd2893gb7"
}

r = requests.post("https://www.boomlings.com/database/getGJSongInfo.php", headers=headers, data=data)
print(r.text)

what does error code: 1005 mean?

xBZZZZ commented

what does error code: 1005 mean?

which song id you tried?

xBZZZZ commented

i used 895195 which is https://www.newgrounds.com/audio/listen/895195

works for me:

>>> requests.post(
...     url='http://www.boomlings.com/database/getGJSongInfo.php',
...     data='songID=895195&secret=Wmfd2893gb7',
...     headers={
...             'user-agent':'',
...             'content-type':'application/x-www-form-urlencoded'
...     }
... ).text
'1~|~895195~|~2~|~Cosmic Growl~|~3~|~347~|~4~|~DJVI~|~5~|~7.09~|~6~|~~|~10~|~https%3A%2F%2Faudio.ngfiles.com%2F895000%2F895195_Cosmic-Growl.mp3%3Ff1575046798~|~7~|~'

does downloading that song in vanilla geometry dash work?

yeah i can download the song in gd

what does error code: 1005 mean?

pernament ip block (cloudflare)

what does error code: 1005 mean?

pernament ip block (cloudflare)

DAMN

xBZZZZ commented

yeah i can download the song in gd

if 1005 = ip blocked then why can you download song in gd?
do you use proxy in your download script?

yeah i can download the song in gd

if 1005 = ip blocked then why can you download song in gd? do you use proxy in your download script?

yeah I'm doing for my friend who has ngfiles blocked

try to add the line not starting with #:

#import requests
#
#headers = {
#    'User-Agent': '',
#    'Content-Type': 'application/x-www-form-urlencoded'
#}
#data = {
#    "songID": "829776",
#    "secret": "Wmfd2893gb7"
#}
#
#r = requests.post("https://www.boomlings.com/database/getGJSongInfo.php", 
#    headers=headers, data=data,
      cookies={"gd": "1"}             # add this line, it may help (discovered its use using wireshark)
#)
#print(r.text)