Difference between revisions of "OpenTC"

From DanIT
Jump to navigation Jump to search
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
==About==
 
[[File:OpenTC Login.png|thumb|right]]
 
[[File:OpenTC Login.png|thumb|right]]
OpenTC is free and open-source login portal for Windows, and allows users to connect to Remote Desktop farms.<br>
+
OpenTC is login portal for Remote Desktop Connections on Windows, it replaces the default shell and explorer.<br>
It provides users with a closed environment, and prevents them from accessing the Windows desktop and other features.<br>
+
It provides end-users with a closed environment, and prevents them from accessing features outside the Remote Desktop connection.<br>
This project has been setup to professionalize the way Thin Clients are used. Where before end users would have to login to a default user on a Thin Client, load the Desktop, manually click an RDP-icon, and login again.<br>
+
This project has been setup as a free and open-source alternative to professionalize using Thin Clients.<br>
  
For background information on the source code and development process, please see [[OpenTC Development]].
+
[[OpenTC Development]]
  
==Features==
+
===Features===
 
* Provide a closed environment for the user dedicated to connect to one or multiple Remote Desktop farms or server.
 
* Provide a closed environment for the user dedicated to connect to one or multiple Remote Desktop farms or server.
 
* Prevents users from accessing the local desktop, start menu, and other Windows features.
 
* Prevents users from accessing the local desktop, start menu, and other Windows features.
 
* Add Remote Desktop environments for the user to choose from, by simply uploading .rdp files to the client.  
 
* Add Remote Desktop environments for the user to choose from, by simply uploading .rdp files to the client.  
 
* A support button provides users with useful information, like how to contact local support and computer specifications.
 
* A support button provides users with useful information, like how to contact local support and computer specifications.
* Set a custom background and logo for the login portal.
+
* Background image and logo are easily changable.
 
* Dynamically and easily be able to change settings, images, and language.   
 
* Dynamically and easily be able to change settings, images, and language.   
* Chose to Single Sign-On (SSO) with a Smartcard instead of a password. *
 
* Ability to change the password when it's expired. *
 
 
* The client can be remote controlled ([[Remote_Desktop_shadowing|shadowed]]) by administrators for support or administrative purposes.
 
* The client can be remote controlled ([[Remote_Desktop_shadowing|shadowed]]) by administrators for support or administrative purposes.
 
* Administrators can still access the default desktop when needed.
 
* Administrators can still access the default desktop when needed.
(*) This feature is only available when using OpenTC Client together with an OpenTC Server.
+
* Lightweight (0% CPU, 10mb memory, 50kb storage).
 +
* Free and open-source
  
==Modes==
+
===Requirements===
OpenTC Client can be used .<br>
+
* Windows 7 or higher
'''Standalone:''' This version is client-only and does not require an OpenTC server.<br>
+
* .NET Framework 2.0
'''Server:''' Tells the users beforehand if their account is blocked or the credentials incorrect. You can also change your password when expired.<br>
+
* PowerShell 5.1 (for setup script)
'''Server + Smartcard:''' Same as server, but the user can login without entering a password by placing their smartcard on a reader.
 
  
=Downloads=
+
==Downloads==
Client: (v0.1a)<br>
+
'''OpenTC v1.0''': <br>
Server: N/A<br>
+
'''OpenTC v1.0 Source Code''': <br>
Sourcecode:<br>
 
Changelog:<br>
 
  
=Setup=
+
==Settings==
==Client==
+
The settings are stored in the registry under the key "''HKEY_LOCAL_MACHINE\SOFTWARE\OpenTC''".<br>
[[File:OpenTC-Client Setup.png|thumb|right|Setup Script]]
 
Provided with the client files, comes the setup script (PowerShell).<br>
 
You can run the script and edit the default settings before configuring the computer as an OpenTC Client.
 
 
 
===Settings===
 
During the setup you will be able to configure some settings, these settings are stored in the registry under the key "''HKEY_LOCAL_MACHINE\SOFTWARE\OpenTC\Client\Settings''".<br>
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Name !! Value !! Note
+
! Setting !! Description !! Value
|-
 
| Background || Path to the background image || e.g. "background.jpg"
 
 
|-
 
|-
| Logo || Path to the logo image || e.g. "logo.jpg"
+
| Background || Path to the background image || e.g. "C:\Background.jpg"
 
|-
 
|-
| Language || Path to the language file || e.g. "english.txt"
+
| Logo || Path to the logo image || e.g. "C:\Logo.jpg"
 
|-
 
|-
| RDP || Path to the folder with the .rdp file(s) || e.g. "C:\RDP"
+
| Language || Path to the language file || e.g. "C:\English.txt"
 
|-
 
|-
| Server || IP:Port of the [[OpenTC#Server|server]]. Leave empty for standalone mode || e.g. "10.0.0.1:1234"
+
| RDP || Path to the folder with the .rdp file(s) || e.g. "C:\RDP\"
 
|-
 
|-
| ShutDown || Power button. 0 = Disable, 1 = Shut down, 2 = Restart ||
+
| Power || Power button behaviour || "Disabled", "Shutdown", or "Restart"
 
|}
 
|}
 
When using no full directory path, it will automatically look for the file or folder in the same directory as the executable.
 
When using no full directory path, it will automatically look for the file or folder in the same directory as the executable.
  
 
===Images===
 
===Images===
Both the background and the logo can be used in JPG or PNG format.<br>
+
The background image will be shown on all monitors, and will be automatically stretched to fit the screen.<br>
The background image can be any size, but will be automatically stretched (when mismatched) to fit the resolution of the screen.<br>
+
The logo image must be provided in 400x100 resolution.<br>
The logo image must be provided in 464x128 resolution.<br>
 
  
 
===Language===
 
===Language===
Any text and buttons within OpenTC are changable, you can open the provided ''english.txt'' file and change things as you like.<br>
+
All translations of text and buttons are located in a text file. Language file 'English.txt' comes included.
In the [[OpenTC#Settings|settings]] you can change the path to the language file that needs to be used by the client.<br>
 
  
The text in the support dialog is customizable. Use ''\n'' for a new line, ''%hostname%'' for the computer name, ''%ip%'' for the IP-address and ''%mac%'' for the MAC-address.<br>
+
===Support===
You can hide the support button by changing the "Support" text translation to be empty.<br>
+
The text in the support dialog is changable by editing "HELPTEXT" in the Language file.<br>
 +
You can use these environment variables:
 +
{| class="wikitable"
 +
|-
 +
! Variable !! Result
 +
|-
 +
| \n || A new line
 +
|-
 +
| %HOSTNAME% || Hostname
 +
|-
 +
| %IP% || IP
 +
|-
 +
| %MAC% || MAC
 +
|}
 +
You can hide the support button by changing the "HELP" text translation to be empty.<br>
  
 
===RDP===
 
===RDP===
You will have to add one or more .RDP file(s) for the end user to choose from to log on to, located in the directory per the RDP setting.<br>
+
The Remote Desktop connections that the user can select from are all the .rdp files from the RDP folder.<br>
It can be created by using the built-in "Remote Desktop Connection" (mstsc.exe) tool, but make sure the following values are set correctly:<br>
 
  
 +
Make sure the following settings have been applied for .rdp files:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Setting !! Value !! File Value
 
! Setting !! Value !! File Value
 
|-
 
|-
| User name || yourdomainname\ || "username:s:yourdomainname\"
+
| ''User name'' || yourdomainname\ || "username:s:yourdomainname\"
 
|-
 
|-
| Allow me to save credentials || Checked ☑ || "prompt for credentials:i:0"
+
| ''Allow me to save credentials'' || Checked ☑ || "prompt for credentials:i:0"
 
|-
 
|-
| Display size || Full Screen || "screen mode id:i:2"
+
| ''Display size'' || Full Screen || "screen mode id:i:2"
 
|-
 
|-
| Display the connection bar when I use the full screen || Unchecked ☐ || "displayconnectionbar:i:0"
+
| ''Display the connection bar when I use the full screen'' || Unchecked ☐ || "displayconnectionbar:i:0"
 
|-
 
|-
| Use my RD Gateway credentials for the remote computer || Checked ☑ || "promptcredentialonce:i:1"
+
| ''Use my RD Gateway credentials for the remote computer'' || Checked ☑ || "promptcredentialonce:i:1"
 
|-
 
|-
| If server authentification fails || Connect and don't warn me || "authentication level:i:0"
+
| ''If server authentification fails'' || Connect and don't warn me || "authentication level:i:0"
 
|}
 
|}
 
Replace "yourdomainname" with the actual domain name of the remote computer.<br>
 
Replace "yourdomainname" with the actual domain name of the remote computer.<br>
More information on RDP file settings: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/rdp-files
 
  
==Server==
+
==Setup==
===Settings===
 
{| class="wikitable"
 
|-
 
! Setting !! Value
 
|-
 
| Debug || 0 = Disable, 1 = Basic
 
|-
 
| Port || The port number on which the server will listen
 
|}
 

Latest revision as of 02:10, 1 May 2025

About

OpenTC Login.png

OpenTC is login portal for Remote Desktop Connections on Windows, it replaces the default shell and explorer.
It provides end-users with a closed environment, and prevents them from accessing features outside the Remote Desktop connection.
This project has been setup as a free and open-source alternative to professionalize using Thin Clients.

OpenTC Development

Features

  • Provide a closed environment for the user dedicated to connect to one or multiple Remote Desktop farms or server.
  • Prevents users from accessing the local desktop, start menu, and other Windows features.
  • Add Remote Desktop environments for the user to choose from, by simply uploading .rdp files to the client.
  • A support button provides users with useful information, like how to contact local support and computer specifications.
  • Background image and logo are easily changable.
  • Dynamically and easily be able to change settings, images, and language.
  • The client can be remote controlled (shadowed) by administrators for support or administrative purposes.
  • Administrators can still access the default desktop when needed.
  • Lightweight (0% CPU, 10mb memory, 50kb storage).
  • Free and open-source

Requirements

  • Windows 7 or higher
  • .NET Framework 2.0
  • PowerShell 5.1 (for setup script)

Downloads

OpenTC v1.0:
OpenTC v1.0 Source Code:

Settings

The settings are stored in the registry under the key "HKEY_LOCAL_MACHINE\SOFTWARE\OpenTC".

Setting Description Value
Background Path to the background image e.g. "C:\Background.jpg"
Logo Path to the logo image e.g. "C:\Logo.jpg"
Language Path to the language file e.g. "C:\English.txt"
RDP Path to the folder with the .rdp file(s) e.g. "C:\RDP\"
Power Power button behaviour "Disabled", "Shutdown", or "Restart"

When using no full directory path, it will automatically look for the file or folder in the same directory as the executable.

Images

The background image will be shown on all monitors, and will be automatically stretched to fit the screen.
The logo image must be provided in 400x100 resolution.

Language

All translations of text and buttons are located in a text file. Language file 'English.txt' comes included.

Support

The text in the support dialog is changable by editing "HELPTEXT" in the Language file.
You can use these environment variables:

Variable Result
\n A new line
%HOSTNAME% Hostname
%IP% IP
%MAC% MAC

You can hide the support button by changing the "HELP" text translation to be empty.

RDP

The Remote Desktop connections that the user can select from are all the .rdp files from the RDP folder.

Make sure the following settings have been applied for .rdp files:

Setting Value File Value
User name yourdomainname\ "username:s:yourdomainname\"
Allow me to save credentials Checked ☑ "prompt for credentials:i:0"
Display size Full Screen "screen mode id:i:2"
Display the connection bar when I use the full screen Unchecked ☐ "displayconnectionbar:i:0"
Use my RD Gateway credentials for the remote computer Checked ☑ "promptcredentialonce:i:1"
If server authentification fails Connect and don't warn me "authentication level:i:0"

Replace "yourdomainname" with the actual domain name of the remote computer.

Setup