PerServ - Port Manager
OverviewPerServ allocates ports in even-odd pairs, called a port pair. A typical pair would allow for http protocol on the even port and https: on the odd.
Port management is a central activity in PerServ, essentially replacing user account management. PerServ does not have user accounts in the conventional sense. Rather, users access it by clicking a link such as:
For the curious who want to test the security, the password is stored in a cookie so once you are recognized, the password portion of url is ignored. Either test with invalid ids first or clear cookies.
Main screenWhile PerServ should scale to thousands of port pairs, the current release defaults to 8 pairs. Future releases may default to more. If you need more now, change the source code in globals.py so that PORTS_DYN_ASGN uses a larger range of ports.
In Fig.1, there are 5 available ports and three assigned to http_https. There are icons representing each menu supported on this port pair. Each pair is assigned a name.
Edit portFig. 2 shows the screen after clicking a port number to edit. The main panel becomes read-only and the selected port is highlighted. An edit panel opens below. The function of the pair was set in Fig. 1 as http_https so Fig. 2 shows the edit panel template for a http/https pair.
Fig. 3 is detail from Fig. 2. The description field allows us to change the name for the port pair.
The connection matrix individually assigns values to the even and odd port. Since this is the local owner pair, we restrict http to be open only to local machine. The port is closed for everyone else. With this local machine setting, https is not possible or of any real value so we simple disable it. Again because this is local only, a password in the calling url adds no value.
This early release of PerServ has 4 apps and all 4 are enabled for the owner. The Example app is a code sample for developers of add-on apps and is enabled for owner and disabled for the first two ports (fig. 1).
The password section sets password lengths for ports that have Requires password checked. Passwords are generated algorithmically and user-generated passwords are not supported. Lengths may be any of 7 designated lengths between 4 and 25. All passwords are numeric with "-" used as a spacer, if needed.