Remote Access to the Parity Wallet (Parity UI) is explained in detail in the Wallet Remote Access section of the Parity docs.
Before trying any method it is important to first make sure that the time on both machines is in sync by going to http://time.is/
Now you have a few options:
The recommended way is using SSH Tunneling
- Setup SSH server on the Host
- Run Parity without any flags (the default
interface
/port
/cors
/hosts
settings will be sufficient)
On the Client connect to your Host with port forwarding and keep the session running
$ ssh -L 8080:127.0.0.1:8080 -L 8180:127.0.0.1:8180 <user>@<host> -vv
To access Parity Wallet on the Client open a browser and type in authorization token, or open
$ open http://127.0.0.1:8180/#/auth/<token>
To generate a new token on the Host:
$ parity signer new-token
Alternatively you can Expose the UI using Nginx
NOTE: It's recommended to setup authentication and SSL on your nginx server.
- Setup Nginx server on the Host.
- Create nginx configuration at
/etc/nginx/sites-enabled/parity.ui
substitute <external-ip>
with correct values:
server {
listen <external-ip>:8080;
# Uncomment for SSL Server
#listen <external-ip>:8080 ssl;
#ssl on;
#ssl_certificate /etc/nginx/parity.ui.crt;
#ssl_certificate_key /etc/nginx/parity.ui.key;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen <external-ip>:8180;
# Uncomment for SSL Server
#listen <external-ip>:8180 ssl;
#ssl on;
#ssl_certificate /etc/nginx/parity.ui.crt;
#ssl_certificate_key /etc/nginx/parity.ui.key;
location / {
proxy_pass http://127.0.0.1:8180;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
- Restart nginx and run Parity without any flags (default
interface
/port
/cors
/hosts
settings are sufficient)
On the Client, open your browser and go to:
$ open http://<external-ip>:8180/#/auth/<token>
To generate a new token on the Host:
$ parity signer new-token
The least secure method is to Directly expose to external connections.
This doesn't require SSH tunnels. It exposes your node RPC to external connections and if you really need to use it it is highly advised to configure very strict firewall rules and use it read-only, otherwise your password are being sent unencrypted over the network. This method is not recommended in general anyway, be warned.
- Figure out interface address you will use to access the Wallet-IP of the server (if you want the Wallet to be available on multiple
interfaces see the note below)
Run Parity on the Host, with the following flags:
$ parity --dapps-interface <IP> --ui-interface <Wallet>
On the Client, open your browser and go to:
$ open http://<IP>:8180/#/auth/<token>
To generate a new token on the Host:
$ parity signer new-token
NOTE: Parity will accept only connections coming to correct interface (IP), if you want to listen on multiple interfaces (IP=0.0.0.0
; again - not recommended) you need to run with additional flags like: --dapps-hosts
and --ui-no-validation