novnc / noVNC

VNC client web application
https://novnc.com
Other
11.48k stars 2.28k forks source link

File Transfer! #169

Open mightypenguin opened 12 years ago

mightypenguin commented 12 years ago

Here's a great idea for someone else to code up!

TightVNC style file transfer support in noVNC!

I think the protocol is defined here: http://tigervnc.com/cgi-bin/rfbproto

kanaka commented 12 years ago

So many possibilities, so little time. :-)

dbeniamine commented 5 years ago

First NoVnc is awesome !

The file transfer feature would be very useful for me !

I am using NoVnc in a docker environment so either I have to add a service for file transfer or I implement this functionality, but the protocol link you provided is broken and I do not now much about this project.

Do you have some insight on how to do it so I can estimate if I can and have the time to write this feature ?

CendioOssman commented 5 years ago

The protocol specification has been moved here to github now: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst

However it does not contain any specification for a file transfer extension. So someone would need to write that first. And also check what x11vnc implements in order to be compatible with that docker setup.

dbeniamine commented 5 years ago

Thanks for the answer, It seems be a lot of work and I am a bit short on time.

However I found an easy workaround by integrating filebrowser with docker.

In case it can help someone, there is the solution I've come with :

  1. I've created an image based on dorowu/ubuntu-desktop-lxde-vnc, the only required modification is to add the following lines to /etc/nginx/sites-enabled/default :
location /files/ {
    proxy_pass http://files/files/;
}

This image is not public (yet), so i call it my_version_of_ubuntu-desktop-lxde-vnc.

  1. I've writtent a docker-compose.yml putting the two images together:
version: '2'

services:
    vnc:
        hostname: vnc
        image: my_version_of_ubuntu-desktop-lxde-vnc
        environment:
            USER: ${VNCUSER}
            SSL_PORT: 443
            PASSWORD: ${PASSWORD}
        ports:
            - "${HTTPS_PORT}:443"
        volumes:
            - home:/home
        networks:
            - default
    files:
        hostname: files
        # Stuck to v1.10.0 see https://github.com/filebrowser/filebrowser/issues/534
        image: filebrowser/filebrowser:v1.10.0
        # Uncoment for debug purposes
        # ports:
        #     - 6082:80
        command: --no-auth --baseurl=/files
        volumes:
            - home:/srv
        networks:
            - default

volumes:
    home:

networks:
    default:

With that configuration https://localhost:6081/ brings me to the vnc and https://localhost:6081/files/ brings me to filebrowser from which I can upload and download files in /home.

  1. Adjust the .env:
VNCUSER=test
PASSWORD=test
HTTPS_PORT=6081
XudongZhao-Iecube commented 2 years ago

When will this exciting feature go live?

dbeniamine commented 2 years ago

For information, since my last message we've make a public repository with a docker-compose that binds together filebrowser and noVNC : https://gitlab.tetras-libre.fr/nocloud/docker/vnc

michalc commented 2 years ago

I would love this, and maybe even love to work on it myself. But... how to find out how it should behave, protocol-wise?

michalc commented 2 years ago

I've had a go at trying to work out what the protocol is for file uploads. What I have so far is at

I've found 3 competing protocols so far...

ichigomiruku commented 3 months ago

KasmVNC has a file upload/download functionality but the project mentions they have broken from the RFB spec: https://github.com/kasmtech/KasmVNC

edit: It might be the case that the file upload/download feature is part of Kasm workspaces and not KasmVNC.

samhed commented 3 months ago

Yeah, it would be nice if Kasm could give back to the projects they rely on, sadly they haven't contributed anything so far.