fix bug + more license automata

This commit is contained in:
speyrefitte
2014-07-15 17:11:06 +02:00
parent 088893fa63
commit c04982f434
8 changed files with 321 additions and 109 deletions

View File

@@ -1,6 +1,9 @@
# RDPY
Remote Desktop Protocol in Twisted Python
Remote Desktop Protocol in Twisted Python.
RDPY is ful python except the bitmap decompression in RDP client for performance. RDPY has no ambition to be as faster as freerdp, rdesktop or mstsc, is made to play with microsoft protocol. There are some limitations essentially due to price of license (Packet redirection and License extesion in RDP protocol).
## Requirements
* python2.7
@@ -8,16 +11,45 @@ Remote Desktop Protocol in Twisted Python
* python-openssl
* python-qt4
* python-qt4reactor
## Requirements libs
* python-sip-dev
* scons
## Build
```
$ git clone https://github.com/citronneur/rdpy.git rdpy
$ scons -C rdpy/lib install
```
## Binaries
Binaries are uses as examples to use rdpy lib.
To create an RDP client (this example doesn't need build step of project because it doesn't call bitmap uncompress):
```
from rdpy.protocol.rdp import rdp
class RDPClientQtFactory(rdp.ClientFactory):
def buildObserver(self, controller):
class MyObserver(rdp.RDPClientObserver)
def __init__(self, controller)
rdp.RDPClientObserver.__init__(self, controller)
def onBitmapUpdate(self, destLeft, destTop, destRight, destBottom, width, height, bitsPerPixel, isCompress, data):
#here code handle bitmap
pass
def onReady(self):
#send r key
self._controller.sendKeyEventUnicode(ord(unicode("r".toUtf8(), encoding="UTF-8")), True)
#mouse and click at pixel 200x200
self._controller.sendPointerEvent(200, 200, 1, true)
return MyObserver(controller)
def startedConnecting(self, connector):
pass
def clientConnectionLost(self, connector, reason):
pass
def clientConnectionFailed(self, connector, reason):
pass
```
RDP Client
```
$ rdpy/bin/rdpy-rdpclient XXX.XXX.XXX.XXX 3389
@@ -30,15 +62,15 @@ $ rdpy/bin/rdpy-vncclient XXX.XXX.XXX.XXX 5901
RDP Proxy
```
$ rdpy/bin/rdpy-vncclient XXX.XXX.XXX.XXX 5901
$ rdpy/bin/rdpy-rdpproxy
```
##Must be implemented before first release
##Limitations
* CreedSSP
* Packet redirection
* License
* Most common orders
* FastPath messages
* Des VNC (using pyDes)
* VNC server side
this project is still in progress.