diff --git a/github.sh b/github.sh
index e93932c832afa1739737f67a99a8d7ab3423e28e..2f40d8a452ed91f4ab6efbff32dfcede79e49dc5 100755
--- a/github.sh
+++ b/github.sh
@@ -5,33 +5,39 @@ branch=`git rev-parse --abbrev-ref HEAD`
 if [[ ! "$branch" = "master" ]];
 then
   echo ">> This script must be run under \`master\` branch"
-  exit -1
+  exit 1
 fi
 
-
-### Releasing
+### Get version to release
 current=`grep -P "version\": \"\d+.\d+.\d+(\w*)" package.json | grep -oP "\d+.\d+.\d+(\w*)"`
+if [[ "_$version" != "_" ]]; then
+  echo "ERROR: Unable to read 'version' in the file 'package.json'."
+  echo " - Make sure the file 'package.json' exists and is readable."
+  exit 1
+fi
 echo "Current version: $current"
 
 ### Get repo URL
+PROJECT_NAME=cesium
 REPO="duniter/cesium"
-REPO_URL=https://api.github.com/repos/$REPO
+REPO_API_URL=https://api.github.com/repos/$REPO
+REPO_PUBLIC_URL=https://github.com/$REPO
 
 ###  get auth token
-GITHUB_TOKEN=`cat ~/.config/duniter/.github`
+GITHUB_TOKEN=`cat ~/.config/${PROJECT_NAME}/.github`
 if [[ "_$GITHUB_TOKEN" != "_" ]]; then
     GITHUT_AUTH="Authorization: token $GITHUB_TOKEN"
 else
-    echo "Unable to find github authentifcation token file: "
+    echo "ERROR: Unable to find github authentication token file: "
     echo " - You can create such a token at https://github.com/settings/tokens > 'Generate a new token'."
-    echo " - Then copy the token and paste it in the file '~/.config/duniter/.github' using a valid token."
-    exit -1
+    echo " - Then copy the token and paste it in the file '~/.config/${PROJECT_NAME}/.github' using a valid token."
+    exit 1
 fi
 
 case "$1" in
   del)
-    result=`curl -i "$REPO_URL/releases/tags/v$current"`
-    release_url=`echo "$result" | grep -P "\"url\": \"[^\"]+"  | grep -oP "$REPO_URL/releases/\d+"`
+    result=`curl -i "$REPO_API_URL/releases/tags/v$current"`
+    release_url=`echo "$result" | grep -P "\"url\": \"[^\"]+"  | grep -oP "$REPO_API_URL/releases/\d+"`
     if [[ $release_url != "" ]]; then
         echo "Deleting existing release..."
         curl -H 'Authorization: token $GITHUB_TOKEN'  -XDELETE $release_url
@@ -39,24 +45,28 @@ case "$1" in
   ;;
 
   pre|rel)
-    if [[ $2 != "" ]]; then
+    if [[ "_$2" != "_" ]]; then
 
       if [[ $1 = "pre" ]]; then
         prerelease="true"
       else
         prerelease="false"
       fi
-      description="$2"
 
-      result=`curl -s -H ''"$GITHUT_AUTH"'' "$REPO_URL/releases/tags/v$current"`
+    description=`echo $2`
+    if [[ "_$description" = "_" ]]; then
+        description="Release v$current"
+    fi
+
+      result=`curl -s -H ''"$GITHUT_AUTH"'' "$REPO_API_URL/releases/tags/v$current"`
       release_url=`echo "$result" | grep -P "\"url\": \"[^\"]+" | grep -oP "https://[A-Za-z0-9/.-]+/releases/\d+"`
-      if [[ $release_url != "" ]]; then
-        echo "Deleting existing release..."
-        result=`curl -H ''"$GITHUT_AUTH"'' -XDELETE $release_url`
+      if [[ "_$release_url" != "_" ]]; then
+        echo "Deleting existing release... $release_url"
+        result=`curl -H ''"$GITHUT_AUTH"'' -s -XDELETE $release_url`
         if [[ "_$result" != "_" ]]; then
             error_message=`echo "$result" | grep -P "\"message\": \"[^\"]+" | grep -oP ": \"[^\"]+\""`
             echo "Delete existing release failed with error$error_message"
-            exit -1
+            exit 1
         fi
       else
         echo "Release not exists yet on github."
@@ -65,34 +75,58 @@ case "$1" in
       echo "Creating new release..."
       echo " - tag: v$current"
       echo " - description: $description"
-      result=`curl -H ''"$GITHUT_AUTH"'' -i $REPO_URL/releases -d '{"tag_name": "v'"$current"'","target_commitish": "master","name": "'"$current"'","body": "'"$description"'","draft": false,"prerelease": '"$prerelease"'}'`
+      result=`curl -H ''"$GITHUT_AUTH"'' -s $REPO_API_URL/releases -d '{"tag_name": "v'"$current"'","target_commitish": "master","name": "'"$current"'","body": "'"$description"'","draft": false,"prerelease": '"$prerelease"'}'`
       #echo "DEBUG - $result"
       upload_url=`echo "$result" | grep -P "\"upload_url\": \"[^\"]+"  | grep -oP "https://[A-Za-z0-9/.-]+"`
 
+      if [[ "_$upload_url" = "_" ]]; then
+        echo "Failed to create new release for repo $REPO."
+        echo "Server response:"
+        echo "$result"
+        exit 1
+      fi
+
       ###  Sending files
-      echo "Uploading files to $upload_url"
-      dirname=`pwd`
-      curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: application/zip' -T $dirname/platforms/web/build/cesium-v$current-web.zip $upload_url?name=cesium-v$current-web.zip
-      curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: application/vnd.android.package-archive' -T $dirname/platforms/android/build/outputs/apk/release/android-release.apk $upload_url?name=cesium-v$current-android.apk
+      echo "Uploading files to ${upload_url}"
+      dirname=$(pwd)
+
+      ZIP_FILE="$dirname/platforms/web/build/${PROJECT_NAME}-v$current-web.zip"
+      if [[ -f "${ZIP_FILE}" ]]; then
+        result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: application/zip' -T "${ZIP_FILE}" "${upload_url}?name=${PROJECT_NAME}-v${current}-web.zip")
+        browser_download_url=$(echo "$result" | grep -P "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "\"browser_download_url\":[ ]?\"[^\"]+"  | grep -oP "https://[A-Za-z0-9/.-]+")
+        ZIP_SHA256=$(sha256sum "${ZIP_FILE}")
+        echo " - ${browser_download_url}  | SHA256 Checksum: ${ZIP_SHA256}"
+      else
+        echo " - ERROR: Web release (ZIP) not found! Skipping."
+      fi
+
+      APK_FILE="${dirname}/platforms/android/build/outputs/apk/release/android-release.apk"
+      if [[ -f "${APK_FILE}" ]]; then
+        result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: application/vnd.android.package-archive' -T "${APK_FILE}" "${upload_url}?name=${PROJECT_NAME}-v${current}-android.apk")
+        browser_download_url=$(echo "$result" | grep -P "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "\"browser_download_url\":[ ]?\"[^\"]+"  | grep -oP "https://[A-Za-z0-9/.-]+")
+        APK_SHA256=$(sha256sum "${APK_FILE}")
+        echo " - ${browser_download_url}  | SHA256 Checksum: ${APK_SHA256}"
+      else
+        echo "- ERROR: Android release (APK) not found! Skipping."
+      fi
 
-      echo "Successfully uploading files"
-      echo " -> Release url: https://github.com/$REPO/releases/tag/v$current"
+      echo "-----------------------------------------"
+      echo "Successfully uploading files !"
+      echo " -> Release url: ${REPO_PUBLIC_URL}/releases/tag/v${current}"
+      exit 0
     else
       echo "Wrong arguments"
       echo "Usage:"
-      echo " > ./github.sh pre|rel <release_description>"
+      echo " > ./github.sh del|pre|rel <release_description>"
       echo "With:"
+      echo " - del: delete existing release"
       echo " - pre: use for pre-release"
       echo " - rel: for full release"
-      exit -1
+      exit 1
     fi
     ;;
   *)
     echo "No task given"
-    exit -1
+    exit 1
     ;;
 esac
-
-
-
-