From fa280036e6e190ec60cb4635ec796932b317d9d2 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Mon, 15 Jan 2018 15:53:02 -0800 Subject: [PATCH 01/11] Update build instructions for Windows, using newer software. And rename installer to onionshare-setup.exe --- BUILD.md | 10 +++++----- install/build_exe.bat | 6 +++--- install/onionshare.nsi | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/BUILD.md b/BUILD.md index fc31ce3c..f29730b2 100644 --- a/BUILD.md +++ b/BUILD.md @@ -79,7 +79,7 @@ Open a command prompt, cd to the onionshare folder, and install dependencies wit pip3 install -r install\requirements-windows.txt ``` -Download and install Qt5 from https://www.qt.io/download-open-source/. I downloaded `qt-unified-windows-x86-2.0.4-online.exe`. There's no need to login to a Qt account during installation. Make sure you install the latest Qt 5.x. I installed Qt 5.7. +Download and install Qt5 from https://www.qt.io/download-open-source/. I downloaded `qt-unified-windows-x86-3.0.2-online.exe`. There's no need to login to a Qt account during installation. Make sure you install the latest Qt 5.x. I installed Qt 5.10.0. After that you can try both the CLI and the GUI version of OnionShare: @@ -102,12 +102,12 @@ Download and install the standalone [Windows 10 SDK](https://dev.windows.com/en- If you want to build the installer: -* Go to http://nsis.sourceforge.net/Download and download the latest NSIS. I downloaded `nsis-3.01-setup.exe`. +* Go to http://nsis.sourceforge.net/Download and download the latest NSIS. I downloaded `nsis-3.02.1-setup.exe`. * Add `C:\Program Files (x86)\NSIS` to the path. If you want to sign binaries with Authenticode: -* You'll need a code signing certificate. I roughly followed [this guide](http://blog.assarbad.net/20110513/startssl-code-signing-certificate/) to make one using my StartSSL account. +* You'll need a code signing certificate. I got an open source code signing certificate from [Certum](https://www.certum.eu/certum/cert,offer_en_open_source_cs.xml). * Once you get a code signing key and certificate and covert it to a pfx file, import it into your certificate store. ### To make a .exe: @@ -118,11 +118,11 @@ For PyInstaller to work, you might need to edit `Scripts\pyinstaller-script.py` ### To build the installer: -Note that you must have a codesigning certificate installed in order to use the `install\build_exe.bat` script, because it codesigns `onionshare-gui.exe`, `uninstall.exe`, and `OnionShare_Setup.exe`. +Note that you must have a codesigning certificate installed in order to use the `install\build_exe.bat` script, because it codesigns `onionshare-gui.exe`, `uninstall.exe`, and `onionshare-setup.exe`. Open a command prompt, cd to the onionshare directory, and type: `install\build_exe.bat` -This will prompt you to codesign three binaries and execute one unsigned binary. When you're done clicking through everything you will have `dist\OnionShare_Setup.exe`. +This will prompt you to codesign three binaries and execute one unsigned binary. When you're done clicking through everything you will have `dist\onionshare-setup.exe`. ## Tests diff --git a/install/build_exe.bat b/install/build_exe.bat index c1b357fa..fe15c8f2 100644 --- a/install/build_exe.bat +++ b/install/build_exe.bat @@ -10,8 +10,8 @@ python install\get-tor-windows.py REM sign onionshare-gui.exe signtool.exe sign /v /d "OnionShare" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 dist\onionshare\onionshare-gui.exe -REM build an installer, dist\OnionShare_Setup.exe +REM build an installer, dist\onionshare-setup.exe makensis.exe install\onionshare.nsi -REM sign OnionShare_Setup.exe -signtool.exe sign /v /d "OnionShare" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 dist\OnionShare_Setup.exe +REM sign onionshare-setup.exe +signtool.exe sign /v /d "OnionShare" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 dist\onionshare-setup.exe diff --git a/install/onionshare.nsi b/install/onionshare.nsi index d980e0e0..fcb8a137 100644 --- a/install/onionshare.nsi +++ b/install/onionshare.nsi @@ -42,7 +42,7 @@ ${EndIf} !system "signtool.exe sign /v /d $\"Uninstall OnionShare$\" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 $%TEMP%\uninstall.exe" = 0 # all done, now we can build the real installer - OutFile "..\dist\OnionShare_Setup.exe" + OutFile "..\dist\onionshare-setup.exe" SetCompressor /FINAL /SOLID lzma !endif From ea908c1841a11b72fdd889cf68a2a8dd2a6a9161 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Mon, 15 Jan 2018 16:45:07 -0800 Subject: [PATCH 02/11] Update pip requirements for Windows --- install/requirements-windows.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/install/requirements-windows.txt b/install/requirements-windows.txt index 9c08e128..ca68e156 100644 --- a/install/requirements-windows.txt +++ b/install/requirements-windows.txt @@ -1,14 +1,14 @@ click==6.7 -Flask==0.12 +Flask==0.12.2 future==0.16.0 itsdangerous==0.24 -Jinja2==2.9.5 -MarkupSafe==0.23 -pefile==2016.3.28 -PyInstaller==3.2.1 +Jinja2==2.10 +MarkupSafe==1.0 +pefile==2017.11.5 +PyInstaller==3.3.1 pypiwin32==219 -PyQt5==5.8 +PyQt5==5.9.2 PySocks==1.6.7 -sip==4.19.1 +sip==4.19.6 stem==1.5.4 -Werkzeug==0.11.15 +Werkzeug==0.14.1 From 3d6309ba94ebbcab744a7dce2a9e036c2e57bf1a Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Tue, 16 Jan 2018 14:50:00 +1100 Subject: [PATCH 03/11] Link to the Linux Distribution Support wiki doc for help building from source, due to various differences in Tor, Stem, Stdeb versions --- BUILD.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BUILD.md b/BUILD.md index fc31ce3c..848eeb05 100644 --- a/BUILD.md +++ b/BUILD.md @@ -30,6 +30,8 @@ Create a .rpm on Fedora-like distros: `./install/build_rpm.sh` For ArchLinux: There is a PKBUILD available [here](https://aur.archlinux.org/packages/onionshare/) that can be used to install OnionShare. +If you find that these instructions don't work for your Linux distribution or version, consult the [Linux Distribution Support wiki guide](https://github.com/micahflee/onionshare/wiki/Linux-Distribution-Support), which might contain extra instructions. + ## Mac OS X Install Xcode from the Mac App Store. Once it's installed, run it for the first time to set it up. From ce1b2bd513ce68d9ea0291620ec1a6ca6bcfcacc Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Tue, 16 Jan 2018 16:17:23 +1100 Subject: [PATCH 04/11] Update the check_lacked_trans.py script to work with latest codebase and use python 3 --- install/check_lacked_trans.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/install/check_lacked_trans.py b/install/check_lacked_trans.py index 6dc145a7..dcaa9fda 100644 --- a/install/check_lacked_trans.py +++ b/install/check_lacked_trans.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @@ -54,7 +54,6 @@ def main(): src = files_in(dir, 'onionshare') + files_in(dir, 'onionshare_gui') pysrc = [p for p in src if p.endswith('.py')] - htmlsrc = [p for p in src if p.endswith('.html')] translate_keys = set() # load translate key from python source @@ -67,20 +66,12 @@ def main(): key = arg.split(',')[0].strip('''"' ''') translate_keys.add(key) - # load translate key from html source - for line in fileinput.input(htmlsrc, openhook=fileinput.hook_encoded('utf-8')): - # search `{{strings.translate_key}}` - m = re.search(r'{{.*strings\.([-a-zA-Z0-9_]+).*}}', line) - if m: - key = m.group(1) - translate_keys.add(key) - if args.show_all_keys: for k in sorted(translate_keys): - print k + print(k) sys.exit() - locale_files = [f for f in files_in(dir, 'locale') if f.endswith('.json')] + locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json')] for locale_file in locale_files: with codecs.open(locale_file, 'r', encoding='utf-8') as f: trans = json.load(f) @@ -92,10 +83,10 @@ def main(): locale, ext = os.path.splitext(os.path.basename(locale_file)) for k in sorted(disused): - print locale, 'disused', k + print(locale, 'disused', k) for k in sorted(lacked): - print locale, 'lacked', k + print(locale, 'lacked', k) if __name__ == '__main__': From c3bf8f0739486d3273c6aadf01b77d0c5c09e069 Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Tue, 16 Jan 2018 16:32:26 +1100 Subject: [PATCH 05/11] Add -l arg to check_lacked_trans.py, to filter on a specific language code --- install/check_lacked_trans.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/install/check_lacked_trans.py b/install/check_lacked_trans.py index dcaa9fda..8ed3636f 100644 --- a/install/check_lacked_trans.py +++ b/install/check_lacked_trans.py @@ -36,7 +36,9 @@ def arg_parser(): p.add_argument('-d', default='.', help='onionshare directory', metavar='ONIONSHARE_DIR', dest='onionshare_dir') p.add_argument('--show-all-keys', action='store_true', - help='show translation key in source and exit') + help='show translation key in source and exit'), + p.add_argument('-l', default='all', help='language code (default: all)', + metavar='LANG_CODE', dest='lang_code') return p @@ -55,6 +57,8 @@ def main(): src = files_in(dir, 'onionshare') + files_in(dir, 'onionshare_gui') pysrc = [p for p in src if p.endswith('.py')] + lang_code = args.lang_code + translate_keys = set() # load translate key from python source for line in fileinput.input(pysrc, openhook=fileinput.hook_encoded('utf-8')): @@ -71,7 +75,10 @@ def main(): print(k) sys.exit() - locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json')] + if lang_code == 'all': + locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json')] + else: + locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json') and lang_code in f] for locale_file in locale_files: with codecs.open(locale_file, 'r', encoding='utf-8') as f: trans = json.load(f) From b7192f276454961ab4f87585545f76bf4d5766ae Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Mon, 15 Jan 2018 21:32:55 -0800 Subject: [PATCH 06/11] Updating Windows build deps, and recreating the nsis installer script for new files --- BUILD.md | 4 +- install/onionshare.nsi | 615 +++++++++++++++++-------------- install/pyinstaller.spec | 1 - install/requirements-windows.txt | 1 - 4 files changed, 339 insertions(+), 282 deletions(-) diff --git a/BUILD.md b/BUILD.md index f29730b2..51297415 100644 --- a/BUILD.md +++ b/BUILD.md @@ -71,7 +71,7 @@ Now you should have `dist/OnionShare.pkg`. ### Setting up your dev environment -Download the latest Python 3.5.2, 32-bit (x86) from https://www.python.org/downloads/release/python-352/ (note that there's a pyinstaller/pywin32 bug that prevents 3.6.x from working). I downloaded `python-3.5.2.exe`. When installing it, make sure to check the "Add Python 3.5 to PATH" checkbox on the first page of the installer. +Download Python 3.6.4, 32-bit (x86) from https://www.python.org/downloads/release/python-364/. I downloaded `python-3.6.4.exe`. When installing it, make sure to check the "Add Python 3.5 to PATH" checkbox on the first page of the installer. Open a command prompt, cd to the onionshare folder, and install dependencies with pip: @@ -79,6 +79,8 @@ Open a command prompt, cd to the onionshare folder, and install dependencies wit pip3 install -r install\requirements-windows.txt ``` +Download and install pywin32 (build 221, x86, for python 3.6) from https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/. I downloaded `pywin32-221.win32-py3.6.exe`. + Download and install Qt5 from https://www.qt.io/download-open-source/. I downloaded `qt-unified-windows-x86-3.0.2-online.exe`. There's no need to login to a Qt account during installation. Make sure you install the latest Qt 5.x. I installed Qt 5.10.0. After that you can try both the CLI and the GUI version of OnionShare: diff --git a/install/onionshare.nsi b/install/onionshare.nsi index fcb8a137..f12c6190 100644 --- a/install/onionshare.nsi +++ b/install/onionshare.nsi @@ -60,157 +60,184 @@ Section "install" SetOutPath "$INSTDIR" File "onionshare.ico" File "${BINPATH}\api-ms-win-core-console-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-datetime-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-debug-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-errorhandling-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-file-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-file-l1-2-0.dll" - File "${BINPATH}\api-ms-win-core-file-l2-1-0.dll" - File "${BINPATH}\api-ms-win-core-handle-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-heap-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-interlocked-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-libraryloader-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-localization-l1-2-0.dll" - File "${BINPATH}\api-ms-win-core-memory-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-namedpipe-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-processenvironment-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-processthreads-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-processthreads-l1-1-1.dll" - File "${BINPATH}\api-ms-win-core-profile-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-rtlsupport-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-string-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-synch-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-synch-l1-2-0.dll" - File "${BINPATH}\api-ms-win-core-sysinfo-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-timezone-l1-1-0.dll" - File "${BINPATH}\api-ms-win-core-util-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-conio-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-convert-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-environment-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-filesystem-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-heap-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-locale-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-math-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-multibyte-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-process-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-runtime-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-stdio-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-string-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-time-l1-1-0.dll" - File "${BINPATH}\api-ms-win-crt-utility-l1-1-0.dll" - File "${BINPATH}\base_library.zip" - File "${BINPATH}\MSVCP140.dll" - File "${BINPATH}\MSVCR100.dll" - File "${BINPATH}\onionshare-gui.exe" - File "${BINPATH}\onionshare-gui.exe.manifest" - File "${BINPATH}\pyexpat.pyd" - File "${BINPATH}\PyQt5.Qt.pyd" - File "${BINPATH}\PyQt5.QtCore.pyd" - File "${BINPATH}\PyQt5.QtGui.pyd" - File "${BINPATH}\PyQt5.QtPrintSupport.pyd" - File "${BINPATH}\PyQt5.QtWidgets.pyd" - File "${BINPATH}\python3.dll" - File "${BINPATH}\python35.dll" - File "${BINPATH}\pywintypes35.dll" - File "${BINPATH}\Qt5Core.dll" - File "${BINPATH}\Qt5Gui.dll" - File "${BINPATH}\Qt5PrintSupport.dll" - File "${BINPATH}\Qt5Svg.dll" - File "${BINPATH}\Qt5Widgets.dll" - File "${BINPATH}\select.pyd" - File "${BINPATH}\sip.pyd" - File "${BINPATH}\ucrtbase.dll" - File "${BINPATH}\unicodedata.pyd" - File "${BINPATH}\VCRUNTIME140.dll" - File "${BINPATH}\win32wnet.pyd" - File "${BINPATH}\_bz2.pyd" - File "${BINPATH}\_ctypes.pyd" - File "${BINPATH}\_decimal.pyd" - File "${BINPATH}\_hashlib.pyd" - File "${BINPATH}\_lzma.pyd" - File "${BINPATH}\_multiprocessing.pyd" - File "${BINPATH}\_socket.pyd" - File "${BINPATH}\_ssl.pyd" + File "${BINPATH}\api-ms-win-core-datetime-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-debug-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-errorhandling-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-file-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-file-l1-2-0.dll" + File "${BINPATH}\api-ms-win-core-file-l2-1-0.dll" + File "${BINPATH}\api-ms-win-core-handle-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-heap-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-interlocked-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-libraryloader-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-localization-l1-2-0.dll" + File "${BINPATH}\api-ms-win-core-memory-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-namedpipe-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-processenvironment-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-processthreads-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-processthreads-l1-1-1.dll" + File "${BINPATH}\api-ms-win-core-profile-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-rtlsupport-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-string-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-synch-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-synch-l1-2-0.dll" + File "${BINPATH}\api-ms-win-core-sysinfo-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-timezone-l1-1-0.dll" + File "${BINPATH}\api-ms-win-core-util-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-conio-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-convert-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-environment-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-filesystem-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-heap-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-locale-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-math-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-multibyte-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-process-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-runtime-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-stdio-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-string-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-time-l1-1-0.dll" + File "${BINPATH}\api-ms-win-crt-utility-l1-1-0.dll" + File "${BINPATH}\base_library.zip" + File "${BINPATH}\mfc140u.dll" + File "${BINPATH}\MSVCP140.dll" + File "${BINPATH}\onionshare-gui.exe" + File "${BINPATH}\onionshare-gui.exe.manifest" + File "${BINPATH}\pyexpat.pyd" + File "${BINPATH}\PyQt5.Qt.pyd" + File "${BINPATH}\PyQt5.QtCore.pyd" + File "${BINPATH}\PyQt5.QtGui.pyd" + File "${BINPATH}\PyQt5.QtPrintSupport.pyd" + File "${BINPATH}\PyQt5.QtWidgets.pyd" + File "${BINPATH}\python3.dll" + File "${BINPATH}\python36.dll" + File "${BINPATH}\pythoncom36.dll" + File "${BINPATH}\pywintypes36.dll" + File "${BINPATH}\Qt5Core.dll" + File "${BINPATH}\Qt5Gui.dll" + File "${BINPATH}\Qt5PrintSupport.dll" + File "${BINPATH}\Qt5Svg.dll" + File "${BINPATH}\Qt5Widgets.dll" + File "${BINPATH}\select.pyd" + File "${BINPATH}\sip.pyd" + File "${BINPATH}\ucrtbase.dll" + File "${BINPATH}\unicodedata.pyd" + File "${BINPATH}\VCRUNTIME140.dll" + File "${BINPATH}\win32api.pyd" + File "${BINPATH}\win32com.shell.shell.pyd" + File "${BINPATH}\win32trace.pyd" + File "${BINPATH}\win32ui.pyd" + File "${BINPATH}\win32wnet.pyd" + File "${BINPATH}\_asyncio.pyd" + File "${BINPATH}\_bz2.pyd" + File "${BINPATH}\_ctypes.pyd" + File "${BINPATH}\_decimal.pyd" + File "${BINPATH}\_hashlib.pyd" + File "${BINPATH}\_lzma.pyd" + File "${BINPATH}\_multiprocessing.pyd" + File "${BINPATH}\_overlapped.pyd" + File "${BINPATH}\_socket.pyd" + File "${BINPATH}\_ssl.pyd" + File "${BINPATH}\_win32sysloader.pyd" SetOutPath "$INSTDIR\Include" - File "${BINPATH}\Include\pyconfig.h" + File "${BINPATH}\Include\pyconfig.h" - SetOutPath "$INSTDIR\lib2to3" - File "${BINPATH}\lib2to3\Grammar.txt" - File "${BINPATH}\lib2to3\Grammar3.5.2.final.0.pickle" - File "${BINPATH}\lib2to3\PatternGrammar.txt" - File "${BINPATH}\lib2to3\PatternGrammar3.5.2.final.0.pickle" + SetOutPath "$INSTDIR\lib2to3" + File "${BINPATH}\lib2to3\Grammar.txt" + File "${BINPATH}\lib2to3\Grammar3.6.2.candidate.2.pickle" + File "${BINPATH}\lib2to3\Grammar3.6.2.final.0.pickle" + File "${BINPATH}\lib2to3\Grammar3.6.3.candidate.1.pickle" + File "${BINPATH}\lib2to3\Grammar3.6.3.final.0.pickle" + File "${BINPATH}\lib2to3\Grammar3.6.4.candidate.1.pickle" + File "${BINPATH}\lib2to3\Grammar3.6.4.final.0.pickle" + File "${BINPATH}\lib2to3\PatternGrammar.txt" + File "${BINPATH}\lib2to3\PatternGrammar3.6.2.candidate.2.pickle" + File "${BINPATH}\lib2to3\PatternGrammar3.6.2.final.0.pickle" + File "${BINPATH}\lib2to3\PatternGrammar3.6.3.candidate.1.pickle" + File "${BINPATH}\lib2to3\PatternGrammar3.6.3.final.0.pickle" + File "${BINPATH}\lib2to3\PatternGrammar3.6.4.candidate.1.pickle" + File "${BINPATH}\lib2to3\PatternGrammar3.6.4.final.0.pickle" - SetOutPath "$INSTDIR\share" - File "${BINPATH}\share\license.txt" - File "${BINPATH}\share\version.txt" - File "${BINPATH}\share\wordlist.txt" - File "${BINPATH}\share\torrc_template-windows" + SetOutPath "$INSTDIR\lib2to3\tests\data" + File "${BINPATH}\lib2to3\tests\data\README" - SetOutPath "$INSTDIR\share\html" - File "${BINPATH}\share\html\404.html" - File "${BINPATH}\share\html\denied.html" - File "${BINPATH}\share\html\index.html" + SetOutPath "$INSTDIR\PyQt5\Qt\bin" + File "${BINPATH}\PyQt5\Qt\bin\qt.conf" - SetOutPath "$INSTDIR\share\images" - File "${BINPATH}\share\images\drop_files.png" - File "${BINPATH}\share\images\logo.png" - File "${BINPATH}\share\images\server_started.png" - File "${BINPATH}\share\images\server_stopped.png" - File "${BINPATH}\share\images\server_working.png" - File "${BINPATH}\share\images\settings.png" + SetOutPath "$INSTDIR\PyQt5\Qt\plugins\iconengines" + File "${BINPATH}\PyQt5\Qt\plugins\iconengines\qsvgicon.dll" - SetOutPath "$INSTDIR\share\locale" - File "${BINPATH}\share\locale\cs.json" - File "${BINPATH}\share\locale\de.json" - File "${BINPATH}\share\locale\en.json" - File "${BINPATH}\share\locale\eo.json" - File "${BINPATH}\share\locale\es.json" - File "${BINPATH}\share\locale\fi.json" - File "${BINPATH}\share\locale\fr.json" - File "${BINPATH}\share\locale\it.json" - File "${BINPATH}\share\locale\nl.json" - File "${BINPATH}\share\locale\no.json" - File "${BINPATH}\share\locale\pt.json" - File "${BINPATH}\share\locale\ru.json" - File "${BINPATH}\share\locale\tr.json" + SetOutPath "$INSTDIR\PyQt5\Qt\plugins\imageformats" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qgif.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qicns.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qico.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qjpeg.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qsvg.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qtga.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qtiff.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qwbmp.dll" + File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qwebp.dll" - SetOutPath "$INSTDIR\qt5_plugins\iconengines" - File "${BINPATH}\qt5_plugins\iconengines\qsvgicon.dll" + SetOutPath "$INSTDIR\PyQt5\Qt\plugins\platforms" + File "${BINPATH}\PyQt5\Qt\plugins\platforms\qminimal.dll" + File "${BINPATH}\PyQt5\Qt\plugins\platforms\qoffscreen.dll" + File "${BINPATH}\PyQt5\Qt\plugins\platforms\qwindows.dll" - SetOutPath "$INSTDIR\qt5_plugins\imageformats" - File "${BINPATH}\qt5_plugins\imageformats\qgif.dll" - File "${BINPATH}\qt5_plugins\imageformats\qicns.dll" - File "${BINPATH}\qt5_plugins\imageformats\qico.dll" - File "${BINPATH}\qt5_plugins\imageformats\qjpeg.dll" - File "${BINPATH}\qt5_plugins\imageformats\qsvg.dll" - File "${BINPATH}\qt5_plugins\imageformats\qtga.dll" - File "${BINPATH}\qt5_plugins\imageformats\qtiff.dll" - File "${BINPATH}\qt5_plugins\imageformats\qwbmp.dll" - File "${BINPATH}\qt5_plugins\imageformats\qwebp.dll" + SetOutPath "$INSTDIR\PyQt5\Qt\plugins\printsupport" + File "${BINPATH}\PyQt5\Qt\plugins\printsupport\windowsprintersupport.dll" - SetOutPath "$INSTDIR\qt5_plugins\platforms" - File "${BINPATH}\qt5_plugins\platforms\qminimal.dll" - File "${BINPATH}\qt5_plugins\platforms\qoffscreen.dll" - File "${BINPATH}\qt5_plugins\platforms\qwindows.dll" + SetOutPath "$INSTDIR\share" + File "${BINPATH}\share\license.txt" + File "${BINPATH}\share\torrc_template" + File "${BINPATH}\share\torrc_template-windows" + File "${BINPATH}\share\version.txt" + File "${BINPATH}\share\wordlist.txt" - SetOutPath "$INSTDIR\qt5_plugins\printsupport" - File "${BINPATH}\qt5_plugins\printsupport\windowsprintersupport.dll" + SetOutPath "$INSTDIR\share\html" + File "${BINPATH}\share\html\404.html" + File "${BINPATH}\share\html\denied.html" + File "${BINPATH}\share\html\index.html" - SetOutPath "$INSTDIR\tor\Data\Tor" - File "${BINPATH}\tor\Data\Tor\geoip" - File "${BINPATH}\tor\Data\Tor\geoip6" + SetOutPath "$INSTDIR\share\images" + File "${BINPATH}\share\images\drop_files.png" + File "${BINPATH}\share\images\logo.png" + File "${BINPATH}\share\images\logo_grayscale.png" + File "${BINPATH}\share\images\server_started.png" + File "${BINPATH}\share\images\server_stopped.png" + File "${BINPATH}\share\images\server_working.png" + File "${BINPATH}\share\images\settings.png" + File "${BINPATH}\share\images\settings_inactive.png" - SetOutPath "$INSTDIR\tor\Tor" - File "${BINPATH}\tor\Tor\libeay32.dll" - File "${BINPATH}\tor\Tor\libevent_core-2-0-5.dll" - File "${BINPATH}\tor\Tor\libevent_extra-2-0-5.dll" - File "${BINPATH}\tor\Tor\libevent-2-0-5.dll" - File "${BINPATH}\tor\Tor\libgcc_s_sjlj-1.dll" - File "${BINPATH}\tor\Tor\libssp-0.dll" - File "${BINPATH}\tor\Tor\ssleay32.dll" - File "${BINPATH}\tor\Tor\tor.exe" - File "${BINPATH}\tor\Tor\zlib1.dll" + SetOutPath "$INSTDIR\share\locale" + File "${BINPATH}\share\locale\cs.json" + File "${BINPATH}\share\locale\de.json" + File "${BINPATH}\share\locale\en.json" + File "${BINPATH}\share\locale\eo.json" + File "${BINPATH}\share\locale\es.json" + File "${BINPATH}\share\locale\fi.json" + File "${BINPATH}\share\locale\fr.json" + File "${BINPATH}\share\locale\it.json" + File "${BINPATH}\share\locale\nl.json" + File "${BINPATH}\share\locale\no.json" + File "${BINPATH}\share\locale\pt.json" + File "${BINPATH}\share\locale\ru.json" + File "${BINPATH}\share\locale\tr.json" + + SetOutPath "$INSTDIR\tor\Data\Tor" + File "${BINPATH}\tor\Data\Tor\geoip" + File "${BINPATH}\tor\Data\Tor\geoip6" + + SetOutPath "$INSTDIR\tor\Tor" + File "${BINPATH}\tor\Tor\libeay32.dll" + File "${BINPATH}\tor\Tor\libevent-2-0-5.dll" + File "${BINPATH}\tor\Tor\libevent_core-2-0-5.dll" + File "${BINPATH}\tor\Tor\libevent_extra-2-0-5.dll" + File "${BINPATH}\tor\Tor\libgcc_s_sjlj-1.dll" + File "${BINPATH}\tor\Tor\libssp-0.dll" + File "${BINPATH}\tor\Tor\ssleay32.dll" + File "${BINPATH}\tor\Tor\tor.exe" + File "${BINPATH}\tor\Tor\zlib1.dll" # uninstaller !ifndef INNER @@ -255,152 +282,182 @@ FunctionEnd # remove files Delete "$INSTDIR\api-ms-win-core-console-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-datetime-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-debug-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-errorhandling-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-file-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-file-l1-2-0.dll" - Delete "$INSTDIR\api-ms-win-core-file-l2-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-handle-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-heap-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-interlocked-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-libraryloader-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-localization-l1-2-0.dll" - Delete "$INSTDIR\api-ms-win-core-memory-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-namedpipe-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-processenvironment-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-processthreads-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-processthreads-l1-1-1.dll" - Delete "$INSTDIR\api-ms-win-core-profile-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-rtlsupport-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-string-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-synch-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-synch-l1-2-0.dll" - Delete "$INSTDIR\api-ms-win-core-sysinfo-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-timezone-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-core-util-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-conio-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-convert-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-environment-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-filesystem-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-heap-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-locale-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-math-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-multibyte-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-process-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-runtime-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-stdio-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-string-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-time-l1-1-0.dll" - Delete "$INSTDIR\api-ms-win-crt-utility-l1-1-0.dll" - Delete "$INSTDIR\base_library.zip" - Delete "$INSTDIR\MSVCP140.dll" - Delete "$INSTDIR\MSVCR100.dll" - Delete "$INSTDIR\onionshare-gui.exe" - Delete "$INSTDIR\onionshare-gui.exe.manifest" - Delete "$INSTDIR\pyexpat.pyd" - Delete "$INSTDIR\PyQt5.Qt.pyd" - Delete "$INSTDIR\PyQt5.QtCore.pyd" - Delete "$INSTDIR\PyQt5.QtGui.pyd" - Delete "$INSTDIR\PyQt5.QtPrintSupport.pyd" - Delete "$INSTDIR\PyQt5.QtWidgets.pyd" - Delete "$INSTDIR\python3.dll" - Delete "$INSTDIR\python35.dll" - Delete "$INSTDIR\pywintypes35.dll" - Delete "$INSTDIR\Qt5Core.dll" - Delete "$INSTDIR\Qt5Gui.dll" - Delete "$INSTDIR\Qt5PrintSupport.dll" - Delete "$INSTDIR\Qt5Svg.dll" - Delete "$INSTDIR\Qt5Widgets.dll" - Delete "$INSTDIR\select.pyd" - Delete "$INSTDIR\sip.pyd" - Delete "$INSTDIR\ucrtbase.dll" - Delete "$INSTDIR\unicodedata.pyd" - Delete "$INSTDIR\VCRUNTIME140.dll" - Delete "$INSTDIR\win32wnet.pyd" - Delete "$INSTDIR\_bz2.pyd" - Delete "$INSTDIR\_ctypes.pyd" - Delete "$INSTDIR\_decimal.pyd" - Delete "$INSTDIR\_hashlib.pyd" - Delete "$INSTDIR\_lzma.pyd" - Delete "$INSTDIR\_multiprocessing.pyd" - Delete "$INSTDIR\_socket.pyd" - Delete "$INSTDIR\_ssl.pyd" - Delete "$INSTDIR\Include\pyconfig.h" - Delete "$INSTDIR\lib2to3\Grammar.txt" - Delete "$INSTDIR\lib2to3\Grammar3.5.2.final.0.pickle" - Delete "$INSTDIR\lib2to3\PatternGrammar.txt" - Delete "$INSTDIR\lib2to3\PatternGrammar3.5.2.final.0.pickle" - Delete "$INSTDIR\share\license.txt" - Delete "$INSTDIR\share\version.txt" - Delete "$INSTDIR\share\wordlist.txt" - Delete "$INSTDIR\share\torrc_template-windows" - Delete "$INSTDIR\share\html\404.html" - Delete "$INSTDIR\share\html\denied.html" - Delete "$INSTDIR\share\html\index.html" - Delete "$INSTDIR\share\images\drop_files.png" - Delete "$INSTDIR\share\images\logo.png" - Delete "$INSTDIR\share\images\server_started.png" - Delete "$INSTDIR\share\images\server_stopped.png" - Delete "$INSTDIR\share\images\server_working.png" - Delete "$INSTDIR\share\images\settings.png" - Delete "$INSTDIR\share\locale\cs.json" - Delete "$INSTDIR\share\locale\de.json" - Delete "$INSTDIR\share\locale\en.json" - Delete "$INSTDIR\share\locale\eo.json" - Delete "$INSTDIR\share\locale\es.json" - Delete "$INSTDIR\share\locale\fi.json" - Delete "$INSTDIR\share\locale\fr.json" - Delete "$INSTDIR\share\locale\it.json" - Delete "$INSTDIR\share\locale\nl.json" - Delete "$INSTDIR\share\locale\no.json" - Delete "$INSTDIR\share\locale\pt.json" - Delete "$INSTDIR\share\locale\ru.json" - Delete "$INSTDIR\share\locale\tr.json" - Delete "$INSTDIR\qt5_plugins\iconengines\qsvgicon.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qgif.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qicns.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qico.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qjpeg.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qsvg.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qtga.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qtiff.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qwbmp.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qwebp.dll" - Delete "$INSTDIR\qt5_plugins\platforms\qminimal.dll" - Delete "$INSTDIR\qt5_plugins\platforms\qoffscreen.dll" - Delete "$INSTDIR\qt5_plugins\platforms\qwindows.dll" - Delete "$INSTDIR\qt5_plugins\printsupport\windowsprintersupport.dll" - Delete "$INSTDIR\tor\Data\Tor\geoip" - Delete "$INSTDIR\tor\Data\Tor\geoip6" - Delete "$INSTDIR\tor\Tor\libeay32.dll" - Delete "$INSTDIR\tor\Tor\libevent_core-2-0-5.dll" - Delete "$INSTDIR\tor\Tor\libevent_extra-2-0-5.dll" - Delete "$INSTDIR\tor\Tor\libevent-2-0-5.dll" - Delete "$INSTDIR\tor\Tor\libgcc_s_sjlj-1.dll" - Delete "$INSTDIR\tor\Tor\libssp-0.dll" - Delete "$INSTDIR\tor\Tor\ssleay32.dll" - Delete "$INSTDIR\tor\Tor\tor.exe" - Delete "$INSTDIR\tor\Tor\zlib1.dll" + Delete "$INSTDIR\api-ms-win-core-datetime-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-debug-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-errorhandling-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-file-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-file-l1-2-0.dll" + Delete "$INSTDIR\api-ms-win-core-file-l2-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-handle-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-heap-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-interlocked-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-libraryloader-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-localization-l1-2-0.dll" + Delete "$INSTDIR\api-ms-win-core-memory-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-namedpipe-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-processenvironment-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-processthreads-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-processthreads-l1-1-1.dll" + Delete "$INSTDIR\api-ms-win-core-profile-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-rtlsupport-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-string-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-synch-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-synch-l1-2-0.dll" + Delete "$INSTDIR\api-ms-win-core-sysinfo-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-timezone-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-core-util-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-conio-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-convert-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-environment-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-filesystem-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-heap-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-locale-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-math-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-multibyte-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-process-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-runtime-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-stdio-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-string-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-time-l1-1-0.dll" + Delete "$INSTDIR\api-ms-win-crt-utility-l1-1-0.dll" + Delete "$INSTDIR\base_library.zip" + Delete "$INSTDIR\Include\pyconfig.h" + Delete "$INSTDIR\lib2to3\Grammar.txt" + Delete "$INSTDIR\lib2to3\Grammar3.6.2.candidate.2.pickle" + Delete "$INSTDIR\lib2to3\Grammar3.6.2.final.0.pickle" + Delete "$INSTDIR\lib2to3\Grammar3.6.3.candidate.1.pickle" + Delete "$INSTDIR\lib2to3\Grammar3.6.3.final.0.pickle" + Delete "$INSTDIR\lib2to3\Grammar3.6.4.candidate.1.pickle" + Delete "$INSTDIR\lib2to3\Grammar3.6.4.final.0.pickle" + Delete "$INSTDIR\lib2to3\PatternGrammar.txt" + Delete "$INSTDIR\lib2to3\PatternGrammar3.6.2.candidate.2.pickle" + Delete "$INSTDIR\lib2to3\PatternGrammar3.6.2.final.0.pickle" + Delete "$INSTDIR\lib2to3\PatternGrammar3.6.3.candidate.1.pickle" + Delete "$INSTDIR\lib2to3\PatternGrammar3.6.3.final.0.pickle" + Delete "$INSTDIR\lib2to3\PatternGrammar3.6.4.candidate.1.pickle" + Delete "$INSTDIR\lib2to3\PatternGrammar3.6.4.final.0.pickle" + Delete "$INSTDIR\lib2to3\tests" + Delete "$INSTDIR\lib2to3\tests\data" + Delete "$INSTDIR\lib2to3\tests\data\README" + Delete "$INSTDIR\mfc140u.dll" + Delete "$INSTDIR\MSVCP140.dll" + Delete "$INSTDIR\onionshare-gui.exe" + Delete "$INSTDIR\onionshare-gui.exe.manifest" + Delete "$INSTDIR\pyexpat.pyd" + Delete "$INSTDIR\PyQt5\Qt\bin\qt.conf" + Delete "$INSTDIR\PyQt5\Qt\plugins\iconengines\qsvgicon.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qgif.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qicns.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qico.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qjpeg.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qsvg.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qtga.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qtiff.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qwbmp.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qwebp.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\platforms\qminimal.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\platforms\qoffscreen.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\platforms\qwindows.dll" + Delete "$INSTDIR\PyQt5\Qt\plugins\printsupport\windowsprintersupport.dll" + Delete "$INSTDIR\PyQt5.Qt.pyd" + Delete "$INSTDIR\PyQt5.QtCore.pyd" + Delete "$INSTDIR\PyQt5.QtGui.pyd" + Delete "$INSTDIR\PyQt5.QtPrintSupport.pyd" + Delete "$INSTDIR\PyQt5.QtWidgets.pyd" + Delete "$INSTDIR\python3.dll" + Delete "$INSTDIR\python36.dll" + Delete "$INSTDIR\pythoncom36.dll" + Delete "$INSTDIR\pywintypes36.dll" + Delete "$INSTDIR\Qt5Core.dll" + Delete "$INSTDIR\Qt5Gui.dll" + Delete "$INSTDIR\Qt5PrintSupport.dll" + Delete "$INSTDIR\Qt5Svg.dll" + Delete "$INSTDIR\Qt5Widgets.dll" + Delete "$INSTDIR\select.pyd" + Delete "$INSTDIR\share\html\404.html" + Delete "$INSTDIR\share\html\denied.html" + Delete "$INSTDIR\share\html\index.html" + Delete "$INSTDIR\share\images\drop_files.png" + Delete "$INSTDIR\share\images\logo.png" + Delete "$INSTDIR\share\images\logo_grayscale.png" + Delete "$INSTDIR\share\images\server_started.png" + Delete "$INSTDIR\share\images\server_stopped.png" + Delete "$INSTDIR\share\images\server_working.png" + Delete "$INSTDIR\share\images\settings.png" + Delete "$INSTDIR\share\images\settings_inactive.png" + Delete "$INSTDIR\share\license.txt" + Delete "$INSTDIR\share\locale\cs.json" + Delete "$INSTDIR\share\locale\de.json" + Delete "$INSTDIR\share\locale\en.json" + Delete "$INSTDIR\share\locale\eo.json" + Delete "$INSTDIR\share\locale\es.json" + Delete "$INSTDIR\share\locale\fi.json" + Delete "$INSTDIR\share\locale\fr.json" + Delete "$INSTDIR\share\locale\it.json" + Delete "$INSTDIR\share\locale\nl.json" + Delete "$INSTDIR\share\locale\no.json" + Delete "$INSTDIR\share\locale\pt.json" + Delete "$INSTDIR\share\locale\ru.json" + Delete "$INSTDIR\share\locale\tr.json" + Delete "$INSTDIR\share\torrc_template" + Delete "$INSTDIR\share\torrc_template-windows" + Delete "$INSTDIR\share\version.txt" + Delete "$INSTDIR\share\wordlist.txt" + Delete "$INSTDIR\sip.pyd" + Delete "$INSTDIR\tor\Data\Tor\geoip" + Delete "$INSTDIR\tor\Data\Tor\geoip6" + Delete "$INSTDIR\tor\Tor\libeay32.dll" + Delete "$INSTDIR\tor\Tor\libevent-2-0-5.dll" + Delete "$INSTDIR\tor\Tor\libevent_core-2-0-5.dll" + Delete "$INSTDIR\tor\Tor\libevent_extra-2-0-5.dll" + Delete "$INSTDIR\tor\Tor\libgcc_s_sjlj-1.dll" + Delete "$INSTDIR\tor\Tor\libssp-0.dll" + Delete "$INSTDIR\tor\Tor\ssleay32.dll" + Delete "$INSTDIR\tor\Tor\tor.exe" + Delete "$INSTDIR\tor\Tor\zlib1.dll" + Delete "$INSTDIR\ucrtbase.dll" + Delete "$INSTDIR\unicodedata.pyd" + Delete "$INSTDIR\VCRUNTIME140.dll" + Delete "$INSTDIR\win32api.pyd" + Delete "$INSTDIR\win32com.shell.shell.pyd" + Delete "$INSTDIR\win32trace.pyd" + Delete "$INSTDIR\win32ui.pyd" + Delete "$INSTDIR\win32wnet.pyd" + Delete "$INSTDIR\_asyncio.pyd" + Delete "$INSTDIR\_bz2.pyd" + Delete "$INSTDIR\_ctypes.pyd" + Delete "$INSTDIR\_decimal.pyd" + Delete "$INSTDIR\_hashlib.pyd" + Delete "$INSTDIR\_lzma.pyd" + Delete "$INSTDIR\_multiprocessing.pyd" + Delete "$INSTDIR\_overlapped.pyd" + Delete "$INSTDIR\_socket.pyd" + Delete "$INSTDIR\_ssl.pyd" + Delete "$INSTDIR\_win32sysloader.pyd" Delete "$INSTDIR\onionshare.ico" Delete "$INSTDIR\uninstall.exe" rmDir "$INSTDIR\Include" - rmDir "$INSTDIR\lib2to3" - rmDir "$INSTDIR\share\html" - rmDir "$INSTDIR\share\images" - rmDir "$INSTDIR\share\locale" - rmDir "$INSTDIR\share" - rmDir "$INSTDIR\qt5_plugins\iconengines" - rmDir "$INSTDIR\qt5_plugins\imageformats" - rmDir "$INSTDIR\qt5_plugins\platforms" - rmDir "$INSTDIR\qt5_plugins\printsupport" - rmDir "$INSTDIR\qt5_plugins" - rmDir "$INSTDIR\tor\Data\Tor" - rmDir "$INSTDIR\tor\Data" - rmDir "$INSTDIR\tor\Tor" - rmDir "$INSTDIR\tor" + rmDir "$INSTDIR\lib2to3\tests\data" + rmDir "$INSTDIR\lib2to3\tests" + rmDir "$INSTDIR\lib2to3" + rmDir "$INSTDIR\PyQt5\Qt\bin" + rmDir "$INSTDIR\PyQt5\Qt\plugins\iconengines" + rmDir "$INSTDIR\PyQt5\Qt\plugins\imageformats" + rmDir "$INSTDIR\PyQt5\Qt\plugins\platforms" + rmDir "$INSTDIR\PyQt5\Qt\plugins\printsupport" + rmDir "$INSTDIR\PyQt5\Qt\plugins" + rmDir "$INSTDIR\PyQt5\Qt" + rmDir "$INSTDIR\PyQt5" + rmDir "$INSTDIR\share\html" + rmDir "$INSTDIR\share\images" + rmDir "$INSTDIR\share\locale" + rmDir "$INSTDIR\share" + rmDir "$INSTDIR\tor\Data\Tor" + rmDir "$INSTDIR\tor\Data" + rmDir "$INSTDIR\tor\Tor" + rmDir "$INSTDIR\tor" rmDir "$INSTDIR" # remove uninstaller information from the registry diff --git a/install/pyinstaller.spec b/install/pyinstaller.spec index 0ba359d0..9ef4c0df 100644 --- a/install/pyinstaller.spec +++ b/install/pyinstaller.spec @@ -22,7 +22,6 @@ a = Analysis( hiddenimports=[], hookspath=[], runtime_hooks=[], - excludes=['jinja2.asyncsupport'], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=None) diff --git a/install/requirements-windows.txt b/install/requirements-windows.txt index ca68e156..89bd8158 100644 --- a/install/requirements-windows.txt +++ b/install/requirements-windows.txt @@ -6,7 +6,6 @@ Jinja2==2.10 MarkupSafe==1.0 pefile==2017.11.5 PyInstaller==3.3.1 -pypiwin32==219 PyQt5==5.9.2 PySocks==1.6.7 sip==4.19.6 From 83e0d9f4de7c368c1e78b950c343cbd973836b7b Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Tue, 16 Jan 2018 16:45:54 +1100 Subject: [PATCH 07/11] Better match for lang code filter --- install/check_lacked_trans.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/check_lacked_trans.py b/install/check_lacked_trans.py index 8ed3636f..2486758e 100644 --- a/install/check_lacked_trans.py +++ b/install/check_lacked_trans.py @@ -78,7 +78,7 @@ def main(): if lang_code == 'all': locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json')] else: - locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json') and lang_code in f] + locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('%s.json' % lang_code)] for locale_file in locale_files: with codecs.open(locale_file, 'r', encoding='utf-8') as f: trans = json.load(f) From 0333ec915c8a39b96d17226b4a73925112b70cb3 Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Tue, 16 Jan 2018 16:48:35 +1100 Subject: [PATCH 08/11] Fix indentation... --- install/check_lacked_trans.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/check_lacked_trans.py b/install/check_lacked_trans.py index 2486758e..3313db7c 100644 --- a/install/check_lacked_trans.py +++ b/install/check_lacked_trans.py @@ -78,7 +78,7 @@ def main(): if lang_code == 'all': locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('.json')] else: - locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('%s.json' % lang_code)] + locale_files = [f for f in files_in(dir, 'share/locale') if f.endswith('%s.json' % lang_code)] for locale_file in locale_files: with codecs.open(locale_file, 'r', encoding='utf-8') as f: trans = json.load(f) From a6bc9b92c34a801d1cccac51d050e68018ab576c Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 16 Jan 2018 08:41:43 -0800 Subject: [PATCH 09/11] Change Windows build instructions reference from python 3.5 to 3.6, and remove the pyinstaller-script.py hack instructions becase they are not needed anymore --- BUILD.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/BUILD.md b/BUILD.md index 51297415..5d49f981 100644 --- a/BUILD.md +++ b/BUILD.md @@ -71,7 +71,7 @@ Now you should have `dist/OnionShare.pkg`. ### Setting up your dev environment -Download Python 3.6.4, 32-bit (x86) from https://www.python.org/downloads/release/python-364/. I downloaded `python-3.6.4.exe`. When installing it, make sure to check the "Add Python 3.5 to PATH" checkbox on the first page of the installer. +Download Python 3.6.4, 32-bit (x86) from https://www.python.org/downloads/release/python-364/. I downloaded `python-3.6.4.exe`. When installing it, make sure to check the "Add Python 3.6 to PATH" checkbox on the first page of the installer. Open a command prompt, cd to the onionshare folder, and install dependencies with pip: @@ -114,8 +114,6 @@ If you want to sign binaries with Authenticode: ### To make a .exe: -For PyInstaller to work, you might need to edit `Scripts\pyinstaller-script.py` in your Python 3.5 folder, to work around [this bug](https://stackoverflow.com/questions/31808180/installing-pyinstaller-via-pip-leads-to-failed-to-create-process) in pip. - * Open a command prompt, cd into the onionshare directory, and type: `pyinstaller install\pyinstaller.spec`. `onionshare-gui.exe` and all of their supporting files will get created inside the `dist` folder. ### To build the installer: From 4cee88125d667567dafb3e75cf9bdf825e34ebd3 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 16 Jan 2018 08:42:55 -0800 Subject: [PATCH 10/11] Change another Windows python 3.5 reference to 3.6 --- BUILD.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD.md b/BUILD.md index 5d49f981..db026f7e 100644 --- a/BUILD.md +++ b/BUILD.md @@ -100,7 +100,7 @@ Download and install the standalone [Windows 10 SDK](https://dev.windows.com/en- * `C:\Program Files (x86)\Windows Kits\10\bin\x86` * `C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86` -* `C:\Users\user\AppData\Local\Programs\Python\Python35-32\Lib\site-packages\PyQt5\Qt\bin` +* `C:\Users\user\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\PyQt5\Qt\bin` If you want to build the installer: From f0e23949c92565d6db8c890691dd28f95faf6ec7 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 16 Jan 2018 14:47:50 -0800 Subject: [PATCH 11/11] Update macOS build instructions and pip dependency versions, and also update stem for Windows as well --- BUILD.md | 6 +++--- install/requirements-windows.txt | 2 +- install/requirements.txt | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/BUILD.md b/BUILD.md index db026f7e..588685d0 100644 --- a/BUILD.md +++ b/BUILD.md @@ -32,11 +32,11 @@ For ArchLinux: There is a PKBUILD available [here](https://aur.archlinux.org/pac ## Mac OS X -Install Xcode from the Mac App Store. Once it's installed, run it for the first time to set it up. +Install Xcode from the Mac App Store. Once it's installed, run it for the first time to set it up. Also, run this to make sure command line tools are installed: `xcode-select --install`. And finally, open Xcode, go to Preferences > Locations, and make sure under Command Line Tools you select an installed version from the dropdown. (This is required for installing Qt5.) -Download and install Python 3.5.2 from https://www.python.org/downloads/release/python-352/ (note that a pyinstaller bug prevents you from using Python 3.6). I downloaded `python-3.5.2-macosx10.6.pkg`. +Download and install Python 3.6.4 from https://www.python.org/downloads/release/python-364/. I downloaded `python-3.6.4-macosx10.6.pkg`. -Download and install Qt 5.7.1 for macOS offline installer from https://www.qt.io/download-open-source/. I downloaded `qt-opensource-mac-x64-clang-5.7.1.dmg`. (You can skip making an account in the installer.) +Download and install Qt5 from https://www.qt.io/download-open-source/. I downloaded `qt-unified-mac-x64-3.0.2-online.dmg`. There's no need to login to a Qt account during installation. Make sure you install the latest Qt 5.x. I installed Qt 5.10.0 -- all you need is to check `Qt > Qt 5.10.0 > macOS`. Now install some python dependencies with pip (note, there's issues building a .app if you install this in a virtualenv): diff --git a/install/requirements-windows.txt b/install/requirements-windows.txt index 89bd8158..32b8da4a 100644 --- a/install/requirements-windows.txt +++ b/install/requirements-windows.txt @@ -9,5 +9,5 @@ PyInstaller==3.3.1 PyQt5==5.9.2 PySocks==1.6.7 sip==4.19.6 -stem==1.5.4 +stem==1.6.0 Werkzeug==0.14.1 diff --git a/install/requirements.txt b/install/requirements.txt index a046504a..c7828080 100644 --- a/install/requirements.txt +++ b/install/requirements.txt @@ -1,11 +1,11 @@ click==6.7 -Flask==0.12 +Flask==0.12.2 itsdangerous==0.24 -Jinja2==2.9.5 -MarkupSafe==0.23 -PyInstaller==3.2.1 -PyQt5==5.7.1 +Jinja2==2.10 +MarkupSafe==1.0 +PyInstaller==3.3.1 +PyQt5==5.9.2 PySocks==1.6.7 -sip==4.19 -stem==1.5.4 -Werkzeug==0.11.15 +sip==4.19.6 +stem==1.6.0 +Werkzeug==0.14.1