Difference between revisions of "Running Bisq on Tails"

From Bisq Wiki
Jump to navigation Jump to search
Line 30: Line 30:
  
 
== Configure ==
 
== Configure ==
 
 
  
 
* make authcookie readable:
 
* make authcookie readable:
Line 37: Line 35:
  
 
* configure <code>onion-grater</code>
 
* configure <code>onion-grater</code>
<code>wget https://raw.githubusercontent.com/Whonix/onion-grater/master/usr/share/doc/onion-grater-merger/examples/40_bisq.yml</code>
+
Create a file <code>/etc/onion-grater.d/bisq.yml</code> with contents:
 +
<pre>
 +
---
 +
- apparmor-profiles:
 +
    - '/opt/Bisq/Bisq'
 +
  users:
 +
    - 'amnesia'
 +
  commands:
 +
    SETEVENTS:
 +
      - 'CIRC WARN ERR'
 +
      - 'CIRC ORCONN INFO NOTICE WARN ERR HS_DESC HS_DESC_CONTENT'
 +
    GETINFO:
 +
      - 'net/listeners/socks'
 +
    ADD_ONION:
 +
      - pattern:    'NEW:(\S+) Port=9999,(\S+)'
 +
        replacement: 'NEW:{} Port=9999,{client-address}:{}'
 +
      - pattern:    '(\S+):(\S+) Port=9999,(\S+)'
 +
        replacement: '{}:{} Port=9999,{client-address}:{}'
 +
    DEL_ONION:
 +
      - '.+'
 +
    HSFETCH:
 +
      - '.+'
 +
  events:
 +
    CIRC:
 +
      suppress: true
 +
    ORCONN:
 +
      suppress: true
 +
    INFO:
 +
      suppress: true
 +
    NOTICE:
 +
      suppress: true
 +
    WARN:
 +
      suppress: true
 +
    ERR:
 +
      suppress: true
 +
    HS_DESC:
 +
      response:
 +
        - pattern:    '650 HS_DESC CREATED (\S+) (\S+) (\S+) \S+ (.+)'
 +
          replacement: '650 HS_DESC CREATED {} {} {} redacted {}'
 +
        - pattern:    '650 HS_DESC UPLOAD (\S+) (\S+) .*'
 +
          replacement: '650 HS_DESC UPLOAD {} {} redacted redacted'
 +
        - pattern:    '650 HS_DESC UPLOADED (\S+) (\S+) .+'
 +
          replacement: '650 HS_DESC UPLOADED {} {} redacted'
 +
        - pattern:    '650 HS_DESC REQUESTED (\S+) NO_AUTH'
 +
          replacement: '650 HS_DESC REQUESTED {} NO_AUTH'
 +
        - pattern:    '650 HS_DESC REQUESTED (\S+) NO_AUTH \S+ \S+'
 +
          replacement: '650 HS_DESC REQUESTED {} NO_AUTH redacted redacted'
 +
        - pattern:    '650 HS_DESC RECEIVED (\S+) NO_AUTH \S+ \S+'
 +
          replacement: '650 HS_DESC RECEIVED {} NO_AUTH redacted redacted'
 +
        - pattern:    '.*'
 +
          replacement: ''
 +
    HS_DESC_CONTENT:
 +
      suppress: true
 +
</pre>
  
  
Line 43: Line 94:
 
<pre>Exec=/opt/Bisq/Bisq</pre>
 
<pre>Exec=/opt/Bisq/Bisq</pre>
 
with
 
with
<pre>Exec=/opt/Bisq/Bisq --torControlPort 9052 --torControlCookieFile=/var/run/tor/control.authcookie --torControlUseSafeCookieAuth --useTorForBtc=True</pre>
+
<pre>Exec=/opt/Bisq/Bisq --torControlPort 9052 --torControlCookieFile=/var/run/tor/control.authcookie --useTorForBtc=True</pre>
 
 
 
 
* TODO
 
* do we need that in startup args?
 
<pre>socks5ProxyBtcAddress=127.0.0.1:9050 --socks5ProxyHttpAddress=127.0.0.1:9050</pre>
 
seems like tails will do that anyways because all traffic from tails goes over tor
 
* added iptables rules to connect to nodes:
 
<pre>
 
sudo iptables -I OUTPUT 3 -d 127.0.0.1 -o lo -p tcp --dport 8333 --syn -m owner --uid-owner amnesia -j ACCEPT # bisq
 
sudo iptables -I OUTPUT 3 -d 127.0.0.1 -o lo -p tcp --dport 8000 --syn -m owner --uid-owner amnesia -j ACCEPT # bisq
 
</pre>
 
seems to me that this has been used to allow connecting to seed nodes while using the localhostforp2p (which means there is no tor involved for Bisq at all)
 

Revision as of 12:35, 10 April 2020

[WIP]

In order to use Bisq on the Tails OS, a few manual steps are required.

Preparations

Install

Go to https://github.com/bisq-network/bisq/releases using your Tor Browser and download the Bisq-64bit-[version].deb and .asc files.

You may have to use wget, because curl may not use Tor and therefore is blocked from internet access.

Verify your download

  • wget https://bisq.network/pubkey/[keyid].asc should result in a file [keyid].asc in your working directory
  • import the key to gpg by gpg --import [keyid].asc
  • check the signature with gpg --digest-algo SHA256 --verify [yourbinaryhere]{.asc*,} which should give you something like this

[snip] gpg: Good signature from "Christoph Atteneder... [snip]

Install Bisq

do a simple sudo dpkg -i [yourbinaryhere]

Configure

  • make authcookie readable:
sudo chmod o+r /var/run/tor/control.authcookie
  • configure onion-grater

Create a file /etc/onion-grater.d/bisq.yml with contents:

---
- apparmor-profiles:
    - '/opt/Bisq/Bisq'
  users:
    - 'amnesia'
  commands:
    SETEVENTS:
      - 'CIRC WARN ERR'
      - 'CIRC ORCONN INFO NOTICE WARN ERR HS_DESC HS_DESC_CONTENT'
    GETINFO:
      - 'net/listeners/socks'
    ADD_ONION:
      - pattern:     'NEW:(\S+) Port=9999,(\S+)'
        replacement: 'NEW:{} Port=9999,{client-address}:{}'
      - pattern:     '(\S+):(\S+) Port=9999,(\S+)'
        replacement: '{}:{} Port=9999,{client-address}:{}'
    DEL_ONION:
      - '.+'
    HSFETCH:
      - '.+'
  events:
    CIRC:
      suppress: true
    ORCONN:
      suppress: true
    INFO:
      suppress: true
    NOTICE:
      suppress: true
    WARN:
      suppress: true
    ERR:
      suppress: true
    HS_DESC:
      response:
        - pattern:     '650 HS_DESC CREATED (\S+) (\S+) (\S+) \S+ (.+)'
          replacement: '650 HS_DESC CREATED {} {} {} redacted {}'
        - pattern:     '650 HS_DESC UPLOAD (\S+) (\S+) .*'
          replacement: '650 HS_DESC UPLOAD {} {} redacted redacted'
        - pattern:     '650 HS_DESC UPLOADED (\S+) (\S+) .+'
          replacement: '650 HS_DESC UPLOADED {} {} redacted'
        - pattern:     '650 HS_DESC REQUESTED (\S+) NO_AUTH'
          replacement: '650 HS_DESC REQUESTED {} NO_AUTH'
        - pattern:     '650 HS_DESC REQUESTED (\S+) NO_AUTH \S+ \S+'
          replacement: '650 HS_DESC REQUESTED {} NO_AUTH redacted redacted'
        - pattern:     '650 HS_DESC RECEIVED (\S+) NO_AUTH \S+ \S+'
          replacement: '650 HS_DESC RECEIVED {} NO_AUTH redacted redacted'
        - pattern:     '.*'
          replacement: ''
    HS_DESC_CONTENT:
      suppress: true


  • In /usr/share/applications/Bisq.desktop replace
Exec=/opt/Bisq/Bisq

with

Exec=/opt/Bisq/Bisq --torControlPort 9052 --torControlCookieFile=/var/run/tor/control.authcookie --useTorForBtc=True