javascriptwebactivexcitrixterminal-services

How to obtain Citrix/MSTS/etc. ClientName from web application without using ActiveX?


We're developing an enterprise web application and we need to know the ip/hostname of the client machine who called the remote session to the Citrix server.

One scenario we found is using IE11/ActiveX so we can use the object to read a registry key and get the Client Name value.

How can my web app know which Client Name the browser is opened from without relying on IE11/ActiveX? Is it possible to query a web service from a balancer/proxy and obtain the remote client who opened that terminal session? Or use a plugin in Chrome/Firefox/Safari/etc. to obtain that information?


Solution

  • The answer is here and that's what I thought : https://www.quora.com/How-do-I-read-the-Windows-Registry-using-Chrome-extensions.

    The only way to read Windows Registry is by doing an NPAPI plugin. But Chrome recently stopped allowing Native NPAPI plugin. Now they allow PEPPER NACL plugins, but you cannot tap into the Windows Registry.

    The only hackish way to do this, is by creating an external service on your machine and communicating back and fourth from Chrome to it via polling, websockets, etc