Open HulaHoopWhonix opened 7 years ago
Hi @HulaHoopWhonix, thanks for trying it out!
That is not clear in the docs, but PyNaCl and unMessage require newer pip and setuptools. Unfortunately the packages for jessie/main are old. I just ran this command in a fresh workstation vm:
user@host:~$ aptitude show python-pip python-setuptools
Package: python-pip
State: not installed
Version: 1.5.6-5
Priority: optional
Section: python
Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
Architecture: all
Uncompressed Size: 481 k
Depends: ca-certificates, python-colorama, python-distlib, python-html5lib, python-pkg-resources, python-requests, python-setuptools
(>= 0.6c1), python-six, python, python:any (< 2.8), python:any (>= 2.7.5-5~)
Recommends: build-essential, python-dev-all (>= 2.6), python-wheel
Description: alternative Python package installer
pip is a replacement for easy_install, and is intended to be an improved Python package installer. It integrates with virtualenv,
doesn't do partial installs, can save package state for replaying, can install from non-egg sources, and can install from version
control repositories.
Homepage: http://www.pip-installer.org/
Tags: admin::package-management, devel::lang:python, devel::packaging, implemented-in::python, role::program
Package: python-setuptools
State: not installed
Version: 5.5.1-1
Priority: optional
Section: python
Maintainer: Matthias Klose <doko@debian.org>
Architecture: all
Uncompressed Size: 770 k
Depends: python:any (>= 2.7), python:any (< 2.8), python-pkg-resources (= 5.5.1-1)
Conflicts: python-distribute (< 0.7)
Replaces: python-distribute (< 0.6.6)
Provides: python-distribute, python2.7-setuptools
Description: Python Distutils Enhancements
Extensions to the python-distutils for large or complex distributions.
Homepage: https://pypi.python.org/pypi/setuptools
Tags: devel::lang:python, implemented-in::python, interface::commandline, role::plugin, use::configuring
apt-get install python-pip python-setuptools
won't solve the problem and pip install --upgrade pip
is wrong because it should not manage packages it did not install :/
The tests we ran did install those packages we listed on the README file with the package manager:
build-essential gcc libffi-dev python-dev tor python-tk
However, we manually installed pip (which automatically installs setuptools) and these are the current versions:
user@host:~$ pip list | egrep 'pip|setuptools'
pip (9.0.1)
setuptools (34.1.0)
We definitely need to clarify the docs, I'm not sure what is the best solution. We either have to ask users to use jessie/testing
or to manually install pip. I honestly think both make the UX bad, but IMO manually installing pip seems a bit better than asking users to change apt settings. What do you think?
P.S Were you able to install it after all?
Got it working :) I'll be sure to get pip manually.
Suggestions for GUI naming:
Copy Identitiy/Copy Key become merged under a Manage My Identity menu
Copy Peer -> My Contacts
Some ideas for the long term future (I can open tickets if you're interested):
File transfers
VoIP using TCP latency tolerant codecs like those in mumble. That would be huge.
Allow unmessage-cli and unmessage-gui to run at the same time (I think there was a vague error with this). The cli interface is very useful - I imagine it can be used to remotely interact with bots/automated helpers added as contacts that react to certain woords send via unmessage.
Perhaps add natural language verification scheme of prettyEasyprivacy to verify contact keys instead of random alphanumeric keys: https://prettyeasyprivacy.com/ Enigmail is integrating this recently.
Overall you're off to a great start and I can't wait to see what you have in store.
I've created a docker image for unMessage. Details are at https://github.com/rxcomm/unmessage-client. The docker image is based on Debian jessie.
The reason I mention that here is because when creating the docker image, I install pip using the https://bootstrap.pypa.io/get-pip.py script. That seems like a possible solution to this issue as well.
For details, see the docker file at https://github.com/rxcomm/unmessage-client/blob/master/src/unmessage-client/Dockerfile#L13.
On Fri, Feb 03, 2017 at 08:53:33AM -0800, HulaHoopWhonix wrote:
Got it working :) I'll be sure to get pip manually.
Great, thanks!
Suggestions for GUI naming:
Copy Identitiy/Copy Key become merged under a Manage My Identity menu
Copy Peer -> My Contacts
Cool, that's a good idea. The GUI is extremely simple because I do not like Tkinter and wanted to use some kind of WebUI because it is much more powerful than Tkinter and because it is possible to make apps look good (I do not remember @rxcomm's opinion about this). Once we have a decision about that we will start to add more features to the GUI.
Some ideas for the long term future (I can open tickets if you're interested):
File transfers
VoIP using TCP latency tolerant codecs like those in mumble. That would be huge.
Absolutely! I hope that will not be too hard to implement. We tried to focus on getting packets exchanged so that many features like these can be built on top of that.
- Allow unmessage-cli and unmessage-gui to run at the same time (I think there was a vague error with this). The cli interface is very useful - I imagine it can be used to remotely interact with bots/automated helpers added as contacts that react to certain woords send via unmessage.
Can can you give me an example about running them at the same time? It is currently possible to do that as long each UI manages a different peer. Would you like to use more than one UI for the same peer? Also, it would be great to know more about the error if you are able to reproduce it.
Yes, most of the features are implemented first on the CLI because it is very easy to do so, differently from the GUI (forms have to be created, etc).
There is currently a "remote mode" in the CLI (enabled with -r
) that
we use for tests only. That will tell unMessage to parse every message
received that starts with a /
and run a command. For example,
alice
sends the following message to bob
: /msg charlie hello!
.
As bob
is runnig the CLI with the remote mode enabled, his unMessage
will send hello!
to charlie
. (If alice
was also using the CLI,
she would have to escape the /
: \/msg charlie hello!
. That feature
was added just for testing purposes and is very dangerous, but it
should be possible to make bots to work similarly. Thanks for the
suggestion!
- Perhaps add natural language verification scheme of prettyEasyprivacy to verify contact keys instead of random alphanumeric keys: https://prettyeasyprivacy.com/ Enigmail is integrating this recently.
Cool! That is certainly a great improvement!
Overall you're off to a great start and I can't wait to see what you have in store.
Thanks @HulaHoopWhonix! This repo is pretty new and I still have to create tickets for ideas we had before it was created, so once I'm on that I can create the tickets you suggested, but please feel free to open as many tickets as you want!
Thank you very much!
On Fri, Feb 03, 2017 at 09:22:00AM -0800, rxcomm wrote:
I've created a docker image for unMessage. Details are at https://github.com/rxcomm/unmessage-client. The docker image is based on Debian jessie.
The reason I mention that here is because when creating the docker image, I install pip using the https://bootstrap.pypa.io/git-pip.py script. That seems like a possible solution to this issue as well.
For details, see the docker file at https://github.com/rxcomm/unmessage-client/blob/master/src/unmessage-client/Dockerfile#L13
That's very interesting! That's a great portable solution (for any kind of app really).
Tkinter and wanted to use some kind of WebUI because it is much more powerful than Tkinter and because it is possible to make apps look good
Don't worry about making the GUI look good. I was just thinking about how noobs perceive the naming of menus. WebUIs are fundamentally unsecure, susceptible to CSRF and XSS attacks so other soltuions are best IMHO.
It is currently possible to do that as long each UI manages a different peer.
Ok good to know. That's what I meant. No need to interact simultaneously with different interafces with the same peer.
Yes, most of the features are implemented first on the CLI because it is very easy to do so, differently from the GUI (forms have to be created, etc).
Of course. Take your time. Thanks again :)
Hi! I think I created tickets for everything we discussed here. Please, let me know if I missed something.
I am going to leave this one open as we still have to improve the installation instructions.
On Sat, Feb 04, 2017 at 05:40:04AM -0800, HulaHoopWhonix wrote:
WebUIs are fundamentally unsecure, susceptible to CSRF and XSS attacks so other soltuions are best IMHO.
You are right, but there must be a way to make secure apps with those. I created #18 so we can discuss that.
Thanks @HulaHoopWhonix!
Hi! I think I created tickets for everything we discussed here.
Yeah you got it.
I'll post there anything interesting relevant to these new tickets.
Hi. I ran into a showstopper when following the install steps. Let me know if you need more info.
PS. Also please add python-pip package to the Debian deps needed.
Related error: