bordaigorl / rmview

A live viewer for reMarkable written in PyQt5
GNU General Public License v3.0
765 stars 64 forks source link

SSH tunnel appears to not encapsulate VNC traffic - possible bug #172

Open yg-ht opened 1 month ago

yg-ht commented 1 month ago

Hey, first of all thank you for this tool - its very cool!

I happened to be experimenting with firewall settings on a Debian machine and realised that I couldn't fully connect to the screenshare. I got the red dot but no contents. When I turned the firewall off I got the contents. This led me to look deeper and I noticed that even though my config states that the SSH tunnel is needed it doesn't appear to make a difference.

My config:

  "ssh": {
     "timeout": 4,
     "address": "10.20.1.210",
     "username": "root",
     "auth_method": "key",
     "key": "/home/user/.ssh/id_rsa",
     "tunnel": true
  },
  "orientation": "portrait",
  "pen_size": 15,
  "pen_color": "red",
  "pen_trail": 200,
  "background_color": "white",
  "hide_pen_on_press": true
}

I then did an nmap before connecting using rmView:

Starting Nmap 7.93 ( https://nmap.org ) at 2024-10-28 09:03 GMT
Nmap scan report for remarkable (10.1.1.22)
Host is up (0.011s latency).

PORT   STATE SERVICE
22/tcp open  ssh
5900/tcp closed vnc

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

And a second when connected using rmView:

Starting Nmap 7.93 ( https://nmap.org ) at 2024-10-28 09:04 GMT
Nmap scan report for remarkable (10.1.1.22)
Host is up (0.0042s latency).

PORT   STATE SERVICE
22/tcp open  ssh
5900/tcp open  vnc

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

I have had an experiment and included verbose mode but I can't see anything that indicates whether SSH tunneling is working or not etc. This is my verbose output:

[INFO] STARTING: Mon Oct 28 09:24:35 2024
[INFO] Searching configuration in -vv, rmview.json, /home/user/.config/rmview.json
[INFO] Fetching configuration from /home/user/.config/rmview.json
[INFO] Using known hosts file: /home/user/.config/rmview_known_hosts
[INFO] Loaded known hosts from /home/user/.config/rmview_known_hosts
[INFO] Connecting...
[INFO] Connected to 10.1.1.22
[INFO] Detected SW version: 3.14.1.9
[INFO] Detected device: reMarkable 1.0
[INFO] Using backend 'screenshare'
[INFO] Connecting to ScreenShare, make sure you enable it
[WARNING] Authenticating, please wait...
[INFO] received timestamp challenge 1730106263121
[INFO] Remote config file detected: /etc/remarkable.conf
[INFO] Challenge: e83...SNIP...866, connecting to vnc
[INFO] Connection to VNC server has been established

Has anyone else experienced this / have a fix for this / know where to start with debugging?

Thanks!