Early .py versions of the following scripts are available at
https://goodcrypto.com/special-downloads/bash2py-2016-03-24.tgz:
config/chroot_local-hooks/19-install-tor-browser-AppArmor-profile
config/chroot_local-includes/usr/local/lib/tails-shell-library/tor-browser.sh
config/chroot_local-includes/usr/local/bin
electrum
icedove
tails-boot-to-kexec
tails-get-bootinfo
tails-upgrade-frontend-wrapper
tor-browser
tor-launcher
We'll add tests and port more scripts when time is available. Bug reports (and tests) are very welcome.
Where bash uses commands and there is an equivalent python standard library, we chose based on security and
readability. Standard commands are often better tested and maintained. Otherwise the more readable python equivalent
is the right choice.
Import statement style is somewhat inconsistent. If python internally imports everything from a module when you
import anything from that module, it's not clear that there's a security advantage to "from MODULE import ELEMENT".
With python 3 the sh module handles some things differently. For example, the _in keyword can cause locks up
(i.e., when used with sed). The only python 2 feature in these scripts should be "from __future__ import print_function".
Seeing the usual py2-vs-py3 str-vs-bytestring errors.
Pylint has some spurious complaints. Not changed: Script names including dashes, filenames longer than 32 characters,
long gettext lines. The sh module actually does import commands. Constants local to a function should be in that
function. The doctests module is imported locally to minimize unused imports.
GoodCrypto Warning: Anyone could have read this message. Use encryption, it works.