{"id":21387189,"url":"https://github.com/sshtools/rdp2vnc","last_synced_at":"2025-07-27T23:33:33.205Z","repository":{"id":84133125,"uuid":"101060370","full_name":"sshtools/rdp2vnc","owner":"sshtools","description":"An RDP to VNC bridge","archived":false,"fork":false,"pushed_at":"2018-02-21T15:46:54.000Z","size":33,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-10T23:46:55.497Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sshtools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-22T12:28:32.000Z","updated_at":"2024-10-28T02:43:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"66ec7f8b-3448-45e0-a3b6-520888efef47","html_url":"https://github.com/sshtools/rdp2vnc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sshtools/rdp2vnc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshtools%2Frdp2vnc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshtools%2Frdp2vnc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshtools%2Frdp2vnc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshtools%2Frdp2vnc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshtools","download_url":"https://codeload.github.com/sshtools/rdp2vnc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshtools%2Frdp2vnc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267441267,"owners_count":24087771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T12:12:04.989Z","updated_at":"2025-07-27T23:33:33.182Z","avatar_url":"https://github.com/sshtools.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rdp2vnc\n\nThis library makes use of SSHTools' RDP component (originally based on properoRDP) and our own\nJava RFB/VNC server.\n\nIt consists of a single 'Display Driver' implementation that plugs in to the RFB server and makes a\nconnection to a remote RDP server using an in-memory backing store. This backing store is then\nserved over VNC to any remote clients.\n\nMouse and keyboard events from clients are also sent to the RDP server, and there is some support\nfor other control events such as desktop resizing.\n\nIn short, it is an RDP-to-VNC bridge.\n\n## Driver\n\nThe SSHTools RFB Server driver is *com.sshtools.rdp2vnc.RDPDisplayDriver*. You will most definitely\nneed to study the Example below for how to build it into your own application. The driver has\nno particular requirements on how the I/O is done between the RFB server and your viewers, and\nthe RDP client and it's target host.\n\nThe general idea is :-\n\n * You start an RFB server using this 'Driver'\n * You start an RDP client connection using the same driver instance as the 'Display'\n * You connect the I/O streams of each to each other\n \n\n## Standalone application and Example \nIncluded in the library is a simple command line driven standalone application that serves as both\nas an example, and as a useful application if you want to access Windows hosts using a VNC client\n(this is deal for the HTML5 based noVNC) without installing a VNC service on the target server.\n\nThe example will set up a TCP/IP server on port 5900 (by default) and connect to port 3389. You \ncan then connect any VNC viewer to port 5900 and should see the desktop being served on port 3389. \n\nBy using --help, the following will be displayed detailing all possible options.\n\n```\nusage: RDP2VNC [-?] [-b \u003carg\u003e] [-C] [-c \u003carg\u003e] [-d \u003carg\u003e] [-D \u003carg\u003e] [-e\n       \u003carg\u003e] [-E] [-f] [-k \u003carg\u003e] [-l \u003carg\u003e] [-L \u003carg\u003e] [-m \u003carg\u003e] [-N]\n       [-p \u003carg\u003e] [-s \u003carg\u003e] [-S] [-v \u003carg\u003e] [-w \u003carg\u003e] [-W \u003carg\u003e]\nA server to allow connections to RDP servers from VNC clients\n -?,--help                     Display help\n -b,--backlog \u003carg\u003e            Maximum number of incoming connections that\n                               are allowed. Only applies in 'listen' mode\n -C,--console                  Connect to the target RDP server's console.\n -c,--command \u003carg\u003e            Run this command upon logon to the target\n                               RDP server.\n -d,--username \u003carg\u003e           The optional windows username to\n                               authenticate with. If not supplied, the\n                               user will be prompted.\n -D,--directory \u003carg\u003e          Directory to be placed in upon logon to the\n                               target RDP server.\n -e,--encodings \u003carg\u003e          Comma separated list of enabled encoding\n -E,--packet-encryption        Enable packet encryption between the\n                               RDP2VNC server and the RDP target.\n -f,--full-screen              Request full screen desktop from the remote\n                               server (it's native resolution).\n -k,--keymap \u003carg\u003e             The keyboard map. Defaults to en-us.\n -l,--log \u003carg\u003e                Log level\n -L,--listen-address \u003carg\u003e     The address and port to listen on in the\n                               format \u003cAddress\u003e[:\u003cPort\u003e]. Address defaults\n                               to 0.0.0.0 (all interfaces) and port\n                               defaults to 3389\n -m,--mode \u003carg\u003e               Connection mode. May either be 'listen'\n                               (the default), or 'reverse' for to connect\n                               to a VNC viewer running in listen mode\n -N,--nocopyrect               Do not use the CopyRect driver for window\n                               movement (if supported)\n -p,--password \u003carg\u003e           The optional windows password to\n                               authenticate with. If not supplied, the\n                               user will be prompted.\n -s,--size \u003carg\u003e               The size of remote desktop to request from\n                               the RDP server (defaults to 800x600). Use\n                               the format \u003cWidth\u003e,\u003cHeight\u003e\n -S,--ssl                      Enable SSL encryption between the RDP2VNC\n                               server and the RDP target.\n -v,--viewport \u003carg\u003e           Serve only a rectangular viewport of the\n                               entire desktop.Use the format\n                               \u003cX\u003e,\u003cY\u003e,\u003cWidth\u003e,\u003cHeight\u003e.\n -w,--vnc-password \u003carg\u003e       The password that VNC clients must\n                               authenticate with. NOTE, this is not the\n                               Windows password used to authenticate with\n                               the RDP server.\n -W,--vnc-passwordfile \u003carg\u003e   A file containing the VNC password that\n                               clients must authenticate with. NOTE, this\n                               is not the Windows password used to\n                               authenticate with the RDP server.\n\nProvided by SSHTOOLS Limited.\n\n```\n\n\n\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshtools%2Frdp2vnc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsshtools%2Frdp2vnc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshtools%2Frdp2vnc/lists"}