Git Product home page Git Product logo

freerdp-webconnect's Introduction

FreeRDP-WebConnect

FreeRDP-WebConnect will be a gateway for seamless access to your RDP-Sessions in any HTML5-compliant browser. In particular it relies on the features

The server side WebSockets implementation handles current RFC6455 (http://tools.ietf.org/html/rfc6455) only, so browsers that implement the older drafts do not work. With RFC6455 being raised to the "Proposed Standard" level, this should change now really soon.

On the server side, a standalone daemon - written in C++ - provides a Web page via HTTPS (or HTTP, if configured) and uses FreeRDP libs to connect as a client to any RDP session.

Although the project is still in a very early development phase (project was started on April 3, 2012), it already can display an RDP session right now.

Installation

Automated build/install script::

setup-all.sh

Unattended install script

./setup-all.sh -f -i -d
  • Force to run as root user (-f)
  • Install all dependency packages (-i)
  • Remove conflicting packages (-d)

More Details

For addition details on the setup script and webconnect prereqs consult wsgate/README.

freerdp-webconnect's People

Contributors

alexpilotti avatar c64cosmin avatar felfert avatar fransurbo avatar jpablomr avatar langazov avatar mandar-shinde avatar mrd-cloudbase avatar nfedera avatar sebtrif avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freerdp-webconnect's Issues

No rule to make target `install'

Hi,

I am using CentOS 6.5.

I just downloaded the FreeRDP-WebConnect-master.zip and "./setup-all.sh -f -i -d" seemed to be successful. However, when I tried to "make install", it complained, No rule to make target `install'.

Any suggestion?

Thanks,
Chris

FreeRDP Webconnect service doesn't start

I have installed FreeRDP on a Win 2012 R2 server. After installation I am seeing FreeRDP WebConnect service is not started. If I try to start this manually it gives below error.
Please let me know what may be root cause of it.
"bind: An attempt was made to access a socket in a way forbidden by its access permissions."

Regards,
Umesh

Cannot Connect to websockets Gateway

Hello Everybody
I'm Using the FreeRDP WebConnect Windows Installer with Win server 2012 R2
And while I'm on a RDP Session from another Machine after some working time, I got an error message
"Cannot connect to Websockets gateway" !!
and the service stops working and I must start it manually !!
So, please help me to solve this Issue ASAP.
capture

Unstable RDP connection

Hi Fritz ...

I have problems setting up a stable RDP connection to a machine in my network.
When the connection is a few seconds old, and I move the mouse, I get the following error:

Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED)
https://10.0.1.50/js/wsgate-debug.js
Line 672 (= Event handler for mouse move events)

And after this error is thrown a few hundred times in two/three seconds the RDP connection is dropped.

The wsgate service is running on a Windows 2008R2/64 server and it doesn't matter to what I connect:

  • Windows 7,
  • Windows 2008R2,
  • Windows XP

or from where:

  • Windows 2008R2 / Firefox 12
  • Windows 2008R2 / Firefox 13
  • Windows 7 / FireFox 12
  • Windows 7 / FireFox 13
  • Windows 7 / Chrome 19
  • Windows 7 / Safari 5.1.7

Kind regards,
Dennis

Questions about FREERDP

Hey,
I have some questions if u let me pls :)

1- how rdp u are using on your demo ? if one, how u do to manage connection if two or up users connecte in the same time and use every one a differente tool ?

2- And then, how u securised your RDP to don't let other to delete partition, programs ect .... ?

3- yum install wsgate don't run on Centos, he report a problem when do it, i don't forgot to set freerdp.repo in the path that u specified :)

4- Can i launch a command where connect from web browser ?

Thank you for ure awesome work :)

Wrong mouse positioning when canvas is positioned

Hi Fritz ...

There's a small bug in the JS source, that sends out the wrong mouse coordinates when moving over the canvas when the canvas isn't positioned in the left upper corner.

You use the evt.page.x and evt.page.y properties to determine the mouse position, but this returnes the mouse position within the screen, not the canvas ..
To get the correct relative position I changed these to evt.event.layerX and evt.event.layerY and now the positioning is correct ...

Building under Windows

Hi Fritz ...

First: Love the work you're doing on the webclient!

Then my question:
Can you please post a small manual on how to compile this code under Windows? (and what the prerequisites for this is)

Feature Request: Audio on Remote Machine

Is there a config setting, I don't see one exposed through the http login screen, to play back audio on the local machine that is remoted into? I'm looking for a way to control a remote PC but not disrupt a session's audio output to the physical system.

Remote console not working in AD environment

Hi,

I am trying to use this in active directory environment and using to AD credentials like (domain\user_id) to remote login. But I am seeing an error "Count not connect to RDP backend."

If there any configuration required to make it work in domain?

Regards,
Umesh

compillation error

Hi everyone,

I've got a compilation issue with the lastest master version :

root@administrateur-VirtualBox:/home/administrateur/freerdpsource/FreeRDP-FreeRDP-WebConnect-4c6edde/wsgate# make
make all-recursive
make[1]: entrant dans le répertoire « /home/administrateur/freerdpsource/FreeRDP-FreeRDP-WebConnect-4c6edde/wsgate »
Making all in .
make[2]: entrant dans le répertoire « /home/administrateur/freerdpsource/FreeRDP-FreeRDP-WebConnect-4c6edde/wsgate »
CC bindhelper-bindhelper.o
CCLD bindhelper
CXX wsgate-base64.o
CXX wsgate-btexception.o
CXX wsgate-logging.o
CXX wsgate-sha1.o
CXX wsgate-wsgate_main.o
wsgate_main.cpp: In function ‘int main(int, char*)’:
wsgate_main.cpp:1424:41: attention : ignoring return value of ‘int chdir(const char
)’, declared with attribute warn_unused_result [-Wunused-result]
CXX wsgate-RDP.o
RDP.cpp: In member function ‘void wsgate::RDP::OnWsMessage(const string&)’:
RDP.cpp:252:73: erreur: ‘rdp_scancode_extended’ was not declared in this scope
RDP.cpp:253:60: erreur: ‘rdp_scancode_code’ was not declared in this scope
RDP.cpp:341:77: erreur: ‘rdp_scancode_extended’ was not declared in this scope
RDP.cpp:342:64: erreur: ‘rdp_scancode_code’ was not declared in this scope
make[2]: *** [wsgate-RDP.o] Erreur 1
make[2]: quittant le répertoire « /home/administrateur/freerdpsource/FreeRDP-FreeRDP-WebConnect-4c6edde/wsgate »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /home/administrateur/freerdpsource/FreeRDP-FreeRDP-WebConnect-4c6edde/wsgate »
make: *** [all] Erreur 2

I'm running it under a x86 ubuntu 12.04

Hope you can fix this

No domain setting passed

There is no way to log into an alternative domain from the web gui. At the moment, I have resolved the issue by setting a static variable in the index-debug.html file.

Without modification to the current code, one can only log into a PC locally.

What Distribution Does this work on?

I'm having trouble getting this working on Fedora 20. FreeRDP and ehs work fine, as does casablanca, but I get the below error when running make (configure works fine). Happy to install on Ubuntu, Debian or CentOS if that is what it's being tested on.

Thanks

  • Will

[root@console wsgate]# sudo make
make all-recursive
make[1]: Entering directory /root/FreeRDP-WebConnect/wsgate' Making all in . make[2]: Entering directory/root/FreeRDP-WebConnect/wsgate'
CC bindhelper-bindhelper.o
CCLD bindhelper
CXX wsgate-base64.o
CXX wsgate-btexception.o
CXX wsgate-logging.o
CXX wsgate-sha1.o
CXX wsgate-wsgate_main.o
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.8.2/include/x86intrin.h:27:0,
from /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/opt_random.h:33,
from /usr/include/c++/4.8.2/random:51,
from /usr/include/c++/4.8.2/bits/stl_algo.h:65,
from /usr/include/c++/4.8.2/algorithm:62,
from /usr/include/c++/4.8.2/ext/slist:47,
from /usr/include/boost/algorithm/string/std/slist_traits.hpp:16,
from /usr/include/boost/algorithm/string/std_containers_traits.hpp:23,
from /usr/include/boost/algorithm/string.hpp:18,
from wsgate_main.cpp:38:
/usr/local/include/winpr/crt.h:35:22: error: â__roldâ declared as an âinlineâ variable
static INLINE UINT32 _rotl(UINT32 value, int shift) {
^
/usr/local/include/winpr/crt.h:35:22: error: âUINT32 __roldâ redeclared as different kind of symbol
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include/ia32intrin.h:127:1: error: previous declaration of âunsigned int __rold(unsigned int, int)â
__rold (unsigned int __X, int __C)
^
/usr/local/include/winpr/crt.h:35:22: error: expected primary-expression before âvalueâ
static INLINE UINT32 _rotl(UINT32 value, int shift) {
^
/usr/local/include/winpr/crt.h:35:22: error: expected â)â before âvalueâ
In file included from /usr/local/include/winpr/collections.h:30:0,
from /usr/local/include/freerdp/types.h:65,
from /usr/local/include/freerdp/freerdp.h:40,
from /usr/local/include/freerdp/input.h:26,
from rdpcommon.hpp:28,
from RDP.hpp:29,
from myrawsocket.hpp:23,
from wsgate_main.cpp:81:
/usr/local/include/winpr/crt.h:121:11: error: âerrno_tâ does not name a type
WINPR_API errno_t _itoa_s(int value, char* buffer, size_t sizeInCharacters, int radix);
^
/usr/local/include/winpr/crt.h:125:11: error: âerrno_tâ does not name a type
WINPR_API errno_t memmove_s(void* dest, size_t numberOfElements, const void* src, size_t count);
^
/usr/local/include/winpr/crt.h:126:11: error: âerrno_tâ does not name a type
WINPR_API errno_t wmemmove_s(WCHAR* dest, size_t numberOfElements, const WCHAR* src, size_t count);
^
make[2]: *** [wsgate-wsgate_main.o] Error 1
make[2]: Leaving directory /root/FreeRDP-WebConnect/wsgate' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/root/FreeRDP-WebConnect/wsgate'
make: *** [all] Error 2

screen refresh/repaint with windows 7 RDP session

Hello,

First of all, thanks for providing FreeRDP-Webconnect! I'm allready amazed by the ease of use of this application and it's performance!

I have a two (related) Issues with Windows 7/Server 2008R2 RDP systems.

  1. When dragging a window, the screen is not refreshed properly. The previous window is not cleared. When the options "disable wallpaper" is enabled this is even worse. When I press the "show desktop" button the the screen is repainted and all "dirty windows" are cleaned. With a windows server 2003 this does not happen.

  2. When the option "disable theming" is enabled. The "Start Menu" and "Taskbar" are not properly displayed.

I noticed that currently the "Windows Basic" Theme works best.

Need help for WSGATE to be working with TS Gateway

Hi,
Because of some reasons we need to have a TS session running inside a browser. We would be running TS using TS Session (OS 2008R2 or 2012). After installing WebConnect I could make it work with normal TS but did not find any option to make it work with TS Gateway. We need help here. Please point me in correct direction.

Thanks for such a wonderful product.

Thanks
Rohit

wsgate server hangs if browser is closed

Hi,

I am running below request from browser to avoid user to enter user name and password and pass it directly.

http://172.22.x.x:8080/index.html?host=172.22.x.x&user=Administrator&pass=V2VsY29tZTEyMw%3D%3D&perf=0&fntlm=0&nowallp=0&nowdrag=1&nomani=0&notheme=0&nonla=0&notls=0&dtsize=1230x851

With this I am able to connect to remote console but I don't see the Disconnect button which I see if I enter user name and password in the log-in page.

With this approach if you close the browser, wsgate server seems hung and requires a restart, otherwise it won't respond to any client request.

Regards,
Umesh

Incomplete Screen Rendering

I have tried wsgate on both Ubuntu 12.04 and Windows 7 but get the same result: much of the screen on the remote PC is not rendered. I know that it is possible because the demo server at try.freerdp.net doesn't exhibit this issue. I have tried to compile a fresh git but that fails spectacularly (see issue #19). I have some money to throw at this if it helps speed it along.

FreeRDP gateway and tokens

Hi
Great project.

We have a management portal, and have access to hyper-v credentials and vm id. But we do not want these to be sent to client. Instead we would like to have tokens generated, example flow as follows.

  1. portal ----------> pass credentials and vm id -------> FreeRDP-WebConnect
  2. FreeRDP-WebConnect -------> Short term token ------> Portal
  3. Portal constructs the url with the token, and Client will connect to VM via FreeRDP-WebConnect gateway.

Is there a way to do this ? Any plans ?
I have seen some freerdp params as reconnection cookie... can it be used ?
Any other ideas ? Does it have internal session id (keeping track of connections )

Thanks
/Jd

Painting issue (corrupted)

Hi,
I always see a painting issue, in chrome browser in both Android and Windows.
2 issues:

  1. pain missing such as, around start button, and when run notepad for example
  2. there is a garbage painting in (0,0) of the image.

Any one see this?, see attached

Thanks
joseph
webconnecorupdate_issue

Summary and Discussion of existing open issues

Hello Folks.

Considering that some of open issues have existed for more than 1 year, I would like to be a moderator of this project.

I have forked FreeRDp-WebConnect in my GitHub account.

https://github.com/winstonhong/FreeRDP-WebConnect

Let us work together to fix the open issues of FreeRDp-WebConnect.

I summarize the existing open issues as follows.

Issue #1: Unable to run FreeRDP in Windows
I can login normally and the Remote Screen is shown.But when I make a left mouseclick, the login screen is shown and the RDPService is crashed.

Issue #3: Unstable RDP connection
When the connection is a few seconds old, and I move the mouse, I get the following error: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED)
https://10.0.1.50/js/wsgate-debug.js Line 672 (= Event handler for mouse move events)
And after this error is thrown a few hundred times in two/three seconds the RDP connection is dropped.

Issue #4: Could not connect to RDP backend.
i identified 2 and solved only 1 the second problem i fixed with a workaround.
1st problem can be fixed bij disabeling network level authentication.
Second problem i had is i have user logon names firstname[space]familyname the problem is that you cannot use any character in a logon name that is not allowed in a URL. eg [space] is send as %20 so your logon fails.
Workaround is do not enter any credentials so you will be asked in the RDP session.
O and the log also only stated "Could not connect to RDP backend." without any further information so that was not of much help.

Issue #5: Invalid URL generation on custom SSL port
Two engineers fix this issue. I will test their source code later.

Issue #6: Problems with libehs
I will confirm that this issue has been fixed.

Issue #7: screen refresh/repaint with windows 7 RDP session

  1. When dragging a window, the screen is not refreshed properly. The previous window is not cleared. When the options "disable wallpaper" is enabled this is even worse. When I press the "show desktop" button the the screen is repainted and all "dirty windows" are cleaned. With a windows server 2003 this does not happen.
  2. When the option "disable theming" is enabled. The "Start Menu" and "Taskbar" are not properly displayed.

Issue #8: Wrong mouse positioning when canvas is positioned
I will confirm that this issue has been fixed.

Issue #10: key bindings
On text editor i have some wrong key binding with the key :
RIGHT --> do --> ' LEFT --> do --> %
UP --> do --> & DOWN --> do --> (
DEL --> do --> . INSERT --> do --> -
and some other...
My keyboard are in FR_fr have you an idea for fix this ?

Issue #12: How to compile the FreeRDP WebConnect source code on windows system?
I will confirm that this issue has been fixed.

Issue #13: compillation error
I will confirm that this issue has been fixed.

Issue #14: wsgate won't start; log entry "No certificate specified"
I will confirm that this issue has been fixed.

Issue #15: Compile the code error
I will confirm that this issue has been fixed.

Issue #17: Question: Does the desktop background (aka wall paper) shows up in windows 2008 R2
This is NOT the technical issue.

Issue #18: missing libfreerdp-locale.so.1.0 on Ubuntu 12.04
I will confirm that this issue has been fixed.

Issue #19: Compile Error
I will confirm that this issue has been fixed.

Issue #20: No domain setting passed
There is no way to log into an alternative domain from the web gui. At the moment, I have resolved the issue by setting a static variable in the index-debug.html file.
Without modification to the current code, one can only log into a PC locally.

Issue #21: freerdp webconnect not working behind haproxy
The only point which prevent me to do this is that the SSL version doesn't propose client certificates authentication and also that I have an apache SSL website running behind the same IP (thus I should use SNI to spread the traffic from port 443 to the correct backend).

Issue #22: Incomplete Screen Rendering
Duplicate issue as Issue #7
much of the screen on the remote PC is not rendered. I know that it is possible because the demo server at try.freerdp.net doesn't exhibit this issue. I have tried to compile a fresh git but that fails spectacularly

Issue #23: Questions about FREERDP
This is NOT the technical issue.

Issue #24: $500 Bounty
This is general issue.

Issue #25: Specifying login domain
I will confirm that this issue has been fixed.

Issue #26: Getting FreeRDP-WebConnect to run.
This is NOT the technical issue.

Issue #28: Hyper-V RDP access - Integrate cloudbase's changes
This is NOT the technical issue.

Issue #29: Can I get some assistance for installation?
This is NOT the technical issue.

Issue #30: fix for bug #5
This is the solution for the closed Issue #5.

Issue #31: no errors and does not appear to work when port is changed
If I try to change the port to something else, like http/8080 and https/4433, then I can connect to the login screen for rdp webconnect, but once I login, I get a blank screen, and nothing after that.

Issue #32: Wrong Keyboard Layout
Duplicate issue as Issue #10
Most of the keys are functional but some like the Pos1 key or the arrow keys are not working. Both windows computers are using German keyboard layout.

Issue #34: FreeRDP gateway and tokens
We have a management portal, and have access to hyper-v credentials and vm id. But we do not want these to be sent to client. Instead we would like to have tokens generated,

Issue #35: Need help for WSGATE to be working with TS Gateway
After installing WebConnect I could make it work with normal TS but did not find any option to make it work with TS Gateway.

FreeRDP Webconnect doesn't work on CentOS 6.5

I have installed FreeRDP webconnect on Cent OS 6.5 and started wsgate service I can see following messages after service started successfully:
Listening on 172.22..:8444
Listening on 172.22..:8081

Now from another machine I opened Chrome browser and entered the details of a windows machine for Remote console. But I don't see console coming.
Am I missing anything here?

Regards,
Umesh

Compile the code error

I have download the code, and compile the source code as README.

But when running the configure, it has given the following error:

checking for png_read_info in -lpng... yes
./configure: line 24179: syntax error near unexpected token fi' ./configure: line 24179:fi'

and I found the line 24179, it like this:

case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no:
fi

{ $as_echo "$as_me:$LINENO: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&5

$as_echo "$as_me: WARNING: png.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
{ $as_echo "$as_me:$LINENO: WARNING: png.h: proceeding with the compiler's result" >&5

I don't know the "fi" is correct?

if I remove the "fi", and run the configure continuely, and the following error:

checking for png_read_info in -lpng... yes
./configure: line 24221: syntax error near unexpected token )' ./configure: line 24221:,,-lz -lm)'

and the code is :
......
if test "x$ac_cv_header_png_h" = x""yes; then
png_ok=yes
fi

,,-lz -lm; )
if test "$png_ok" = yes; then
.....

So if I remove the ",,-lz -lm; )" , which give me the last error:

checking for png_read_info in -lpng... yes
./configure: line 30034: syntax error: unexpected end of file

Now I cannot fix it

Please do me a favour to fix it

My platform is Centos 6.2, and freerdp and any requires are installed .

thank you very much

Chu

How to debug the program

Hi Fritz ...

I want to debug the project in eclipse or gdb , but seemingly I couldn't.
When I run in gdb, the result is:
(gdb) run
Starting program: /home/cxyyb/workspace/FreeRDP-FreeRDP-WebConnect-8030cd5/wsgate/wsgate
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
/home/cxyyb/workspace/FreeRDP-FreeRDP-WebConnect-8030cd5/wsgate/wsgate
[Inferior 1 (process 9800) exited normally]

I just want to track the codes. Could you give me some feedback.
I found it's a daemon program, whether there are some good tools be used?

Kind regards,
gruph

no errors and does not appear to work when port is changed

leaving the default port 80/443 works great, no issues.

If I try to change the port to something else, like http/8080 and https/4433, then I can connect to the login screen for rdp webconnect, but once I login, I get a blank screen, and nothing after that.

I change it back to port 80/443 and it works again.

I need to change the port off to something else, so is there a way to make this work?

Wrong Keyboard Layout

First of all I want to mention that this is a really good software, I am very happy with it! But we seem to have a problem with the keyboard layout. I am connecting the rdp gateway server (Debian) via Firefox (Win7), the target system is Win 8. Most of the keys are functional but some like the Pos1 key or the arrow keys are not working. Both windows computers are using German keyboard layout. What can I do? Is this a problem with X.org on the linux maschine? Thanks very much. Jan

$500 Bounty

I would like to get a wsgate working on Ubuntu such that it consistently renders the whole screen. I have $500 that I can contribute to this cause.

Problems with libehs

I am unable to build freerdp-webconnect due to problems with libehs. I am running (and need to run) Ubuntu 10.04.

I retrieved ehs-1.5.0.tar.gz from sourceforge and built from source (which built fine once samples was removed from the Makefile, and once I worked out that trying to build the debian package was fruitless).

However, on building freerdp-webconnect I get:

make[2]: Entering directory `/home/amb/hyperv/freerdp/FreeRDP-WebConnect/wsgate'
  CXX    wsgate-wsgate_main.o
wsgate_main.cpp: In member function ‘virtual ResponseCode wsgate::WsGate::HandleRequest(HttpRequest*, HttpResponse*)’:
wsgate_main.cpp:256: error: ‘class HttpRequest’ has no member named ‘RemoteAddress’
.... [lots of other stuff snipped] ...

And indeed looking at /usr/include/ehs/ehs.h it would seem that class HttpRequest does not nave a member named RemoteAddress.

Is there some other version of libehs which is meant to be used? If so, any chance you could put it on github?

Not showing the login page for remote console

Hi,

I want to use this gateway for Hyper-V VMs remote console, for this I don't want to show the login page but still want to make gateway call to get the remote console.
Is it possible to avoid the login page and pass all params in http request to gateway and display the console?

Regards,
Umesh

Cannot successfully run ./configure on FreeRDP-Webconnect.

Hi,

I'm trying to deploy FreeRDP-Webconnect with vmconnect support on RedHat 6.

I downloaded the sources from the master repo, and can build all the prerequisite libraries , but when I try to configure FreeRDP-Webconnect I get:

checking for getEHSconfig in -lehs... no
checking ehs.h usability... no
checking ehs.h presence... yes
configure: WARNING: ehs.h: present but cannot be compiled
configure: WARNING: ehs.h: check for missing prerequisite headers?
configure: WARNING: ehs.h: see the Autoconf documentation
configure: WARNING: ehs.h: section "Present But Cannot Be Compiled"
configure: WARNING: ehs.h: proceeding with the preprocessor's result
configure: WARNING: ehs.h: in the future, the compiler will take precedence
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to [email protected] ##
configure: WARNING: ## ------------------------------------ ##
checking for ehs.h... yes
configure: error: Mandatory EHS development package not found

EHS is installed and the headers are available in /usr/local/include/ehs

Any help would be appreciated.

Sending CTRL+Alt+Del doesn't work

Hello,

greetings for this wonderful product. Currently I have a little problem: When i Click on Ctrl+Alt+Delete nothing happens so I'm not able to login to my windows server using wsgate. Any workaround? Thank you.

freerdp webconnect not working behind haproxy

I have been playing for some weeks now with FreeRDP-WebConnect project and I would like to use it on my home infrastructure.
The only point which prevent me to do this is that the SSL version doesn't propose client certificates authentication and also that I have an apache SSL website running behind the same IP (thus I should use SNI to spread the traffic from port 443 to the correct backend).
To achieve my needs, I tried to interface your project with the devl branch of haproxy 1.5, and I cannot get it up and running.

What I did to configure wsgate is :

port = 443
hostname = rdp.mywebsite.com
redirect = false

I had to set the non-SSL port to 443 otherwise, the var wsBase was set to "ws://rdp.mywebsite.com:80/wsgate".

Now, I go a bit further and fail with the error "TypeError: this.sock is undefined" while executing the below red portion of the inline code (catched using firebug):

wsgate.WSrunner = new Class( {

Implements: Events,
initialize: function(url) {
this.url = url;
},
Run: function() {
try {
this.sock = new WebSocket(this.url);
} catch (err) { }
this.sock.binaryType = 'arraybuffer';
this.sock.onopen = this.onWSopen.bind(this);
this.sock.onclose = this.onWSclose.bind(this);
this.sock.onmessage = this.onWSmsg.bind(this);
this.sock.onerror = this.onWSerr.bind(this);
}
});

For reference, my haproxy cfg file looks like:

global
        log 127.0.0.1   daemon
        maxconn 4096
        chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        retries 3
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000
        option tcplog

frontend ssl
 timeout client 86400000
 mode http
 bind :443 ssl crt /etc/ssl/perso/mywebsite.pem ca-file /etc/ssl/perso/ca/ca.crt verify required crt-ignore-err all # crlfile ./ca_crl.pem
 use_backend static unless { ssl_c_verify 0 }  # if there is an error with the certificate, then route the user to a less sensitive farm

 use_backend rdp if { ssl_fc_sni rdp.mywebsite.com }
 use_backend apache if { ssl_fc_sni www.mywebsite.com }

 default_backend static

backend static
 mode http
 option http-server-close
 redirect location /certexpired.html if { ssl_c_verify 10 } ! { path /certexpired.html } # SSL error 10 means "certificate expired"
 redirect location /certrevoked.html if { ssl_c_verify 23 } ! { path /certrevoked.html } # SSL error 23 means "Certificate revoked"
 redirect location /othererrors.html unless { ssl_c_verify 0 } ! { path /othererrors.html }
 server static1 static.lan:80 check

backend apache
 mode http
 server apache1 apache.lan:80 check

backend rdp
 mode http
 server rdp1 rdp.lan:443 check
 option forwardfor
 timeout queue 5000
 timeout server 86400000
 timeout connect 86400000

Should you have any idea to help me to resolve this, I would be very thankful, and I would then be pleased to propose a how-to for your wiki on how to setup this configuration.

casting issue Please advice

I see weird things which not make science:

void Primary::PatBlt(rdpContext ctx, PATBLT_ORDER po)
{
HCLRCONV hclrconv = reinterpret_cast<wsgContext *>(ctx)->clrconv;
}

If you look at wsgContext you will see that rdpContext is one of its params:

typedef struct {
/**
* FreeRDP's original portion.
_/
rdpContext p;
/
*
* Pointer to the main RDP handler.
/
RDP *pRDP;
/
*
* Pointer to the corresponding Update API module.
/
Update *pUpdate;
/
*
* Pointer to the corresponding Primary API module.
/
Primary *pPrimary;
/
*
* The current color space conversion parameter.
*/
HCLRCONV clrconv;
} wsgContext;

So HOW you can cast struct A to struct B when struct B include A ???!!!!

simply cast small struct A (lets say 100 bytes) to bigger struct B (lets say 1000 bytes), mean the only first 100 bytes in struct B will have data but all the other 900 byes will be garbage or zero, correct?

this mean hclrconv will be garbage as reinterpret_cast(ctx)->clrconv is garbage, right?

Can I get some assistance for installation?

I want to install FreeRDP on Windows 2008. I already have IIS installed on the same server and the default ports are bound. So I have to change the ports for installing this new application. But I could not find any options to choose to change the port while installation. Somebody please help or send mail to pillakishorekumar[at]gmail[.]com

Project = dead?

Too bad it has been more than 10 months, since some serious developing was done on this project ... it looked so promising.

Invalid URL generation on custom SSL port

Hi,

I just tested WebConnect today and found out that having it running on a non-standard port (65443 in my case) introduces a bug into the generated HTML pages.

I have the following settings:
[global]

port = 80

hostname =

[ssl]
port = 65443

When I look at the code in the index.html page I can see:
var wsBase = "wss://:65443:65443/wsgate";

As you may guess, the port should probably not be included twice here.

From what I understand from the source code, the handling of the WSURI variable is the culprit here.
In wsgate_main.cpp:
ostringstream oss;
oss << (request->Secure() ? "wss://" : "ws://")
<< thisHost << ":"
<< request->LocalPort() << "/wsgate";
replace_all(body, "%WSURI%", oss.str());

It seems that the thisHost variable already includes the port information when WebConnect is running on a non-standard port.
This would also explain why you need to add the port string to the "hostname" configuration directive if you're using a non-standard port. Without the port string (ie. ":port") in the hostname configuration the webservice is serving 404 only.

The thisHost value is read here:
string thisHost(m_sHostname.empty() ? request->Headers("Host") : m_sHostname);

The value of the HTTP header should probably be stripped from everything after the first ":".

URI: /favicon.ico => 404 Not found error

Hi,

I am able to compile FreeRDP-WebConnect on Ubuntu 14. But after install I am getting error in server side.
From browser when I connect to FreeRDP gateway server, I get following message.
To URI: /favicon.ico => 404 Not found

But this file is present under /usr/local/share/wsgate/.

Any input on what may be wrong here?

Regards,
Umesh

FreeRDP WebConnect HTML5 source code for windows server

Hi There, having trouble locating the FreeRDP WebConnect source code for Microsoft server. We can find the source code for Linux but require source code for microsoft server. Please provide download link. Can you please help. Thanks,
Alex

Complie wsgate error

Hi everyone,

I've got a compilation issue with the lastest master version

/usr/local/include/winpr/crt.h:35:22: error: ‘__rold’ declared as an ‘inline’ variable
static INLINE UINT32 _rotl(UINT32 value, int shift) {
^
/usr/local/include/winpr/crt.h:35:22: error: ‘UINT32 __rold’ redeclared as different kind of symbol
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/ia32intrin.h:127:1: error: previous declaration of ‘unsigned int __rold(unsigned int, int)’
__rold (unsigned int __X, int __C)
^
/usr/local/include/winpr/crt.h:35:22: error: expected primary-expression before ‘value’
static INLINE UINT32 rotl(UINT32 value, int shift) {
^
/usr/local/include/winpr/crt.h:35:22: error: expected ‘)’ before ‘value’
In file included from /usr/local/include/winpr/collections.h:30:0,
from /usr/local/include/freerdp/types.h:65,
from /usr/local/include/freerdp/freerdp.h:40,
from /usr/local/include/freerdp/input.h:26,
from rdpcommon.hpp:28,
from RDP.hpp:29,
from myrawsocket.hpp:23,
from wsgate_main.cpp:81:
/usr/local/include/winpr/crt.h:121:11: error: ‘errno_t’ does not name a type
WINPR_API errno_t itoa_s(int value, char* buffer, size_t sizeInCharacters, int radix);
^
/usr/local/include/winpr/crt.h:125:11: error: ‘errno_t’ does not name a type
WINPR_API errno_t memmove_s(void* dest, size_t numberOfElements, const void* src, size_t count);
^
/usr/local/include/winpr/crt.h:126:11: error: ‘errno_t’ does not name a type
WINPR_API errno_t wmemmove_s(WCHAR* dest, size_t numberOfElements, const WCHAR* src, size_t count);
^
wsgate_main.cpp: In function ‘int main(int, char*
)’:
wsgate_main.cpp:1691:41: warning: ignoring return value of ‘int chdir(const char
)’, declared with attribute warn_unused_result -Wunused-resultchdir("/");
^
make[2]: *** [wsgate-wsgate_main.o] Error 1
make[2]: Leaving directory /home/admin/FreeRDP-WebConnect/wsgate' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/admin/FreeRDP-WebConnect/wsgate'
make: *** [all] Error 2

Hope you guide can fix this

missing libfreerdp-locale.so.1.0 on Ubuntu 12.04

I installed wsgate , when I try to run it I get

wsgate: error while loading shared libraries: libfreerdp-locale.so.1.0: cannot open shared object file: No such file or directory

where should I get this library ?

wsgate won't start; log entry "No certificate specified"

Is there some manual how I configure the ssl part of wsgate? If I start wsgate, with a vanilla wsgate.ini these two entries are logged.

Oct  5 13:54:37 localhost wsgate[6584]: wsgate v1.0.0.163 starting
Oct  5 13:54:37 localhost wsgate[6584]: No certificate specified.

key bindings

Thank you for your very interesting project, delivered in opensource :-)

I have a problem with some key on your server : https://try.freerdp.net/# (and the same with my test server)

On text editor i have some wrong key binding with the key :
RIGHT --> do --> '
LEFT --> do --> %
UP --> do --> &
DOWN --> do --> (

DEL --> do --> .
INSERT --> do --> -

and some other...

My keyboard are in FR_fr

have you an idea for fix this ?

Bye,

protocol security negotiation failure

Hi

i just tried to connecting to my Hyper-V server with this command (From my Ubuntu and the FreeRDP version is latest one):

xfreerdp /cert-ignore –no-nego /u:administrator /p:123 /v:192.168.172.129 /port:2179 /vmconnect:8021D293-FA6F-4CB5-AFD2-2499936D0949

but i got this error message :

transport_connect: getaddrinfo (Name or service not known)
Error: protocol security negotiation failure

Unable to run FreeRDP in Windows

I downloaded FreeRDP 108 from your website, installed in on my Windows XP (32-bit) and ran wsgate - got the error
C:\Program Files\FreeRDP-WebConnect\bin>wsgate
Could not read config file '/usr/i686-pc-mingw32/sys-root/mingw/etc/wsgate.ini'.
I tried to give the actually path of wsgate.ini file ( in C:\Program Files\FreeRDP-WebConnect\etc ) but always got the same error.. unsure if I am missing any pre-requisite step (such as installing mingw or cygwin..) , please point me to available documentation on how to get the websever running so that I can open the index.html and login to another Windows box.

thanks,
Sathish
[email protected]

Could not connect to RDP backend.

Hi Fritz,

Well, i had installed FreeRDP-WebConnect in my both environments (Windows 7 64 bit and Ubuntu 12.04)
Every time i'm trying to connect to remote host ,i have the same error message "Could not connect to RDP backend." thrown by browser ( Chrome 21.0.1180.57 , Firefox 14.0.1 )
Any help would very appreciated.

Kind regards,

Pavel

Compile Error

Current git clone

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise

root@freerdp1:~/FreeRDP-WebConnect/wsgate# make
make all-recursive
make[1]: Entering directory /home/temp/FreeRDP-WebConnect/wsgate' Making all in . make[2]: Entering directory/home/temp/FreeRDP-WebConnect/wsgate'
CXX wsgate-wsgate_main.o
In file included from wsgate_main.cpp:75:0:
btexception.hpp:172:3: warning: #warning Neither libbfd nor libdwarf are available, so no backtracing enabled [-Wcpp]
In file included from myrawsocket.hpp:23:0,
from wsgate_main.cpp:81:
RDP.hpp:146:13: error: ‘boolean’ does not name a type
RDP.hpp:147:13: error: ‘boolean’ does not name a type
RDP.hpp:148:13: error: ‘boolean’ does not name a type
RDP.hpp:149:13: error: ‘boolean’ does not name a type
RDP.hpp:181:20: error: ‘boolean’ does not name a type
RDP.hpp:182:20: error: ‘boolean’ does not name a type
RDP.hpp:183:20: error: ‘boolean’ does not name a type
RDP.hpp:184:20: error: ‘boolean’ does not name a type
wsgate_main.cpp: In function ‘int main(int, char*)’:
wsgate_main.cpp:1431:41: warning: ignoring return value of ‘int chdir(const char
)’, declared with attribute warn_unused_result [-Wunused-result]
make[2]: *** [wsgate-wsgate_main.o] Error 1
make[2]: Leaving directory /home/temp/FreeRDP-WebConnect/wsgate' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/temp/FreeRDP-WebConnect/wsgate'
make: *** [all] Error 2

Specifying login domain

I appear to be unable to pass a login domain through Webconnect. I've tried DOMAIN\user, DOMAIN\user, user@DOMAIN, both with and without encodeURIComponent wrapping the variable. ( /usr/share/wsgate/index.html:32 ) The password field works (Administrator account logs in) but despite attempting to hardcode the domain in, the only way to log in that I've found is to throw in any old user information, wait for Windows to reject it, then log in by Other User -> DOMAIN\user

Where I'm getting slightly confused, is that even with encodeURIComponent, attempts to log in either by pre-defining my domain username or using the form appear to be attempting to log in to the server (for example, as DOMAIN\user) as SERVERNAME\DOMAIN%5Cuser.

Any suggestions? My next stage is to go and bother the source with extreme impoliteness.

Cheers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.