Documentation of ProxHTTPSProxy's PopMenu TLS 1.3 3V3

Purpose and components of ProxHTTPSProxy's PopMenu:

ProxHTTPSProxy's PopMenu is a one-click menu in systray to access and control the brand new TLS 1.3 proxy ProxyMII, better known as ProxHTTPSProxy, credits to @cmalex and its original creator whenever. All information about ProxHTTPSProxy can be found in my article: https://msfn.org/board/topic/183352-proxhttpsproxy-and-httpsproxy-in-windows-xp-for-future-use/?do=findComment&comment=1213600
@cmalex's ProxyMII, dated from 2022-07-17, is now based on openssl 3.0.5 and cryptography 3.4.8. It provides all TLS protocols from TLS 1.0 up to TLS 1.3 and its corresponding ciphers.
ProxHTTPSProxy's PopMenu TLS 1.3 3V3 is the third release of ProxHTTPSProxy's PopMenu 3.0, now in version 3.0.0.0, shortened 3V3. It is a synthesis of the excellent, brand new TLS 1.3 proxy ProxyMII, dated from 2022-07-17, credits to @cmalex at MSFN, several self-programmed executables and a very few commands, credits to @AstroSkipper at MSFN, the freeware PopMenu 3.0, credits to Jochanan Agam at freeware.persoft.ch, the open source utility Min2Tray v1.7.9, credits to Junyx at junyx.breadfan.de, and the program Certificate Updater 1.6, credits to @heinoganda at MSFN. If you wonder when the second version was released, the answer is very simple: never. This version was unofficial. ProxHTTPSProxy's PopMenu is not a classical launcher, it is rather a systray pop-up menu. It can be totally customized and continuously extended according to the user's needs due to its modular structure, therefore, much more flexible than a classical, compiled launcher. More features can be added easily without touching the existent code. Due to ProxHTTPSProxy's PopMenu's modular structure, the user can change, add, delete and reorder features. Even the icons in the menu can be changed easily by the user.

System requirements:

@cmalex's ProxyMII was created by Python 3.7.1 which requires Microsoft Visual C++ 2015 Redistributable or Microsoft Visual C++ 2015-2019 Redistributable (latest version 14.28.29213.0). Furthermore, Microsoft .NET Framework 4.0 is now required to run my program package. Check if both are installed in your system! A CPU with SSE2 instruction set is no longer required, SSE only is sufficient.

Features of ProxHTTPSProxy's PopMenu TLS 1.3 3V3:

Here is the complete list of features implemented in ProxHTTPSProxy's PopMenu TLS 1.3 3V3:

1. Start ProxHTTPSPoxy - Activates the proxy's settings in IE LAN Settings, starts the proxy, and deactivates and cleans its settings after closing, all automatically.
2. Stop ProxHTTPSPoxy - Stops the proxy and closes its status window.
3. Minimize ProxHTTPSProxy to systray - Minimizes ProxHTTPSProxy's status window to systray and shows its icon there.
4. Restore ProxHTTPSProxy from systray - Restores ProxHTTPSProxy's minimized status window from systray.
5. Hide ProxHTTPSPoxy - Hides ProxHTTPSProxy's status window completely.
6. Show ProxHTTPSPoxy - Shows ProxHTTPSProxy's hidden status window again.
7. Check if ProxHTTPSPoxy is running (in RAM) - Checks if ProxHTTPSPoxy is running in the background.
8. cacert.pem Update - Performs an update of the file "cacert.pem".
9. Root Certificates Update - Performs an update of the system's Root Certificates.
10. Open IE Proxy settings - Opens the tab "LAN Settings" in IE's Internet Options.
11. Close IE Proxy settings - Closes the tab "LAN Settings" and IE's Internet Options completely.
12. Check system proxy status - Checks whether the proxy is used system-wide or the system has direct access.
13. Enable ProxHTTPSProxy system-wide - Permits the whole system to use this proxy. In this mode, services can route their traffic through the proxy, too. 
14. Disable ProxHTTPSProxy system-wide - The proxy can be used only locally if it is running, generally all have direct access to their servers or the internet.
15. Edit config.ini - Opens the file "config.ini" with the editor "Notepad" to check or modify the proxy's configuration.
16. Read documentation - Opens this documentation with the editor "Notepad" to get quickly information.

ProxHTTPSPoxy's PopMenu is provided together with ProxyMII from 2022-07-17, created by @cmalex and branded by me as ProxHTTPSProxy 1.5.220717. This new archive called "ProxHTTPSProxy TLS 1.3 1.5.220717 PopMenu 3V3" has been additionally updated by me. These are the changes to the previous version of ProxHTTPSPoxy's PopMenu:

Changelog of ProxHTTPSProxy's PopMenu TLS 1.3 3V3:

- @heinoganda's ProxHTTPSProxy REV3e replaced by @cmalex's ProxHTTPSProxy 1.5.220717 with a brand new TLS 1.3 support.
- New starter program "StartProxy.exe" created to activate the proxy settings, start the proxy, and deactivate its settings after closing, all automatically.
- "cacert.pem" updated to the most recent one.
- Alternative "cacert.pem" from Mozilla, updated to the most recent version dated 2022-07-19.
- The open source utility Min2Tray has been fully implemented by the new configuration tools "Configure PopMenu.exe" and "Setup Min2Tray.exe", all automatically.
- After the setup procedure, the programs PopMenu and Min2Tray are started automatically.
- All self-created files are not UPX-compressed. Therefore, the version is a noUPX only.
- Two new items added to the pop-up menu: "Minimize ProxHTTPSProxy to systray" and "Restore ProxHTTPSProxy from systray".
- All unnecessarily embedded files have been removed from my self-created executables.
- Changes in calling up other programs.
- In all my affected programs, protection against code injection has been improved. This leads to preventing of future "space bugs", too!
- Different issues, which could have been noticed only in very rare cases, have been fixed.
- All unnecessary code has been removed.
- New bugs I additionally found  have been fixed.
- Autostart entries of PopMenu and the new Min2Tray, automatically added to the registry by my configuration program, have been fixed in regard to the "space bug".
- All message windows of my programs have been resized and adjusted for a better visibility.
- All my self-created program files have been recompiled by using a different compiler.
- @cmalex's original ProxyMII wasn't modified by me, except a replacement of ProxHTTPSProxy.EXE's program icon, back to the old one and an update of the file "config.ini" to get access to the Microsoft Updates (MU) website with this proxy.

Changelog of ProxHTTPSProxy's PopMenu 3V1:

- @heinoganda's "Certificate Updater 1.6" added.
- Old CA Root Certificate "CA.crt" replaced by a new one valid until 02/19/2032.
- "ProxHTTPSProxy CA Certificate Installer and Uninstaller" replaced by more recent ones corresponding to pre-generated CA Root Certificate valid until 02/19/2032.
- Old "cacert Updater" removed, "recreated cacert Updater Fixed" added.
- "cacert.pem" updated to most recent one.
- Alternative latest "cacert.pem" dated of 2022-04-26 from Mozilla with download url.
- ProxHTTPSProxy's PopMenu 3V1 implemented in two different versions, UPX and noUPX, following the spirit of ProxHTTPSProxy's creator.

Min2Tray v1.7.9:

Min2Tray is a utility for MS Windows NT and higher to minimize and hide a window to the system tray area of taskbar as an icon. This feature can't be implemented by pure batch programming. A higher programming language is needed. Min2Tray does its job perfectly and provide several, additional features like a BossKey to hide all visible windows (exceptions possible) with one keypress or StartupMinimize to auto-minimize certain windows to systray upon startup of Min2Tray. The main reason I integrated Min2Tray into my package is to minimize ProxHTTPSProxy's status window to systray area, and even at its first start automatically. This can be done by a menu item in PopMenu, a hotkey or a right-click on the close button. I adjusted Min2Tray to work perfectly together with ProxHTTPSProxy. It will be done by executing my program "Configure PopMenu.exe" which calls up another self-created program "Setup Min2Tray.exe", all automatically. The user does not have to configure anything. A general, positive side-effect is that Min2Tray can control other windows, too. One great feature is to minimize almost any window by right-clicking on its close button. This works with a lot of program windows, e.g., New Moon browser window, Notepad++ and so on. Min2Tray itself shows a small icon in the systray. If you don't need it or it bothers you, you can hide it with the native feature of Windows XP called "Hide inactive icons". Right click anywhere on an empty area on the Windows taskbar. From the right-click menu select Properties. In the Taskbar and Start Menu Properties window, check the box labelled "Hide inactive icons" and customize all the systray icons to your needs. Choose "Always show" for ProxHTTPSProxy's status window and "Always hide" for Min2Tray program. Moreover, I pre-configured Min2Tray's hotkeys. Following hotkeys are available:

ALT + M - minimize or restore active window to or from systray
ALT + R - restore ProxHTTPSProxy's status window from systray
ALT + B - BossKey
ALT + I - add or delete a window to or from the BossKey list
ALT + S - toggle StealthMode
ALT + CRTL + S - open Min2Tray's setting window

Of course, the settings of Min2Tray can be changed at any time, but keep in mind I pre-configured it to run perfectly in combination with ProxHTTPSProxy. Any changes can lead to an unwanted or unexpected behaviour. But don't worry, executing of my configuration program "Configure PopMenu.exe" will reset all changes to the default settings I had selected before. More about Min2Tray via Google!

Installation and configuration of ProxHTTPSProxy's PopMenu TLS 1.3 3V3:

1. Unpack archive and copy either the complete folder ProxHTTPSProxy_TLS_1_3_1_5_220717_PopMenu_3V3 (or its complete content) to desired location.
2. If using ProxHTTPSProxy the first time, you have to install the file "CA.crt", located in the main program folder, to Trusted Root Certification Authority under the account "local computer" manually. Here are the steps how to do that:
- Open the console by typing "mmc".
- Add a "snap-in for certificates".
- Choose for "local computer".
- Import your "ProxHTTPSProxy CA certificate" to "Trusted Root Certification Authority".
- Finished. 
Or, use my contained "ProxHTTPSProxy CA Certificate Installer and Uninstaller" to do that automatically! A more detailed instruction can be found in my article "ProxHTTPSProxy and HTTPSProxy in Windows XP for future use": https://msfn.org/board/topic/183352-proxhttpsproxy-and-httpsproxy-in-windows-xp-for-future-use/?do=findComment&comment=1213600
3. Although ProxHTTPSProxy 1.5.220717, PopMenu 3.0, and Min2Tray v1.7.9 are fully portable, the config file of program PopMenu and the registry values of Min2Tray have to be adjusted to their new location. This can be done manually or much more comfortable automatically by a tool I created for this purpose only. Go to subfolder "PopMenu" and execute "Configure PopMenu.exe". It adjusts the file "PopMenu.ini" to your selected location, configures the settings of Min2Tray by calling up my self-created program "Setup Min2Tray.exe", adds PopMenu and Min2Tray to the Windows startup, and starts both programs. This procedure will always set the menu back to the default settings which are most suitable. If you modified the menu or the settings of Min2Tray in the past to your needs, you have to adjust the config file "PopMenu.ini" and the settings of Min2Tray manually, otherwise you'll lose your modifications. The program PopMenu provides an import and export function. When using this feature you won't lose your custom settings. In any case, the paths in config file "PopMenu.ini" and the registry settings of Min2Tray have to be adjusted when the complete program folder or its complete content was moved or copied to a new location.

Transferring all settings of an existing ProxHTTPSProxy's installation:

Copy the files "CA.crt" and "config.ini" from the old installation folder to the new one. Same with the complete subfolder "Certs". Doing it in that way you won't lose any old settings.

Usage of ProxHTTPSProxy's PopMenu TLS 1.3 3V3:

To start ProxHTTPSPoxy's PopMenu, just apply "ProxyPopMenu.exe" in the main program folder "ProxHTTPSProxy_TLS_1_3_1_5_220717_PopMenu_3V3". The manual start is only necessary if you closed it before. Generally, PopMenu and Min2Tray are started automatically. The settings of PopMenu can be changed manually in the context menu item "Settings" which is called up by right-clicking systray icon. Here PopMenu can be configured generally. ProxHTTPSPoxy's PopMenu has been pre-configured by me. The provided functions (items) corresponding to their labels are in many cases self-programmed executables and in some cases inserted commands. All items of ProxHTTPSPoxy's PopMenu are generally self-explanatory. Feel free to click on them and test them! Starting the proxy itself is to be done by the menu item "Start ProxHTTPSPoxy" which calls up my starter program "StartProxy.exe" and ensures to activate the proxy settings, start the proxy, and deactivate its settings after closing, all automatically. If you want to start the proxy itself at Windows Startup, you have to use an Autostart Manager or set it up manually. An Autostart feature will come in the next release. When you click on item "Enable ProxHTTPSProxy system-wide", my program checks whether ProxHTTPSProxy is running or not. If not, it will be started immediately. This is necessary to set ProxHTTPSProxy to the system-wide mode or setting process would fail. And one recommendation: Do not change or modify files in the subfolder "PopMenu" and keep the file or folder structure inside the main folder, otherwise the ProxHTTPSProxy's PopMenu won't work properly! If you want to modify the menu, do it in PopMenu's "Settings"! But you have to know what you're doing otherwise ProxHTTPSPoxy's PopMenu won't work as expected.

The programs PopMenu and Min2Tray have a very low usage of RAM. It's only about 2 MB and 4 MB respectively.

All files in my archive are definitely virus-free and clean, although some AV scanners produce false positives. I recommend adding the complete folder to the exclusion list of your security program(s), only if you trust me, of course. Apart from that, you can also check positive reported files on VirusTotal, though.

If you find a bug, need help or have questions relating to this package, post it in the commenting zone of my thread: 
https://msfn.org/board/topic/183352-proxhttpsproxy-and-httpsproxy-in-windows-xp-for-future-use/

And finally, we, @cmalex and me, would be very pleased about posting your experiences and opinions relating to ProxHTTPSProxy's PopMenu TLS 1.3 3V3. Any reactions by commenting, liking and up-voting are welcome too, of course. All this can be done in my threads https://msfn.org/board/topic/183352-proxhttpsproxy-and-httpsproxy-in-windows-xp-for-future-use/ and https://msfn.org/board/topic/183684-looking-for-a-person-with-python-programming-skills-to-implement-tls-13-functionality-in-proxhttpsproxy-rev3e/. As you know, an author of software lives from the feedback of the users!

Kind regards, @AstroSkipper at MSFN

Germany, 08/18/2022