POL_GoG_login

Informations

Creator Message
Ground0

Information

This installer has been approved by the team.

Informations

Platforms:
Downloads: 170824
Wine: System

Feedbacks

Description

Create a Login Session Cookie and set the var GOG_LOGIN to Ok if successfull and if the User Cancel it exit.

Source code

#!/usr/bin/env playonlinux-bash

# CHANGELOG
# [Ground0] (2016-02-17 09:45)
#   Initial Version
#
# Date : (2016-02-17 09:45)
# Last revision : (2016-02-17 09:45)
# Distribution used to test : OpenSUSE Tumbleweed / openSUSE Leap 42.1 / OS X 10.11.2
# Author : René Linder rene.linder@lihaso.ch
# Script licence : GPL v.2
# Depend :

#############################################
#
# Login / open session for using
#
#
# The Cookies:
#

local COOKIES="$POL_USER_ROOT/tmp/gog_cookies"
local COOKIES_2="$POL_USER_ROOT/tmp/gog_cookies2"
local COOKIES_3="$POL_USER_ROOT/tmp/gog_cookies3"
local COOKIES_4="$POL_USER_ROOT/tmp/gog_cookies4"
COOKIES_FINAL="$POL_USER_ROOT/tmp/gog_cookie_logedin"

local USER_AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36"

local APP_ANSWER

while true; do
        POL_SetupWindow_login "$(eval_gettext 'Please enter your gog.com login to download $BASENAME')" "$TITLE" "http://www.gog.com/"

        POL_SetupWindow_wait "$(eval_gettext 'Please wait...')" "$TITLE"
        
    ##########################
    #
    # Cleanup existing cookies:
    # 
        
        rm "$COOKIES" 2> /dev/null
        rm "$COOKIES_2" 2> /dev/null
        rm "$COOKIES_3" 2> /dev/null
        rm "$COOKIES_4" 2> /dev/null
        rm "$COOKIES_FINAL" 2> /dev/null
        
        ##########################
        #
        # Get the Login Link:
        #
        
        local login_link="$($POL_WGET https://www.gog.com -O- --keep-session-cookies --save-cookies=$COOKIES --user-agent="$USER_AGENT" | sed -ne "s@.*'\(https://auth.gog.com/[^']*\)'.*@\1@p")"
    
    POL_Debug_Message "Login Link: $login_link"
    
    ##########################
    #
    # Get the initial Cookie
    #
    
    $POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_2 --load-cookies=$COOKIES --referer=https://www.gog.com/ --user-agent="$USER_AGENT" 
    
    ##########################
    #
    # Get the Login session token
    
        local token="$($POL_WGET "$login_link" -O- --keep-session-cookies --save-cookies=$COOKIES_3 --load-cookies=$COOKIES_2 --referer=https://www.gog.com/ --user-agent="$USER_AGENT" | sed -ne 's@.*<input type="hidden" id="login__token" name="login\[_token\]" value="\([^"]*\)" />.*@\1@p')"

    POL_Debug_Message "token: $token"
        
        ##########################
        #
        # Main Login part:
        #
        # RegEx to get the token : <input type="hidden" id="login__token" name="login\[_token\]" value="(.*?)" \/>
        # 

        $POL_WGET https://login.gog.com/login_check -O- --keep-session-cookies --save-cookies=$COOKIES_4 --load-cookies=$COOKIES_3 --post-data="login%5Busername%5D=$(POL_Website_urlencode "$POL_LOGIN")&login%5Bpassword%5D=$(POL_Website_urlencode "$POL_PASSWORD")&login%5Blogin%5D=&login%5B_token%5D=$token" --no-check-certificate  --referer=$login_link --user-agent="$USER_AGENT"
        
        POL_Debug_Message "info: $outputget"

        ##########################
        #
        # Clear Login informations from vars.
        
        unset POL_LOGIN POL_PASSWORD

        ##########################
        #
        # Generate the final Cookie
        # To get it call again : https://www.gog.com/userData.json

        $POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_FINAL --load-cookies=$COOKIES_4 --referer=https://www.gog.com/ --user-agent="$USER_AGENT"

        ##########################
        #
        # Test if the Cookie has the gog_us session code inside.
        #
        local AUTH_SESSION="$(awk '$6 == "gog_us" { print $7 }' $COOKIES_FINAL)"
        [ "$AUTH_SESSION" ] && GOG_LOGIN="Ok" && POL_Debug_Message "AUTH SESSION: $AUTH_SESSION" && break
        
        unset AUTH_SESSION

        POL_SetupWindow_question "$(eval_gettext 'Gog.com login failed, try again?')" "$TITLE"
        if [ "$APP_ANSWER" = "FALSE" ]; then
                POL_SetupWindow_Close
                exit 1
        fi
done

Contributions

Filters:

Contribute
Member Message
petch Wednesday 17 February 2016 at 20:09
petch

Information

This update has been approved by the team.

Message

Make variables local to avoid polluting the environment ;)

Differences

@@ -19,13 +19,15 @@
 # The Cookies:
 #
 
-COOKIES="$POL_USER_ROOT/tmp/gog_cookies"
-COOKIES_2="$POL_USER_ROOT/tmp/gog_cookies2"
-COOKIES_3="$POL_USER_ROOT/tmp/gog_cookies3"
-COOKIES_4="$POL_USER_ROOT/tmp/gog_cookies4"
+local COOKIES="$POL_USER_ROOT/tmp/gog_cookies"
+local COOKIES_2="$POL_USER_ROOT/tmp/gog_cookies2"
+local COOKIES_3="$POL_USER_ROOT/tmp/gog_cookies3"
+local COOKIES_4="$POL_USER_ROOT/tmp/gog_cookies4"
 COOKIES_FINAL="$POL_USER_ROOT/tmp/gog_cookie_logedin"
 
-USER_AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36"
+local USER_AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36"
+
+local APP_ANSWER
 
 while true; do
 	POL_SetupWindow_login "$(eval_gettext 'Please enter your gog.com login to download $BASENAME')" "$TITLE" "http://www.gog.com/"
@@ -48,7 +50,7 @@
 	# Get the Login Link:
 	#
 	
-	login_link="$($POL_WGET https://www.gog.com -O- --keep-session-cookies --save-cookies=$COOKIES --user-agent="$USER_AGENT" | sed -ne "s@.*'\(https://auth.gog.com/[^']*\)'.*@\1@p")"
+	local login_link="$($POL_WGET https://www.gog.com -O- --keep-session-cookies --save-cookies=$COOKIES --user-agent="$USER_AGENT" | sed -ne "s@.*'\(https://auth.gog.com/[^']*\)'.*@\1@p")"
     
     POL_Debug_Message "Login Link: $login_link"
     
@@ -63,7 +65,7 @@
     #
     # Get the Login session token
     
-	token="$($POL_WGET "$login_link" -O- --keep-session-cookies --save-cookies=$COOKIES_3 --load-cookies=$COOKIES_2 --referer=https://www.gog.com/ --user-agent="$USER_AGENT" | sed -ne 's@.*<input type="hidden" id="login__token" name="login\[_token\]" value="\([^"]*\)" />.*@\1@p')"
+	local token="$($POL_WGET "$login_link" -O- --keep-session-cookies --save-cookies=$COOKIES_3 --load-cookies=$COOKIES_2 --referer=https://www.gog.com/ --user-agent="$USER_AGENT" | sed -ne 's@.*<input type="hidden" id="login__token" name="login\[_token\]" value="\([^"]*\)" />.*@\1@p')"
 
     POL_Debug_Message "token: $token"
 	
@@ -95,14 +97,14 @@
 	#
 	# Test if the Cookie has the gog_us session code inside.
 	#
-	AUTH_SESSION="$(awk '$6 == "gog_us" { print $7 }' $COOKIES_FINAL)"
-	[ "$AUTH_SESSION" != "" ] && GOG_LOGIN="Ok" && POL_Debug_Message "AUTH SESSION: $AUTH_SESSION" && break
+	local AUTH_SESSION="$(awk '$6 == "gog_us" { print $7 }' $COOKIES_FINAL)"
+	[ "$AUTH_SESSION" ] && GOG_LOGIN="Ok" && POL_Debug_Message "AUTH SESSION: $AUTH_SESSION" && break
 	
 	unset AUTH_SESSION
 
 	POL_SetupWindow_question "$(eval_gettext 'Gog.com login failed, try again?')" "$TITLE"
 	if [ "$APP_ANSWER" = "FALSE" ]; then
 		POL_SetupWindow_Close
-		exit
+		exit 1
 	fi
 done

New source code

#!/usr/bin/env playonlinux-bash

# CHANGELOG
# [Ground0] (2016-02-17 09:45)
#   Initial Version
#
# Date : (2016-02-17 09:45)
# Last revision : (2016-02-17 09:45)
# Distribution used to test : OpenSUSE Tumbleweed / openSUSE Leap 42.1 / OS X 10.11.2
# Author : René Linder rene.linder@lihaso.ch
# Script licence : GPL v.2
# Depend :

#############################################
#
# Login / open session for using
#
#
# The Cookies:
#

local COOKIES="$POL_USER_ROOT/tmp/gog_cookies"
local COOKIES_2="$POL_USER_ROOT/tmp/gog_cookies2"
local COOKIES_3="$POL_USER_ROOT/tmp/gog_cookies3"
local COOKIES_4="$POL_USER_ROOT/tmp/gog_cookies4"
COOKIES_FINAL="$POL_USER_ROOT/tmp/gog_cookie_logedin"

local USER_AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36"

local APP_ANSWER

while true; do
        POL_SetupWindow_login "$(eval_gettext 'Please enter your gog.com login to download $BASENAME')" "$TITLE" "http://www.gog.com/"

        POL_SetupWindow_wait "$(eval_gettext 'Please wait...')" "$TITLE"
        
    ##########################
    #
    # Cleanup existing cookies:
    # 
        
        rm "$COOKIES" 2> /dev/null
        rm "$COOKIES_2" 2> /dev/null
        rm "$COOKIES_3" 2> /dev/null
        rm "$COOKIES_4" 2> /dev/null
        rm "$COOKIES_FINAL" 2> /dev/null
        
        ##########################
        #
        # Get the Login Link:
        #
        
        local login_link="$($POL_WGET https://www.gog.com -O- --keep-session-cookies --save-cookies=$COOKIES --user-agent="$USER_AGENT" | sed -ne "s@.*'\(https://auth.gog.com/[^']*\)'.*@\1@p")"
    
    POL_Debug_Message "Login Link: $login_link"
    
    ##########################
    #
    # Get the initial Cookie
    #
    
    $POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_2 --load-cookies=$COOKIES --referer=https://www.gog.com/ --user-agent="$USER_AGENT" 
    
    ##########################
    #
    # Get the Login session token
    
        local token="$($POL_WGET "$login_link" -O- --keep-session-cookies --save-cookies=$COOKIES_3 --load-cookies=$COOKIES_2 --referer=https://www.gog.com/ --user-agent="$USER_AGENT" | sed -ne 's@.*<input type="hidden" id="login__token" name="login\[_token\]" value="\([^"]*\)" />.*@\1@p')"

    POL_Debug_Message "token: $token"
        
        ##########################
        #
        # Main Login part:
        #
        # RegEx to get the token : <input type="hidden" id="login__token" name="login\[_token\]" value="(.*?)" \/>
        # 

        $POL_WGET https://login.gog.com/login_check -O- --keep-session-cookies --save-cookies=$COOKIES_4 --load-cookies=$COOKIES_3 --post-data="login%5Busername%5D=$(POL_Website_urlencode "$POL_LOGIN")&login%5Bpassword%5D=$(POL_Website_urlencode "$POL_PASSWORD")&login%5Blogin%5D=&login%5B_token%5D=$token" --no-check-certificate  --referer=$login_link --user-agent="$USER_AGENT"
        
        POL_Debug_Message "info: $outputget"

        ##########################
        #
        # Clear Login informations from vars.
        
        unset POL_LOGIN POL_PASSWORD

        ##########################
        #
        # Generate the final Cookie
        # To get it call again : https://www.gog.com/userData.json

        $POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_FINAL --load-cookies=$COOKIES_4 --referer=https://www.gog.com/ --user-agent="$USER_AGENT"

        ##########################
        #
        # Test if the Cookie has the gog_us session code inside.
        #
        local AUTH_SESSION="$(awk '$6 == "gog_us" { print $7 }' $COOKIES_FINAL)"
        [ "$AUTH_SESSION" ] && GOG_LOGIN="Ok" && POL_Debug_Message "AUTH SESSION: $AUTH_SESSION" && break
        
        unset AUTH_SESSION

        POL_SetupWindow_question "$(eval_gettext 'Gog.com login failed, try again?')" "$TITLE"
        if [ "$APP_ANSWER" = "FALSE" ]; then
                POL_SetupWindow_Close
                exit 1
        fi
done

Replies

Ground0 Wednesday 17 February 2016 at 10:13
Ground0

Warning

This update has not been approved yet by the team.
Use it at your own risk

Differences

@@ -0,0 +1,108 @@
+#!/usr/bin/env playonlinux-bash
+
+# CHANGELOG
+# [Ground0] (2016-02-17 09:45)
+#   Initial Version
+#
+# Date : (2016-02-17 09:45)
+# Last revision : (2016-02-17 09:45)
+# Distribution used to test : OpenSUSE Tumbleweed / openSUSE Leap 42.1 / OS X 10.11.2
+# Author : René Linder rene.linder@lihaso.ch
+# Script licence : GPL v.2
+# Depend :
+
+#############################################
+#
+# Login / open session for using
+#
+#
+# The Cookies:
+#
+
+COOKIES="$POL_USER_ROOT/tmp/gog_cookies"
+COOKIES_2="$POL_USER_ROOT/tmp/gog_cookies2"
+COOKIES_3="$POL_USER_ROOT/tmp/gog_cookies3"
+COOKIES_4="$POL_USER_ROOT/tmp/gog_cookies4"
+COOKIES_FINAL="$POL_USER_ROOT/tmp/gog_cookie_logedin"
+
+USER_AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36"
+
+while true; do
+	POL_SetupWindow_login "$(eval_gettext 'Please enter your gog.com login to download $BASENAME')" "$TITLE" "http://www.gog.com/"
+
+	POL_SetupWindow_wait "$(eval_gettext 'Please wait...')" "$TITLE"
+	
+    ##########################
+    #
+    # Cleanup existing cookies:
+    # 
+	
+	rm "$COOKIES" 2> /dev/null
+	rm "$COOKIES_2" 2> /dev/null
+	rm "$COOKIES_3" 2> /dev/null
+	rm "$COOKIES_4" 2> /dev/null
+	rm "$COOKIES_FINAL" 2> /dev/null
+	
+	##########################
+	#
+	# Get the Login Link:
+	#
+	
+	login_link="$($POL_WGET https://www.gog.com -O- --keep-session-cookies --save-cookies=$COOKIES --user-agent="$USER_AGENT" | sed -ne "s@.*'\(https://auth.gog.com/[^']*\)'.*@\1@p")"
+    
+    POL_Debug_Message "Login Link: $login_link"
+    
+    ##########################
+    #
+    # Get the initial Cookie
+    #
+    
+    $POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_2 --load-cookies=$COOKIES --referer=https://www.gog.com/ --user-agent="$USER_AGENT" 
+    
+    ##########################
+    #
+    # Get the Login session token
+    
+	token="$($POL_WGET "$login_link" -O- --keep-session-cookies --save-cookies=$COOKIES_3 --load-cookies=$COOKIES_2 --referer=https://www.gog.com/ --user-agent="$USER_AGENT" | sed -ne 's@.*<input type="hidden" id="login__token" name="login\[_token\]" value="\([^"]*\)" />.*@\1@p')"
+
+    POL_Debug_Message "token: $token"
+	
+	##########################
+	#
+	# Main Login part:
+	#
+	# RegEx to get the token : <input type="hidden" id="login__token" name="login\[_token\]" value="(.*?)" \/>
+	# 
+
+	$POL_WGET https://login.gog.com/login_check -O- --keep-session-cookies --save-cookies=$COOKIES_4 --load-cookies=$COOKIES_3 --post-data="login%5Busername%5D=$(POL_Website_urlencode "$POL_LOGIN")&login%5Bpassword%5D=$(POL_Website_urlencode "$POL_PASSWORD")&login%5Blogin%5D=&login%5B_token%5D=$token" --no-check-certificate  --referer=$login_link --user-agent="$USER_AGENT"
+	
+	POL_Debug_Message "info: $outputget"
+
+	##########################
+	#
+	# Clear Login informations from vars.
+	
+	unset POL_LOGIN POL_PASSWORD
+
+	##########################
+	#
+	# Generate the final Cookie
+	# To get it call again : https://www.gog.com/userData.json
+
+	$POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_FINAL --load-cookies=$COOKIES_4 --referer=https://www.gog.com/ --user-agent="$USER_AGENT"
+
+	##########################
+	#
+	# Test if the Cookie has the gog_us session code inside.
+	#
+	AUTH_SESSION="$(awk '$6 == "gog_us" { print $7 }' $COOKIES_FINAL)"
+	[ "$AUTH_SESSION" != "" ] && GOG_LOGIN="Ok" && POL_Debug_Message "AUTH SESSION: $AUTH_SESSION" && break
+	
+	unset AUTH_SESSION
+
+	POL_SetupWindow_question "$(eval_gettext 'Gog.com login failed, try again?')" "$TITLE"
+	if [ "$APP_ANSWER" = "FALSE" ]; then
+		POL_SetupWindow_Close
+		exit
+	fi
+done

New source code

#!/usr/bin/env playonlinux-bash

# CHANGELOG
# [Ground0] (2016-02-17 09:45)
#   Initial Version
#
# Date : (2016-02-17 09:45)
# Last revision : (2016-02-17 09:45)
# Distribution used to test : OpenSUSE Tumbleweed / openSUSE Leap 42.1 / OS X 10.11.2
# Author : René Linder rene.linder@lihaso.ch
# Script licence : GPL v.2
# Depend :

#############################################
#
# Login / open session for using
#
#
# The Cookies:
#

COOKIES="$POL_USER_ROOT/tmp/gog_cookies"
COOKIES_2="$POL_USER_ROOT/tmp/gog_cookies2"
COOKIES_3="$POL_USER_ROOT/tmp/gog_cookies3"
COOKIES_4="$POL_USER_ROOT/tmp/gog_cookies4"
COOKIES_FINAL="$POL_USER_ROOT/tmp/gog_cookie_logedin"

USER_AGENT="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36"

while true; do
        POL_SetupWindow_login "$(eval_gettext 'Please enter your gog.com login to download $BASENAME')" "$TITLE" "http://www.gog.com/"

        POL_SetupWindow_wait "$(eval_gettext 'Please wait...')" "$TITLE"
        
    ##########################
    #
    # Cleanup existing cookies:
    # 
        
        rm "$COOKIES" 2> /dev/null
        rm "$COOKIES_2" 2> /dev/null
        rm "$COOKIES_3" 2> /dev/null
        rm "$COOKIES_4" 2> /dev/null
        rm "$COOKIES_FINAL" 2> /dev/null
        
        ##########################
        #
        # Get the Login Link:
        #
        
        login_link="$($POL_WGET https://www.gog.com -O- --keep-session-cookies --save-cookies=$COOKIES --user-agent="$USER_AGENT" | sed -ne "s@.*'\(https://auth.gog.com/[^']*\)'.*@\1@p")"
    
    POL_Debug_Message "Login Link: $login_link"
    
    ##########################
    #
    # Get the initial Cookie
    #
    
    $POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_2 --load-cookies=$COOKIES --referer=https://www.gog.com/ --user-agent="$USER_AGENT" 
    
    ##########################
    #
    # Get the Login session token
    
        token="$($POL_WGET "$login_link" -O- --keep-session-cookies --save-cookies=$COOKIES_3 --load-cookies=$COOKIES_2 --referer=https://www.gog.com/ --user-agent="$USER_AGENT" | sed -ne 's@.*<input type="hidden" id="login__token" name="login\[_token\]" value="\([^"]*\)" />.*@\1@p')"

    POL_Debug_Message "token: $token"
        
        ##########################
        #
        # Main Login part:
        #
        # RegEx to get the token : <input type="hidden" id="login__token" name="login\[_token\]" value="(.*?)" \/>
        # 

        $POL_WGET https://login.gog.com/login_check -O- --keep-session-cookies --save-cookies=$COOKIES_4 --load-cookies=$COOKIES_3 --post-data="login%5Busername%5D=$(POL_Website_urlencode "$POL_LOGIN")&login%5Bpassword%5D=$(POL_Website_urlencode "$POL_PASSWORD")&login%5Blogin%5D=&login%5B_token%5D=$token" --no-check-certificate  --referer=$login_link --user-agent="$USER_AGENT"
        
        POL_Debug_Message "info: $outputget"

        ##########################
        #
        # Clear Login informations from vars.
        
        unset POL_LOGIN POL_PASSWORD

        ##########################
        #
        # Generate the final Cookie
        # To get it call again : https://www.gog.com/userData.json

        $POL_WGET https://www.gog.com/userData.json -O- --keep-session-cookies --save-cookies=$COOKIES_FINAL --load-cookies=$COOKIES_4 --referer=https://www.gog.com/ --user-agent="$USER_AGENT"

        ##########################
        #
        # Test if the Cookie has the gog_us session code inside.
        #
        AUTH_SESSION="$(awk '$6 == "gog_us" { print $7 }' $COOKIES_FINAL)"
        [ "$AUTH_SESSION" != "" ] && GOG_LOGIN="Ok" && POL_Debug_Message "AUTH SESSION: $AUTH_SESSION" && break
        
        unset AUTH_SESSION

        POL_SetupWindow_question "$(eval_gettext 'Gog.com login failed, try again?')" "$TITLE"
        if [ "$APP_ANSWER" = "FALSE" ]; then
                POL_SetupWindow_Close
                exit
        fi
done

Replies