Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2016-03-13T02:05:14Zhttps://gitlab.torproject.org/legacy/trac/-/issues/13249detail information of an "/Exit" of a CIRCUIT is wrong2016-03-13T02:05:14Ztoralfdetail information of an "/Exit" of a CIRCUIT is wrongas seen in the attached screen shot I'm wondering why the system 212.83.176.122 is shown as "Exit" whilst its detail information indicates that it is a non-exit tor relay.as seen in the attached screen shot I'm wondering why the system 212.83.176.122 is shown as "Exit" whilst its detail information indicates that it is a non-exit tor relay.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/13248uptime is empty2016-03-13T02:05:01Ztoralfuptime is emptywondering why it is not shownwondering why it is not shownDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/13127ValueError strptime traceback starting arm2016-03-13T02:04:41ZTracValueError strptime traceback starting armArm doesn't start and crashes immediatly with this traceback:
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 578, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/usr/share/...Arm doesn't start and crashes immediatly with this traceback:
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 578, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/usr/share/arm/cli/controller.py", line 700, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime)
File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/share/arm/cli/controller.py", line 720, in drawTorMonitor
initController(stdscr, startTime)
File "/usr/share/arm/cli/controller.py", line 86, in initController
firstPagePanels.append(cli.logPanel.LogPanel(stdscr, expandedEvents, config))
File "/usr/share/arm/cli/logPanel.py", line 652, in __init__
self.reprepopulateEvents()
File "/usr/share/arm/cli/logPanel.py", line 696, in reprepopulateEvents
torEventBacklog = getLogFileEntries(setRunlevels, readLimit, addLimit, self._config)
File "/usr/share/arm/cli/logPanel.py", line 313, in getLogFileEntries
eventTimeComp = list(time.strptime(timestamp, "%Y %b %d %H:%M:%S"))
File "/usr/lib/python2.7/_strptime.py", line 467, in _strptime_time
return _strptime(data_string, format)[0]
File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '2012 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Sep 11 04:38:43' does not match format '%Y %b %d %H:%M:%S'
```
Running as normal user, as root or as debian-tor doesn't change anything.
I don't know if this is useful but my server recently crashed and I had to force a reboot.
**Trac**:
**Username**: arguggiDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/12956Circuit list scares relay operators by using term 'exit'2017-10-25T20:09:30ZRoger DingledineCircuit list scares relay operators by using term 'exit'Every so often we have concerned users thinking they misconfigured their relay's exit policy, since in arm they see circuits that end at their relay and whose final hop is labelled 'Exit'.
E.g.:
```
arm - last-request (Linux 3.2.0-4-amd...Every so often we have concerned users thinking they misconfigured their relay's exit policy, since in arm they see circuits that end at their relay and whose final hop is labelled 'Exit'.
E.g.:
```
arm - last-request (Linux 3.2.0-4-amd64) Tor 0.2.5.6-alpha (recommended)
Relaying Disabled, Control Port (open): 9051
cpu: 0.0% tor, 0.8% arm mem: 29 MB (0.8%) pid: 6395 uptime: 1-20:40:44
page 2 / 5 - m: menu, p: pause, h: page help, q: quit
Connections (2 circuit):
76.99.61.63 --> 188.138.17.248 (fr) 3.1m (CIRCUIT)
│ 83.168.200.204 (se) ParadiseTorRelay1 1 / Guard
│ 18.181.5.37 (us) VERITAS 2 / Middle
└─ 188.138.17.248 (fr) EuropeCoastDE 3 / Exit
76.99.61.63 --> 209.159.130.6 (us) 3.1m (CIRCUIT)
│ 83.168.200.204 (se) ParadiseTorRelay1 1 / Guard
│ 213.138.110.88 (gb) lupine 2 / Middle
└─ 209.159.130.6 (us) LiveFreeOrDie 3 / Exit
```
I think for non-general-purpose circuits, we should call that third hop something else. I'm open to suggestions -- one option would be to just call the last hop on a non-exit circuit "Middle" also. Another option would be to call it "Internal".
Specifically, we could apply this new name to everything with circuit purpose other than GENERAL. Or we could apply it to all circuits that have the IS_INTERNAL flag. Maybe the latter approach is a bit more general.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/12785arm crashes on Debian Wheezy2016-03-13T01:26:31Zcypherpunksarm crashes on Debian Wheezy```
apt-cache show tor-arm
Package: tor-arm
Version: 1.4.5.0-1
Installed-Size: 1007
Maintainer: Ulises Vitulli <dererk@debian.org>
Architecture: all
Depends: python (>= 2.6.6-7~), python-torctl
Suggests: tor
Description-en: terminal stat...```
apt-cache show tor-arm
Package: tor-arm
Version: 1.4.5.0-1
Installed-Size: 1007
Maintainer: Ulises Vitulli <dererk@debian.org>
Architecture: all
Depends: python (>= 2.6.6-7~), python-torctl
Suggests: tor
Description-en: terminal status monitor for tor
The anonymizing relay monitor (arm) is a terminal status monitor for Tor
relays, intended for command-line aficionados, ssh connections, and anyone
stuck with a tty terminal. This works much like top does for system usage,
providing real time statistics for:
.
- bandwidth, cpu, and memory usage
- relay's current configuration
- logged events
- connection details (ip, hostname, fingerprint, and consensus data)
- etc.
Homepage: http://www.atagar.com/arm/
Description-md5: ec44664df4c223075aac5e459d59c2b0
Tag: implemented-in::python, role::program, use::monitor
Section: comm
Priority: extra
Filename: pool/main/t/tor-arm/tor-arm_1.4.5.0-1_all.deb
Size: 306998
MD5sum: 8276cafb2e871eec300b5704956ea199
SHA1: d07939252d8410f0802f3df52edd34ce57c7c026
SHA256: 3715c89554f0d9aab75a3b92e6a47dee15a5136a48e2d887ef393ab7516988ce
```
arm version:
```
arm --version
arm version 1.4.5.0 (released April 28, 2012)
```
arm crashes like so at startup:
```
# arm
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 578, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/usr/share/arm/cli/controller.py", line 700, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime)
File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/share/arm/cli/controller.py", line 720, in drawTorMonitor
initController(stdscr, startTime)
File "/usr/share/arm/cli/controller.py", line 86, in initController
firstPagePanels.append(cli.logPanel.LogPanel(stdscr, expandedEvents, config))
File "/usr/share/arm/cli/logPanel.py", line 652, in __init__
self.reprepopulateEvents()
File "/usr/share/arm/cli/logPanel.py", line 696, in reprepopulateEvents
torEventBacklog = getLogFileEntries(setRunlevels, readLimit, addLimit, self._config)
File "/usr/share/arm/cli/logPanel.py", line 313, in getLogFileEntries
eventTimeComp = list(time.strptime(timestamp, "%Y %b %d %H:%M:%S"))
File "/usr/lib/python2.7/_strptime.py", line 467, in _strptime_time
return _strptime(data_string, format)[0]
File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '2012 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Apr 23 20:20:01' does not match format '%Y %b %d %H:%M:%S'
Exception in thread Thread-3 (most likely raised during interpreter shutdown):Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
Traceback (most recent call last):
File "/usr/share/arm/util/connections.py", line 476, in run File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
File "/usr/lib/python2.7/threading.py", line 142, in release File "/usr/share/arm/util/sysTools.py", line 546, in run
<type 'exceptions.TypeError'>: 'NoneType' object is not callable File "/usr/lib/python2.7/threading.py", line 142, in release
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
```
Any ideas?Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/12473ARM does not display correct fingerprint after change2014-06-26T18:50:00ZTracARM does not display correct fingerprint after changeI originally set-up my relay incorrectly as an exit and I didn't realize this until I got the e-mail from tor-weather that it was stable (I am on a home cable Internet connection). I moved that torrc and created a new one using the ARM ...I originally set-up my relay incorrectly as an exit and I didn't realize this until I got the e-mail from tor-weather that it was stable (I am on a home cable Internet connection). I moved that torrc and created a new one using the ARM wizard.
The finger print for my new relay is 0EFDE7593A6B070D816B23FB628EE441788A6870
the attached screen-shot displays what ARM shows
**Trac**:
**Username**: rdewaldDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/12452Arm is showing the wrong accounting limit2016-03-13T02:01:57ZDamian JohnsonArm is showing the wrong accounting limitBug report from Kyle...
```
Bug regarding AccountingMax for 1.4.5.0-1 and likely previous
versions:
As stated in torrc.sample:
## Use these to restrict the maximum traffic per day, week, or month.
## Note that this threshold applies s...Bug report from Kyle...
```
Bug regarding AccountingMax for 1.4.5.0-1 and likely previous
versions:
As stated in torrc.sample:
## Use these to restrict the maximum traffic per day, week, or month.
## Note that this threshold applies separately to sent and received
bytes,
## not to their sum: setting "4 GB" may allow up to 8 GB total before
## hibernating.
In graph/log view, ARM appears to apply 1/2 AccountingMax to TX and
1/2 AccountingMax to RX, rather than the correct behavior which would
be to apply 1 x AccountingMax to traffic in each direction.
Specifically, I have 2000 GB set in torrc, and ARM displays:
Accounting (awake) Time to reset: 23:05:27:35
167 MB / 1 TB 147 MB / 1 TB
```Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/12225arm fails to start upon invalid attempt to concatenate int and string2014-06-07T22:28:15ZTracarm fails to start upon invalid attempt to concatenate int and stringThe stack trace is:
```
Traceback (most recent call last):
File "./run_arm", line 49, in <module>
main()
File "./run_arm", line 18, in main
arm.starter.main()
File "/home/pmezard/dev/arm/arm/starter.py", line 94, in main
...The stack trace is:
```
Traceback (most recent call last):
File "./run_arm", line 49, in <module>
main()
File "./run_arm", line 18, in main
arm.starter.main()
File "/home/pmezard/dev/arm/arm/starter.py", line 94, in main
curses.wrapper(arm.controller.start_arm)
File "/usr/lib/python2.6/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/home/pmezard/dev/arm/arm/controller.py", line 640, in start_arm
control.redraw(False)
File "/home/pmezard/dev/arm/arm/controller.py", line 436, in redraw
panel_impl.redraw(force)
File "/home/pmezard/dev/arm/arm/util/panel.py", line 428, in redraw
self.draw(self.max_x, self.max_y)
File "/home/pmezard/dev/arm/arm/header_panel.py", line 254, in draw
for label in (self.vals.nickname, " - " + my_address, ":" + self.vals.or_port, dir_port_label):
TypeError: cannot concatenate 'str' and 'int' objects
```
A possible fix:
```
commit 57c20fed78a263930e6774f7de47747a1861728a
Author: Patrick Mezard <patrick@mezard.eu>
Date: Sat Jun 7 23:20:06 2014 +0200
Fix invalid or_port type formatting when making labels
diff --git a/arm/header_panel.py b/arm/header_panel.py
index 0c7e669..94cf893 100644
--- a/arm/header_panel.py
+++ b/arm/header_panel.py
@@ -251,7 +251,7 @@ class HeaderPanel(panel.Panel, threading.Thread):
dir_port_label = ", Dir Port: %s" % self.vals.dir_port if self.vals.dir_port != "0" else ""
- for label in (self.vals.nickname, " - " + my_address, ":" + self.vals.or_port, dir_port_label):
+ for label in (self.vals.nickname, " - " + my_address, ":%d" % self.vals.or_port, dir_port_label):
if x + len(label) <= left_width:
self.addstr(1, x, label)
x += len(label)
```
I suppose it comes from:
```
return [(addr, int(port)) for (addr, port) in proxy_addrs]
```
done when generating listeners lists in stem. But I understand nothing about the code.
**Trac**:
**Username**: pmezardDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/12127Connection stats missing from menu2016-03-13T02:01:41ZGeorge KadianakisConnection stats missing from menuI find myself checking `$DataDirectory/stats/bridge-stats` regularly on my bridge to see how active my bridge has been (and also if it got blocked in any new jurisdictions).
I think it would be a great addition to arm, if bridge operato...I find myself checking `$DataDirectory/stats/bridge-stats` regularly on my bridge to see how active my bridge has been (and also if it got blocked in any new jurisdictions).
I think it would be a great addition to arm, if bridge operators could have a Statistics panel (similar to 'Bandwidth'/'Connections' panels) where those statistics would be parsed from the stat files and displayed to the user in a nice manner. I think bridge operators would get more motivated because they can see some statistics about the people they help.
Example `bridge-stats` file:
```
bridge-stats-end 2014-05-25 21:04:40 (86400 s)
bridge-ips us=552,ir=336,??=328,ru=320,gb=256,de=160,sa=128,tr=120,br=112,in=104,fr=96,it=96,id=88,mx=88,ua=88,au=80,ae=64,ca=64,eg=64,pk=64,ph=56,pl=56,nl=48,ro=48,co=40,es=40,ve=40,ye=40,bd=32,kr=32,om=32,vn=32,ar=24,ch=24,cl=24,dz=24,eu=24,fi=24,il=24,jp=24,ma=24,my=24,qa=24,se=24,tz=24,at=16,be=16,cn=16,cr=16,cz=16,gr=16,hu=16,ie=16,jo=16,kz=16,lk=16,ng=16,no=16,nz=16,pe=16,pt=16,rs=16,sd=16,sg=16,sy=16,th=16,a1=8,af=8,am=8,ao=8,bg=8,bh=8,bj=8,bn=8,bo=8,by=8,ci=8,cu=8,cy=8,dj=8,dk=8,do=8,ec=8,ee=8,et=8,gh=8,gm=8,gt=8,gu=8,hk=8,hn=8,hr=8,iq=8,is=8,ke=8,kg=8,kh=8,kw=8,lb=8,li=8,lt=8,lu=8,lv=8,ly=8,md=8,mk=8,mv=8,ni=8,np=8,pa=8,pr=8,ps=8,py=8,si=8,sk=8,sn=8,sv=8,tm=8,tn=8,tt=8,tw=8,uy=8,uz=8,za=8,zm=8
bridge-ip-versions v4=4312,v6=0
bridge-ip-transports <OR>=8,obfs2=8,obfs3=4296,scramblesuit=8
```
I might implement this at some point. Or maybe it could be a fun project for a new volunteer.
(Maybe `dirreq-stats` could also be parsed, since those numbers are used when calculating the graphs at `https://metrics.torproject.org/users.html`)Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/12112AppData for arm2016-03-13T02:01:15ZDamian JohnsonAppData for armRichard Hughes has requested for arm to include [AppData](http://people.freedesktop.org/~hughsient/appdata/). Sounds like a fine thing to include - the description is already available in [our readme](https://gitweb.torproject.org/arm.gi...Richard Hughes has requested for arm to include [AppData](http://people.freedesktop.org/~hughsient/appdata/). Sounds like a fine thing to include - the description is already available in [our readme](https://gitweb.torproject.org/arm.git/blob/HEAD:/README), and [screenshots on our site](https://www.atagar.com/arm/screenshots.php).Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/11886arm not working, raspbian jessie (testing)2014-05-12T21:35:05ZTracarm not working, raspbian jessie (testing)I did "sudo apt-get update && sudo apt-get upgrade" at 8 may ago, and it then did:
Start-Date: 2014-05-08 19:22:41
Commandline: apt-get upgrade
Upgrade: python-torctl:armhf (20110618git-1, 20130920git-1)
End-Date: 2014-05-08 19:22:51
...I did "sudo apt-get update && sudo apt-get upgrade" at 8 may ago, and it then did:
Start-Date: 2014-05-08 19:22:41
Commandline: apt-get upgrade
Upgrade: python-torctl:armhf (20110618git-1, 20130920git-1)
End-Date: 2014-05-08 19:22:51
Start-Date: 2014-05-08 19:27:06
Commandline: apt-get autoremove
Remove: python-socksipy:armhf (1.0-2)
End-Date: 2014-05-08 19:27:11
Now this happends:
pi@raspberrypi ~ $ arm
Arm requires TorCtl to run, but it's unavailable. Would you like to install it? (y/n): y
Unable to install TorCtl, sorry
pi@raspberrypi ~ $ sudo apt-get install python-torctl
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-torctl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
**Trac**:
**Username**: justaguyDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/11252www.atagar.com only supports RC4 cipher2016-02-07T09:41:47ZDamian Johnsonwww.atagar.com only supports RC4 cipher[Arm's website](http://www.atagar.com/arm) is hosted on my domain. Recently-ish Dreamhost added SNI (Server Name Indication), allowing me to **finally** support TLS on their shared hosting. I just got a request for the domain to support ...[Arm's website](http://www.atagar.com/arm) is hosted on my domain. Recently-ish Dreamhost added SNI (Server Name Indication), allowing me to **finally** support TLS on their shared hosting. I just got a request for the domain to support better cyphers...
```
Hey
May I humbly suggest that you really update your SSL/TLS configuration
on atagar.com. You only support the RC4 cipher, which is considered
insecure and is at this point being phased out.
Look at the result here:
https://www.ssllabs.com/ssltest/analyze.html?d=atagar.com
Also, since you're directly linked from torproject.org you should set
a good example.
Search for 'Perfect forward secrecy apache' to find a good
configuration.
Hope this you'll have a look at it, thanks! :)
```
I'm not sure if this is an option with Dreamhost's setup, but I should take a peek.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/10927Arm crashes with --gui option when not able to read local tor logs, as a resu...2014-02-17T09:41:44ZTracArm crashes with --gui option when not able to read local tor logs, as a result of remotely connecting to tor control port from another host:Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 574, in <module>
gui.controller.start_gui()
File "/usr/share/arm/gui/controller.py", line 61, in start_gui
controller = GuiController()
File "/usr/sh...Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 574, in <module>
gui.controller.start_gui()
File "/usr/share/arm/gui/controller.py", line 61, in start_gui
controller = GuiController()
File "/usr/share/arm/gui/controller.py", line 37, in !__init!__
self.panels[panelClass] = panelClass(self.builder)
File "/usr/share/arm/gui/logPanel.py", line 42, in !__init!__
torEventBacklog = deque(getLogFileEntries(setRunlevels, readLimit, addLimit, self._config))
File "/usr/share/arm/cli/logPanel.py", line 251, in getLogFileEntries
sIndex = runlevels.index(loggingTypes)
ValueError: '[HTTP,OR,PROTOCOL,EDGE,APP,CIRC]NOTICE' is not in list
I have tried, as a guess, adding "Log [HTTP,OR,PROTOCOL,EDGE,APP,CIRC]NOTICE stdout" in the torrc with no luck. The arm version is debian wheezy repository default (1.4.5.0 [released April 28, 2012])
**Trac**:
**Username**: johnakabeanDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/10855Arm crashes when run remotely2014-02-17T05:11:06ZDamian JohnsonArm crashes when run remotelyFiling on behalf of johnakabean...
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 578, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/usr/share/arm/cli/controller.py", li...Filing on behalf of johnakabean...
```
Traceback (most recent call last):
File "/usr/share/arm/starter.py", line 578, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/usr/share/arm/cli/controller.py", line 700, in
startTorMonitor
curses.wrapper(drawTorMonitor, startTime)
File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/share/arm/cli/controller.py", line 720, in
drawTorMonitor
initController(stdscr, startTime)
File "/usr/share/arm/cli/controller.py", line 86, in initController
firstPagePanels.append(cli.logPanel.LogPanel(stdscr,
expandedEvents, config))
File "/usr/share/arm/cli/logPanel.py", line 652, in __init__
self.reprepopulateEvents()
File "/usr/share/arm/cli/logPanel.py", line 696, in
reprepopulateEvents
torEventBacklog = getLogFileEntries(setRunlevels, readLimit,
addLimit, self._config)
File "/usr/share/arm/cli/logPanel.py", line 251, in
getLogFileEntries
sIndex = runlevels.index(loggingTypes)
ValueError: '[HTTP,OR,PROTOCOL,EDGE,APP,CIRC]NOTICE' is not in list
```
If you connect to tor's console remotely, of course ARM is unable to
read the log. I see by the python that its supposed to say, in this
case, "unable to read tor's logfile" but, instead, it crashes with the
above. The workaround is to disable it executing this part of pything,
by putting, in the armrc, "features.panels.show.log false"Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/10702arm tells users to "sudo -u debian-tor arm", which lets arm read tor's keys2020-06-13T04:14:45ZRoger Dingledinearm tells users to "sudo -u debian-tor arm", which lets arm read tor's keysin config/strings.cfg:
```
msg.setup.arm_is_running_as_root Arm is currently running with root permissions. This isn't a good idea, nor should it be necessary. Try starting arm with "sudo -u {tor_user} arm" instead.
```
Telling the user...in config/strings.cfg:
```
msg.setup.arm_is_running_as_root Arm is currently running with root permissions. This isn't a good idea, nor should it be necessary. Try starting arm with "sudo -u {tor_user} arm" instead.
```
Telling the user to run arm as the tor user exposes all of /var/lib/tor/ to arm, which is probably more than needed and likely more than expected.
At least on debian, the right answer is "sudo adduser $USER debian-tor" and then run arm as the normal user (after logout/login as needed). See #10700 for where this topic came up.Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/10701tor-arm's man page doesn't mention --socket option2016-03-13T02:00:58ZRoger Dingledinetor-arm's man page doesn't mention --socket optionAre there other things it doesn't mention also?
Also at the bottom of 'man arm' it points me to
/usr/share/doc/arm/armrc.sample
but actually that should be
/usr/share/doc/tor-arm/armrc.sample.gzAre there other things it doesn't mention also?
Also at the bottom of 'man arm' it points me to
/usr/share/doc/arm/armrc.sample
but actually that should be
/usr/share/doc/tor-arm/armrc.sample.gzDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/10580arm hangs when monitoring ipv6 relay on switching to connection page2016-03-13T01:23:52ZTracarm hangs when monitoring ipv6 relay on switching to connection pageI added ipv6 support for the torland relays. When using arm I noticed that on switching to the connection page arm hangs. I could recreate the issue on 2 relays and a bridge. Once it was configured for ipv6 the connection page did not wo...I added ipv6 support for the torland relays. When using arm I noticed that on switching to the connection page arm hangs. I could recreate the issue on 2 relays and a bridge. Once it was configured for ipv6 the connection page did not work anymore.
**Trac**:
**Username**: torlandDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/10579arm crashes when it connects to relay with ExitPolicy reject62020-06-13T04:14:30ZTracarm crashes when it connects to relay with ExitPolicy reject6When I connect arm to a relay with a ipv6 exit policy line in torrc like
ExitPolicy reject6 [c234:5678:a001:5d::136]:22
arm crashes with the following backtrace:
File "/usr/share/arm/starter.py", line 578, in <module>
cli.controll...When I connect arm to a relay with a ipv6 exit policy line in torrc like
ExitPolicy reject6 [c234:5678:a001:5d::136]:22
arm crashes with the following backtrace:
File "/usr/share/arm/starter.py", line 578, in <module>
cli.controller.startTorMonitor(time.time() - initTime)
File "/usr/share/arm/cli/controller.py", line 700, in startTorMonitor
curses.wrapper(drawTorMonitor, startTime)
File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/share/arm/cli/controller.py", line 801, in drawTorMonitor
isKeystrokeConsumed = panelImpl.handleKey(key)
File "/usr/share/arm/cli/headerPanel.py", line 180, in handleKey
torTools.getConn().init(torctlConn)
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: '[c234'
**Trac**:
**Username**: torlandDamian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/9753Torrc validation misunderstands MaxOnionQueueDelay2016-03-13T02:00:40ZDamian JohnsonTorrc validation misunderstands MaxOnionQueueDelayMoving from an email...
```
Hello,
I'm using your great tor-arm 1.4.5.0-1 with Tor 0.2.4.17-rc on Debian 7.
There is a setting "MaxOnionQueueDelay" in torrc
(see https://www.torproject.org/docs/tor-manual-dev.html.en) with a
default o...Moving from an email...
```
Hello,
I'm using your great tor-arm 1.4.5.0-1 with Tor 0.2.4.17-rc on Debian 7.
There is a setting "MaxOnionQueueDelay" in torrc
(see https://www.torproject.org/docs/tor-manual-dev.html.en) with a
default of "1750 msec".
By setting "MaxOnionQueueDelay" to "1400 msec" arm shows on
page 3/5
----------------
MaxOnionQueueDelay 1400
----------------
but on page 1/5 this warning
----------------
14:25:51 [ARM_WARN] The torrc differs from what tor's using. You
can issue a sighup to reload the torrc values by pressing x.
- torrc value differs on line: 119
----------------
Can you check it?
```Damian JohnsonDamian Johnsonhttps://gitlab.torproject.org/legacy/trac/-/issues/9747Bandwidth graph not updating2013-09-14T22:53:54ZTracBandwidth graph not updatingOn the latest version of arm, on both of my relays, my bandwidth graphs aren't updating. They have been showing the same graph for the past few days now. It continues to be the same ever after restarts of arm. It happened at about the sa...On the latest version of arm, on both of my relays, my bandwidth graphs aren't updating. They have been showing the same graph for the past few days now. It continues to be the same ever after restarts of arm. It happened at about the same time on both so I'm not sure if the issue is with arm, my servers, or my computer that I'm sshing from.
**Trac**:
**Username**: unixninja92Damian JohnsonDamian Johnson