OpenTC
OpenTC is free and open-source login portal for Windows, and allows users to connect to Remote Desktop farms.
It provides users with a closed environment, and prevents them from accessing the Windows desktop and other features.
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.
For background information on the source code and development process, please see OpenTC Development.
Contents
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.
- Set a custom background and logo for the login portal.
- 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 (shadowed) by administrators for support or administrative purposes.
- Administrators can still access the default desktop when needed.
(*) This feature is only available when using OpenTC Client together with an OpenTC Server.
Modes
OpenTC Client can be used .
Standalone: This version is client-only and does not require an OpenTC server.
Server: Tells the users beforehand if their account is blocked or the credentials incorrect. You can also change your password when expired.
Server + Smartcard: Same as server, but the user can login without entering a password by placing their smartcard on a reader.
Downloads
Client: (v0.1a)
Server: N/A
Sourcecode:
Changelog:
Setup
Client
Provided with the client files, comes the setup script (PowerShell).
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".
Name | Value | Note |
---|---|---|
Background | Path to the background image | e.g. "background.jpg" |
Logo | Path to the logo image | e.g. "logo.jpg" |
Language | Path to the language file | e.g. "english.txt" |
RDP | Path to the folder with the .rdp file(s) | e.g. "C:\RDP" |
Server | IP:Port of the server. Leave empty for standalone mode | e.g. "10.0.0.1:1234" |
ShutDown | Power button. 0 = Disable, 1 = Shut down, 2 = Restart |
When using no full directory path, it will automatically look for the file or folder in the same directory as the executable.
Images
Both the background and the logo can be used in JPG or PNG format.
The background image can be any size, but will be automatically stretched (when mismatched) to fit the resolution of the screen.
The logo image must be provided in 464x128 resolution.
Language
Any text and buttons within OpenTC are changable, you can open the provided english.txt file and change things as you like.
In the settings you can change the path to the language file that needs to be used by the client.
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.
You can hide the support button by changing the "Support" text translation to be empty.
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.
It can be created by using the built-in "Remote Desktop Connection" (mstsc.exe) tool, but make sure the following values are set correctly:
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.
More information on RDP file settings: https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/rdp-files
Server
Settings
Setting | Value |
---|---|
Debug | 0 = Disable, 1 = Basic |
Port | The port number on which the server will listen |