-
-
Save hackruu/6fc318e677b899f99751 to your computer and use it in GitHub Desktop.
@ermis2
Added classicalradio.com as suggested, thanks.
https://github.com/aph/difmplay/issues/1
As I have said in the link above, your listen key generator does not work anymore.
The maintainer of the music player says that auto-register might not work, even if the listen ID is provided.
Could you confirm or deny this? I really hope that you can combine the two gits together into onein the future.
Acquiring trial fails returning HTTP 422 with reason "Unprocessable Entity". You still can activate account from web page (di.fm/trial).
After the playlists are created, when added to Winamp the login box appears, yet the username and password displayed don't work as it always gives errors.
There is also RadioTunes added to their network: JSONRADIOTUNES="http://listen.radiotunes.com/premium_high.json"
Seems, URL to get trial
https://api.audioaddict.com/v1/di/members/$id/subscriptions/trial/premium-pass
is not working for me
answer is:
{"errors":{"plan_key":"Invalid Plan"}
On active trial accouns is:
"plan": {
"allow_trial": true,
"availability_ends_at": null,
"availability_starts_at": "2016-12-20T06:25:00-05:00",
"created_at": "2016-12-22T06:26:05-05:00",
"id": 4,
"key": "premium-radio-2016",
"mobile_only": false,
"name": "Premium Radio",
"trial_duration_days": 7,
"updated_at": "2016-12-22T07:47:22-05:00"
}
But "plan_key" as "premium-radio-2016" doesn't work for me.
Any ideas?
that's right, but if you log in with generated credentials to http://www.di.fm/member/premium/trial/activate you will receive your premium. ideas welcome.
Act as browser without checking avail.
--- di-fm-premium-account-generator.sh.orig 2017-03-08 01:23:29.000000000 +0500
+++ di-fm-premium-account-generator.sh.new 2017-03-08 01:26:44.000000000 +0500
@@ -56,27 +56,22 @@
rndsleep
-# login
-json=$(curl -b $COOKIES -c $COOKIES -s -u $AUTH --request POST "https://api.audioaddict.com/v1/di/members/authenticate" --user-agent "$AGENT" \
---data-urlencode "username=$login@$DOMAIN" --data-urlencode "password=$pass")
+# get csrf-token
+csrf_token=$(curl -s --request GET "https://www.di.fm/login" | awk -F'<input name="authenticity_token" type="hidden" value="' '{ print $2 }' | awk -F'"' '{ print $1 }'| sed '/^$/d')
rndsleep
-# set envs
-api_key=$(echo "$json" | jshon -e api_key -u)
-id=$(echo "$json" | jshon -e id -u)
-
-rndsleep
-
-# check premium avail for this acct.
-curl -b $COOKIES -c $COOKIES -s -u $AUTH --request GET "https://api.audioaddict.com/v1/di/members/$id/subscriptions/trial_allowed/premium-pass?api_key=$api_key" \
- --user-agent "$AGENT" >/dev/null
+# login
+curl -c $COOKIES -s --request POST "https://www.di.fm/login" --user-agent "$AGENT" \
+--data "utf8=%E2%9C%93" --data-urlencode "authenticity_token=$csrf_token" \
+--data-urlencode "member_session[username]=$login@$DOMAIN" --data-urlencode "member_session[password]=$pass" \
+--data-urlencode "member_session[remember_me]=0" >/dev/null
rndsleep
# subscribe to 7 day premium trial
-curl -b $COOKIES -c $COOKIES -s -u $AUTH --request POST "https://api.audioaddict.com/v1/di/members/$id/subscriptions/trial/premium-pass" \
- --user-agent "$AGENT" --data-urlencode "api_key=$api_key" >/dev/null
+curl -b $COOKIES -c $COOKIES -s --request GET "http://www.di.fm/member/premium/trial/activate" \
+ --user-agent "$AGENT" >/dev/null
rndsleep
Brilliant! Applied proposed patch, tested, worked like a charm! Thanks. Gist updated.
playlist function fixed (check my fork):
radioname="$3"
echo "#EXTM3U" > "$playlistfile"
json=$(curl -s "$jsonurl")
- num=$(echo "$json" | jshon -l)
+ nlinks=$(echo "$json" | jshon -l)
+ num=$(($nlinks-1))
for i in $(seq 0 $num); do
name=$(echo $json | jshon -e $i -e name -u)
playlist=$(echo $json | jshon -e $i -e playlist -u)
+ json2=$(curl -s $playlist)
+ playlist2=$(echo $json2 | grep -o -P '(?<=File1=).*(?= Title1)')
echo "#EXTINF:0, $name" >> "$playlistfile"
- echo $playlist?$listen_key >> "$playlistfile"
+ echo $playlist2?$listen_key >> "$playlistfile"
+ j=$((i+1))
+ echo "$j.- $playlist2"
done
- echo "$radioname" playlist written to "$playlistfile"
+ echo "$nlinks channels from $radioname written to $playlistfile playlist"
+ echo ""
}
# check for jshon
one less request, get all requests as browser without audioaddict api
--- di-fm-premium-account-generator.sh.orig 2017-03-11 21:46:30.000000000 +0500
+++ di-fm-premium-account-generator.sh.new 2017-03-11 23:11:58.000000000 +0500
@@ -1,7 +1,6 @@
#!/bin/bash
-AGENT="AudioAddict-di/1.4.7 iOS/8.1"
+AGENT="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"
COOKIES="./cookies.txt"
-AUTH="ephemeron:dayeiph0ne@pp"
DOMAIN=gmail.com
PLAYLISTDI="di.fm.m3u"
PLAYLISTSKY="sky.fm.m3u"
@@ -46,26 +45,21 @@
# generate identity and password
login=$(pwgen -0 $[ ( $RANDOM % 2 ) + 6 ] 1 | tr [A-Z] [a-z])
-lastname=$(pwgen -0 $[ ( $RANDOM % 4 ) + 8 ] 1 | tr [A-Z] [a-z])
pass=$(pwgen -0 $[ ( $RANDOM % 2 ) + 6 ] 1 | tr [A-Z] [a-z])
-# register
-curl -b $COOKIES -c $COOKIES -s -u $AUTH --request POST 'https://api.audioaddict.com/v1/di/members' --user-agent "$AGENT" \
---data-urlencode "member[first_name]=$login" --data-urlencode "member[last_name]=$lastname" \
---data-urlencode "member[password_confirmation]=$pass" --data-urlencode "member[password]=$pass" --data-urlencode "member[email]=$login@$DOMAIN" >/dev/null
-
-rndsleep
-
# get csrf-token
-csrf_token=$(curl -s --request GET "https://www.di.fm/login" | awk -F'<input name="authenticity_token" type="hidden" value="' '{ print $2 }' | awk -F'"' '{ print $1 }'| sed '/^$/d')
+csrf_token=$(curl -c $COOKIES -s --request GET "https://www.di.fm/join" --user-agent "$AGENT" \
+ | awk -F'<input name="authenticity_token" type="hidden" value="' '{ print $2 }' \
+ | awk -F'"' '{ print $1 }' \
+ | sed '/^$/d')
rndsleep
-# login
-curl -c $COOKIES -s --request POST "https://www.di.fm/login" --user-agent "$AGENT" \
---data "utf8=%E2%9C%93" --data-urlencode "authenticity_token=$csrf_token" \
---data-urlencode "member_session[username]=$login@$DOMAIN" --data-urlencode "member_session[password]=$pass" \
---data-urlencode "member_session[remember_me]=0" >/dev/null
+# register
+curl -b $COOKIES -c $COOKIES -s --request POST "https://www.di.fm/member" -H "X-CSRF-Token: $csrf_token" \
+--user-agent "$AGENT" --data "utf8=%E2%9C%93" --data-urlencode "authenticity_token=$csrf_token" \
+--data-urlencode "member[email]=$login@$DOMAIN" --data-urlencode "member[password]=$pass" \
+--data-urlencode "member[password_confirmation]=$pass" >/dev/null
rndsleep
@@ -75,17 +69,19 @@
rndsleep
-#login again
-json=$(curl -b $COOKIES -c $COOKIES -s -u $AUTH --request POST "https://api.audioaddict.com/v1/di/members/authenticate" --user-agent "$AGENT" \
---data-urlencode "username=$login@$DOMAIN" --data-urlencode "password=$pass")
+# get audioaddict config
+json=$(curl -b $COOKIES -c $COOKIES -s --request GET "http://www.di.fm" --user-agent "$AGENT" \
+ | awk -F' this.AudioAddict.API.Config = ' '{ print $2 }' \
+ | awk -F';' '{ print $1 }' \
+ | sed '/^$/d')
# set envs
-api_key=$(echo "$json" | jshon -e api_key -u)
-listen_key=$(echo "$json" | jshon -e listen_key -u)
-id=$(echo "$json" | jshon -e id)
-activated=$(echo "$json" | jshon -e activated)
+api_key=$(echo "$json" | jshon -e member | jshon -e api_key -u)
+listen_key=$(echo "$json" | jshon -e listenKey -u)
+id=$(echo "$json" | jshon -e member | jshon -e id)
+access=$(echo "$json" | jshon -e access)
-echo "activated $activated"
+echo "access $access"
echo "listen_key $listen_key"
echo "api_key $api_key"
echo "id $id"
Hey guys...just bumped into this code by accident...But I am a listener of di.fm...so what does the code in this repository do exactly? Is it like a way to unlock premium membership in the site or sth?
This gist generate one week trial playlist for audioaddict's radios.
the output of this is now asking for auth on play. trials are only permitted on mobiles, and the urls for the web trial signup 404
as ChangePlaces mentioned. this no longer works. tested today.
'trial premium' is no longer offered... :-(
this won't work anymore...
Я вообще не знаю как сделать, чтобы было premium? Через какое приложение нужно делать, чтобы получить подписку?
Я вообще не знаю как сделать, чтобы было premium? Через какое приложение нужно делать, чтобы получить подписку? Кто делал подскажите пожалуйста буду благодарен
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?
"пробна премія" більше не пропонується... :-( це більше не працюватиме...
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?
як згадано ChangePlaces. це більше не працює. перевірено сьогодні.
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?ммПодскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом
результат цього тепер запитує авторизацію під час відтворення. пробні версії дозволені лише на мобільних телефонах, а URL-адреси для реєстрації в пробній веб-сторінці 404
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?ммПодскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?
це так, але якщо ви увійдете зі згенерованими обліковими даними на http://www.di.fm/member/premium/trial/activate , ви отримаєте свою премію. ідеї вітаються.
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?
так, ви можете запускати цей скрипт раз на тиждень :)
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?
хтось може підказати мені, будь ласка, як налаштувати це на преміум-версію radiotunes?
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?
Спасибі.
Порада: Ви також можете додати http://classicalradio.com , який було додано до мережі.
JSONCLASSICAL=" http://listen.classicalradio.com/premium_high.json "
Подскажи пожалуйста как активировать premium аккаунт? Что нужно делать с кодом?
@Yaroslav457-cmd ты еблан? иди на хуй отсюда
Ditube - Experimental service for free listetening DI.FM channels https://ditube.opn.pm
@Yaroslav457-cmd ты еблан? иди на хуй отсюда
бхахаха, красава
Ditube - Experimental service for free listetening DI.FM channels https://ditube.opn.pm
This is awesome!!!
How do I get curl, gcc, jshon, and jansson to work with cygwin lite for windows (didnt feel like installing cygwin the most bloated thing ever) just want the individual files. I was able to to get pwgen to work but that was it. the rest had DLL dependencies I didn't install correctly.