diff --git a/build-obfs4proxy.py b/build-obfs4proxy.py
index 3bb73927ab1745fa297190b0273e45c2d0b866d5..bffd65f53b96f25abd627b171fb3d58db4a614c2 100755
--- a/build-obfs4proxy.py
+++ b/build-obfs4proxy.py
@@ -3,7 +3,7 @@ import os
 from glob import glob
 from subprocess import check_call
 
-from utils import get_build_versions, ex, get_sha256, fail, zip_files, get_final_file_name, \
+from utils import get_build_versions, ex, get_sha256, zip_files, get_final_file_name, \
     get_sources_file_name, get_pom_file_name, reset_time, get_obfs4_version, check_go_version, \
     get_version, GO_PATH, GO_ROOT, NDK_DIR
 
@@ -78,32 +78,23 @@ def build_android(versions):
     env = os.environ.copy()
     env['GOARCH'] = "arm"
     env['GOARM'] = "7"
-    build_android_arch(versions, env, "arm-linux-androideabi", ndk_arch="arm", pie=False)
-
-    env = os.environ.copy()
-    env['GOARCH'] = "arm"
-    env['GOARM'] = "7"
-    build_android_arch(versions, env, "arm-linux-androideabi", ndk_arch="arm", pie=True)
+    build_android_arch(versions, env, "arm-linux-androideabi", ndk_arch="arm")
 
     env = os.environ.copy()
     env['GOARCH'] = "arm64"
     env['GOARM'] = "7"
-    build_android_arch(versions, env, "aarch64-linux-android", ndk_arch="arm64", pie=True)
+    build_android_arch(versions, env, "aarch64-linux-android", ndk_arch="arm64")
 
     env = os.environ.copy()
     env['GOARCH'] = "386"
-    build_android_arch(versions, env, "i686-linux-android", ndk_arch="x86", pie=False)
-
-    env = os.environ.copy()
-    env['GOARCH'] = "386"
-    build_android_arch(versions, env, "i686-linux-android", ndk_arch="x86", pie=True)
+    build_android_arch(versions, env, "i686-linux-android", ndk_arch="x86")
 
     env = os.environ.copy()
     env['GOARCH'] = "amd64"
-    build_android_arch(versions, env, "x86_64-linux-android", ndk_arch="x86_64", pie=True)
+    build_android_arch(versions, env, "x86_64-linux-android", ndk_arch="x86_64")
 
 
-def build_android_arch(versions, env, tool, ndk_arch, pie):
+def build_android_arch(versions, env, tool, ndk_arch):
     toolchain = os.path.join("toolchain", ndk_arch)
     if not os.path.isdir(toolchain):
         toolchain_maker = os.path.join(NDK_DIR, "build", "tools", "make-standalone-toolchain.sh")
@@ -114,14 +105,16 @@ def build_android_arch(versions, env, tool, ndk_arch, pie):
     env['CGO_CFLAGS'] = "-O2"  # removes -g
     env['GOOS'] = "android"
 
-    build_mode = "pie" if pie else "exe"
-    extldflags = " -extldflags=-pie" if pie else ""
+    build_mode = "pie"
+    extldflags = " -extldflags=-pie"
+
+    filename = "obfs4proxy_%s_pie.zip" % ndk_arch
+    print("Building %s" % filename)
 
     ex(['go', 'build', '-buildmode=%s' % build_mode, '-ldflags', '-w -s' + extldflags] + GO_FLAGS +
        [os.path.join('.', versions['build_path'])], env=env, cwd=REPO_DIR)
 
-    pie_suffix = '_pie' if pie else ''
-    zip_files(['obfs4proxy'], 'obfs4proxy_%s%s.zip' % (ndk_arch, pie_suffix))
+    zip_files(['obfs4proxy'], filename)
     os.remove('obfs4proxy')
 
 
@@ -129,14 +122,16 @@ def build_linux(versions):
     env = os.environ.copy()
     env['CGO_ENABLED'] = "0"
     build_path = os.path.join('.', versions['build_path'])
+    filename = "obfs4proxy_linux-x86_64.zip"
+    print("Building %s" % filename)
     ex(['go', 'build', '-ldflags', '-w -s'] + GO_FLAGS + [build_path], env=env, cwd=REPO_DIR)
     zip_files(['obfs4proxy'], 'obfs4proxy_linux-x86_64.zip')
     os.remove('obfs4proxy')
 
 
 def package_android(versions):
-    file_list = ['obfs4proxy_arm.zip', 'obfs4proxy_arm_pie.zip', 'obfs4proxy_arm64_pie.zip',
-                 'obfs4proxy_x86.zip', 'obfs4proxy_x86_pie.zip', 'obfs4proxy_x86_64_pie.zip']
+    file_list = ['obfs4proxy_arm_pie.zip', 'obfs4proxy_arm64_pie.zip',
+                 'obfs4proxy_x86_pie.zip', 'obfs4proxy_x86_64_pie.zip']
     package(versions, file_list, android=True)
 
 
diff --git a/install.sh b/install.sh
index 3d20cb4c0f1495804e3211c5380596e0270b88eb..65a45e5712c9c5f0367b0cbdfc7b7387831c8f41 100755
--- a/install.sh
+++ b/install.sh
@@ -3,7 +3,7 @@ set -e
 set -x
 
 # use snapshot repos for deterministic package versions
-DATE="20191004T000000Z"
+DATE="20191010T000000Z"
 cat << EOF > /etc/apt/sources.list
 deb http://snapshot.debian.org/archive/debian/${DATE}/ buster main
 deb http://snapshot.debian.org/archive/debian-security/${DATE}/ buster/updates main
@@ -16,7 +16,7 @@ then
 fi
 
 # update package sources
-apt-get update --allow-releaseinfo-change
+apt-get update
 apt-get -y upgrade
 
 # do not install documentation to keep image small
diff --git a/utils.py b/utils.py
index 46bbff402dfef8b38f1a0d3a33e043ff54d4258e..e44852daa6140afebdf708d58a8d217e9ad18c38 100644
--- a/utils.py
+++ b/utils.py
@@ -34,6 +34,7 @@ def get_build_versions(tool, tag):
     if tag is None:
         # take top-most version
         tag = next(iter(versions[tool]))
+    versions[tool][tag]['tag'] = tag
     return tag, versions[tool][tag]
 
 
@@ -76,10 +77,7 @@ def zip_files(files, zip_name):
 
 
 def get_obfs4_version(versions):
-    version = versions['revision']
-    if '-' in version:
-        return version.split('-')[1]
-    return version
+    return versions['tag']
 
 
 def get_file_suffix(versions, android=False):
diff --git a/versions.json b/versions.json
index 68415b3c4945cb7fef8e6b2821f292b5c9038ce1..794039d3e7f4321b72c85c177cf351c734b694f5 100644
--- a/versions.json
+++ b/versions.json
@@ -1,12 +1,12 @@
 {
   "obfs4proxy": {
-    "0.0.11": {
+    "0.0.11-2": {
       "repo_url": "https://git.torproject.org/pluggable-transports/obfs4.git",
       "revision": "obfs4proxy-0.0.11",
       "build_path": "obfs4proxy",
       "go": {
-        "version": "go1.11.5",
-        "sha256": "bc1ef02bb1668835db1390a2e478dcbccb5dd16911691af9d75184bbe5aa943e"
+        "version": "go1.13.1",
+        "sha256": "81f154e69544b9fa92b1475ff5f11e64270260d46e7e36c34aafc8bc96209358"
       },
       "ndk": {
         "url": "https://dl.google.com/android/repository/android-ndk-r18-linux-x86_64.zip",