Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2017-11-12T23:18:05Zhttps://gitlab.torproject.org/legacy/trac/-/issues/24173nyx-2.0.4: setup.py doesn't list sqlite3 as a dependency2017-11-12T23:18:05Zyurivict271nyx-2.0.4: setup.py doesn't list sqlite3 as a dependencysetup.py currently has: `install_requires = ['stem>=1.6.0']`
However, it also depends on py-sqlite: `__init__.py: import sqlite3`
Anything else?setup.py currently has: `install_requires = ['stem>=1.6.0']`
However, it also depends on py-sqlite: `__init__.py: import sqlite3`
Anything else?https://gitlab.torproject.org/legacy/trac/-/issues/21937Tor arm taking 100% cpu2017-10-22T16:07:07ZTracTor arm taking 100% cpuIf i open arm in terminal with command
```
sudo -u debian-tor arm
```
and after that try to close it with just closing down the terminal, it shutsdown from terminal but keeps running in background process. After that it starts to eat up...If i open arm in terminal with command
```
sudo -u debian-tor arm
```
and after that try to close it with just closing down the terminal, it shutsdown from terminal but keeps running in background process. After that it starts to eat up to 100% cpu until i manually kill the process. Because of this my relay was running 2 days with 100% cpu load with multiple arm sessions open.
Using tor 0.2.9.10 in ubuntu 16.04.2 LTS Xenial
Didnt find own subdirectory for arm so i selected Tor as a component.
**Trac**:
**Username**: donttrackusDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/19811arm doesn't know ORPort can be "auto"2016-08-03T05:21:05ZTracarm doesn't know ORPort can be "auto"arm/cli/connections/connEntry.py", line 254, in __init__
self.sortPort = int(self.foreign.getPort())
ValueError: invalid literal for int() with base 10: 'auto'
torrc:
ORPort auto
ExtORPort auto
**Trac**:
**Username**...arm/cli/connections/connEntry.py", line 254, in __init__
self.sortPort = int(self.foreign.getPort())
ValueError: invalid literal for int() with base 10: 'auto'
torrc:
ORPort auto
ExtORPort auto
**Trac**:
**Username**: chadmillerDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/19146arm/nyx doesn't install on systems with python3.x by default2017-10-22T16:10:37ZTracarm/nyx doesn't install on systems with python3.x by default./install fails with this super-cryptic output:
print "TorCtl successfully installed"
^
SyntaxError: invalid syntax
The hotfix was to edit the install script and
put "python2" instead of "p..../install fails with this super-cryptic output:
print "TorCtl successfully installed"
^
SyntaxError: invalid syntax
The hotfix was to edit the install script and
put "python2" instead of "python". Other distros
of course may need it differently and I was told
there is a way of supporting python versions
properly.
Also, it is a bit rough style to install into /usr
as if it was an apt-get. Manually installed stuff
usually goes to /usr/local to not confuse the package
management of whatever OS. In my case I would have
wanted to provide my own prefix.
**Trac**:
**Username**: vynXDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18991Use HIBERNATION_STATUS in header panel2019-01-11T19:26:27ZDamian JohnsonUse HIBERNATION_STATUS in header panelNyx's header panel polls the control port for hibernation information. Tor 0.2.9.x adds a new HIBERNATION_STATUS event we can listen to instead to cut down on the GETINFO queries we make.
This is a very small change to our load on the c...Nyx's header panel polls the control port for hibernation information. Tor 0.2.9.x adds a new HIBERNATION_STATUS event we can listen to instead to cut down on the GETINFO queries we make.
This is a very small change to our load on the control port (one GETINFO request every five seconds), so not really a high priority. If somebody wants to do this then great, but I'll probably wait until tor versions prior to 0.2.9.x are deprecated to avoid the headache of 'if version x to this, if y do that'.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18825Stem and Nyx versions in consensus2017-10-17T16:46:29ZDamian JohnsonStem and Nyx versions in consensusHi wonderful dirauths. While ago tor added the ability to specify [application versions in the consensus](https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n1623). Strangely we aren't using it yet so... well... guess I wanna be...Hi wonderful dirauths. While ago tor added the ability to specify [application versions in the consensus](https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n1623). Strangely we aren't using it yet so... well... guess I wanna be the first!
I'd like to start publishing Stem and Nyx's versions so Nyx can notify folks when updates are available. These will need to be updated in a few months when they get their upcoming releases.
I'm a little fuzzy on what the DIGESTS should be so just filling in the sha1 hash. If it should be something else then let me know. I believe these are the [RecommendedPackageVersions torrc lines](https://www.torproject.org/docs/tor-manual.html.en#RecommendedPackageVersions)...
```
RecommendedPackageVersions Stem 1.4.1 https://stem.torproject.org/ sha1=a9eeae8d10ec15ab4b715db4c0dc121e22b5d010
RecommendedPackageVersions Nyx 1.4.5 https://nyx.torproject.org/ sha1=9fd20b15894e2ad2993b14b768c7b75607360634
```
The Nyx site this mentions doesn't exist yet, but [it's in the works](https://trac.torproject.org/projects/tor/ticket/18824).Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18708Welcome page2019-12-21T22:17:41ZDamian JohnsonWelcome pageI've been impressed at how much Nyx users miss. Hell, I've met longtime users that didn't even know you could press left/right for additional pages. They thought Nyx had just one!
To be fair Nyx's discoverability sucks. I've tried to ke...I've been impressed at how much Nyx users miss. Hell, I've met longtime users that didn't even know you could press left/right for additional pages. They thought Nyx had just one!
To be fair Nyx's discoverability sucks. I've tried to keep the most important information simple so it can be displayed on a single line...
```
m: menu, p: pause, h: page help, q: quit
```
But maybe we should show a one-time popup to first time Nyx users that explains how Nyx works. We could then persist a 'shown' flag in their home directory to suppress future popups.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18694Native Windows Support2019-12-21T22:14:32ZDamian JohnsonNative Windows SupportNyx can probably run in Cygwin, but native Windows support requires...
* Curses alternative. [Python has a ticket for adding Windows support](https://bugs.python.org/issue2889) but looks unlikely to get traction. Forerunner seems to be...Nyx can probably run in Cygwin, but native Windows support requires...
* Curses alternative. [Python has a ticket for adding Windows support](https://bugs.python.org/issue2889) but looks unlikely to get traction. Forerunner seems to be [PDCurses](https://github.com/wmcbrine/PDCurses).
* Resource usage information. Stem already [supports Windows connection resolution](https://gitweb.torproject.org/stem.git/commit/?id=5b26c692) but we need to expand [Nyx's tracker](https://gitweb.torproject.org/nyx.git/tree/nyx/tracker.py#n186) to retrieve cpu/memory usage on Windows too.
Maybe some other gotchas too. [Windows is adding a *nyx commandline](http://arstechnica.com/information-technology/2016/03/ubuntus-bash-and-linux-command-line-coming-to-windows-10/) which might be interesting to keep an eye on.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18547Add hostnames and geoip to connection panel2019-12-21T22:10:30ZDamian JohnsonAdd hostnames and geoip to connection panelMany releases ago Nyx [showed hostnames on the connection panel](https://gitweb.torproject.org/nyx.git/tree/src/util/hostnames.py?id=1.4.5.0), but dropped this because it leaked our connections to our DNS provider. We can still get this ...Many releases ago Nyx [showed hostnames on the connection panel](https://gitweb.torproject.org/nyx.git/tree/src/util/hostnames.py?id=1.4.5.0), but dropped this because it leaked our connections to our DNS provider. We can still get this information, but it must be on **every** relay or none at all.
Turns out Onionoo already supports exactly what we want! In particular here's the query we want...
[https://onionoo.torproject.org/details?fields=fingerprint,country,country_name,region_name,city_name,host_name&running=true&type=relay](https://onionoo.torproject.org/details?fields=fingerprint,country,country_name,region_name,city_name,host_name&running=true&type=relay)
Note that [Onionoo supports gzip compression](https://onionoo.torproject.org/protocol.html) and we want to take advantage since it drops the size of our replies from 1.5 MB to 432.6 KB.
For this we want a new **Daemon subclass** in **tracker.py**. This class would have a single **relay_details(fingerprint)** method that returns a struct with these attributes. If we meet the following two constraints then it calls Onionoo to update our cache...
1. We make a request for a fingerprint the cache doesn't have.
2. It's been over an hour since the relays_published date in our last reply (like the consensus Onionoo updates hourly, so no point in requesting more frequently).
Note that we might not want all of these geoip fields (we'll need to fiddle with the panel to see what is nice to have).Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18540Detect when ACS doesn't work2019-12-21T21:58:58ZDamian JohnsonDetect when ACS doesn't workProbably the most common annoying visual bug I've seen is broken curses ACS support. This causes us to show 'mwqqqqqqqqqqqqq' for window borders...
![https://www.atagar.com/transfer/tmp/acs_error.png](https://www.atagar.com/transfer/tmp...Probably the most common annoying visual bug I've seen is broken curses ACS support. This causes us to show 'mwqqqqqqqqqqqqq' for window borders...
![https://www.atagar.com/transfer/tmp/acs_error.png](https://www.atagar.com/transfer/tmp/acs_error.png)
We can sidestep this by showing ASCII pipes instead ('+--------+'), but to do that we need to be able to **detect** when ACS is broken. Thus far I'm not sure how to do this - tips welcome...Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18506Drop Stop Tor option2016-03-11T17:04:18ZsambuddhabasuDrop Stop Tor optionPresently, a Stop Tor option is seen on the Nyx menu. This was discussed on IRC with atagar and needs to be dropped.Presently, a Stop Tor option is seen on the Nyx menu. This was discussed on IRC with atagar and needs to be dropped.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18499Improved event selection dialog2016-07-05T00:50:14ZDamian JohnsonImproved event selection dialogTo select events to log Nyx uses a weird dialog, requiring users to pick letters corresponding with the events they want. To see it press 'e' on the first page...
![https://www.atagar.com/transfer/tmp/event_selection.png](https://www.at...To select events to log Nyx uses a weird dialog, requiring users to pick letters corresponding with the events they want. To see it press 'e' on the first page...
![https://www.atagar.com/transfer/tmp/event_selection.png](https://www.atagar.com/transfer/tmp/event_selection.png)
This was ok years ago when tor had few events, but as you can see this now requires the user to type really arcane strings ('CaruF'?). We should change this to be similar to our [config editor](https://www.atagar.com/arm/images/screenshot_configPanel_full.png), showing a dialog like...
```
+------------------------------------------------------+
| BW event |
| Bandwidth used by tor. This shows both the number of |
| bytes sent and received. |
+------------------------------------------------------+
| [ ] DEBUG |
| [ ] INFO |
| [X] NOTICE |
| [X] WARN |
| [X] ERR |
+------------------------------------------------------+
| [ ] BW |
| [ ] CIRC |
| ... etc... |
+------------------------------------------------------+
```
Note we'll be dropping the '--log' argument as part of this. A big part of the reason for this arcane alphabet soup was to allow users to specify events with that argument but this clunkiness is hardly worth it. Users can configure initial events in their nyxrc instead.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18488Menu is not seen2016-03-06T20:58:32ZsambuddhabasuMenu is not seenOn pressing 'm', the menu should be shown. The message, "Press m or esc to close the menu." can be seen but the menu is not seen.On pressing 'm', the menu should be shown. The message, "Press m or esc to close the menu." can be seen but the menu is not seen.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18487Tor Configuration File menu throws an AttributeError2016-03-06T19:40:34ZsambuddhabasuTor Configuration File menu throws an AttributeErrorIn page 4/4(Tor Configuration File), when 'm' is pressed, Nyx throws an AttributeError.In page 4/4(Tor Configuration File), when 'm' is pressed, Nyx throws an AttributeError.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18484Set/Unset line numbering for torrc does not work2016-03-05T20:08:39ZsambuddhabasuSet/Unset line numbering for torrc does not workSet/Unset line numbering for torrc does not work as expected. Presently, we use the character, 'n' to achieve this. However, the same character is used for creating a new identity. This can be seen at, https://gitweb.torproject.org/nyx.g...Set/Unset line numbering for torrc does not work as expected. Presently, we use the character, 'n' to achieve this. However, the same character is used for creating a new identity. This can be seen at, https://gitweb.torproject.org/nyx.git/tree/nyx/header_panel.py#n340Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18475Use STEM_CONNECTIONS list for connection tracker tests2016-03-04T16:27:45ZsambuddhabasuUse STEM_CONNECTIONS list for connection tracker testsPresently, the connection tracker tests use `STEM_CONNECTION_1`, `STEM_CONNECTION_2` and `STEM_CONNECTION_3` variables. We can combine them into a list and use the list for the `assertEqual` rather than hard coding them.Presently, the connection tracker tests use `STEM_CONNECTION_1`, `STEM_CONNECTION_2` and `STEM_CONNECTION_3` variables. We can combine them into a list and use the list for the `assertEqual` rather than hard coding them.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18463nyx quits with an error2016-03-03T16:09:43Zsambuddhabasunyx quits with an errornyx quits with an error,
AttributeError: Controller instance has no attribute 'close'
On checking the traceback, this arises from _shutdown_daemons() in nyx/starter.pynyx quits with an error,
AttributeError: Controller instance has no attribute 'close'
On checking the traceback, this arises from _shutdown_daemons() in nyx/starter.pyDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18131Bandwidth history2016-03-13T01:27:12ZTracBandwidth historyI got an Arm-Notice and dont know how to handle it. How do I read the bandwidth history?
"Read the last day of bandwidth history from the state file"
**Trac**:
**Username**: TinkerbeardI got an Arm-Notice and dont know how to handle it. How do I read the bandwidth history?
"Read the last day of bandwidth history from the state file"
**Trac**:
**Username**: TinkerbeardDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/18065arm can't handle v6 addresses2016-03-13T02:08:12ZTracarm can't handle v6 addressesWhen I tried to use arm with my configuration, which contains IPv6 addresses in the ExitPolicy, it fails to start:
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 534, in <module>
controller.init(conn...When I tried to use arm with my configuration, which contains IPv6 addresses in the ExitPolicy, it fails to start:
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 534, in <module>
controller.init(conn)
File "/usr/share/arm/util/torTools.py", line 670, in init
self._exitPolicyChecker = self.getExitPolicy()
File "/usr/share/arm/util/torTools.py", line 1345, in getExitPolicy
result = ExitPolicy(entry, result)
File "/usr/share/arm/util/torTools.py", line 2611, in __init__
self.ipAddressBin += "".join([str((int(octet) >> y) & 1) for y in range(7, -1, -1)])
ValueError: invalid literal for int() with base 10: '[2002'
```
$ arm -v
arm version 1.4.5.0 (released April 28, 2012)
**Trac**:
**Username**: cimnineDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/17977plus character + breaks arm's Tor control port interpeter2016-01-02T21:10:50Zadrelanosplus character + breaks arm's Tor control port interpeterUsing the Debian package tor-arm 1.4.5.0-1. Typed...
```
+signal newnym
```
This freezes arm.Using the Debian package tor-arm 1.4.5.0-1. Typed...
```
+signal newnym
```
This freezes arm.Damian JohnsonDamian Johnson