Themirrazz (talk | contribs) |
(Restructure) |
||
Line 1: | Line 1: | ||
P3, also known as ''' | P3, also known as '''Pseudo Peer-to-Peer''' or '''PPP''', is a communication protocol and program that was introduced in Windows96 v2.34 ([[Windows 96 v2]] Service Pack 2). Its purpose is to allow developers to have intercommunication between programs, without having to rely on hosting a server themselves. | ||
P3 | P3 has been marked as obsolete since [[Windows 96 v3]] release 3.0.1, with no replacement being officially announced. | ||
== Network function == | |||
In order to initiate a connection with a peer, the system must first connect to a P3 relay server (by default, this server is <code>wss://p3.windows96.net</code>) using Socket.IO. The relay handles address assignment, authentication, message exchange and peer discovery. | |||
== | === HELLO === | ||
Logging in on the relay is accomplished by sending a <code>hello</code> packet containing the address secret as well as the desired subdomain in a JSON-encoded, semicolon-separated string. | |||
"sub=hello;mySecret" | |||
If the user does not wish to use a subdomain, the <code>sub</code> argument can be omitted: | |||
"mySecret" | |||
If the user has a [[Windows 96 Product Key]], the secret is ignored, and the key's domain is used instead. Product key authentication is done by sending the <code>Authorization</code> HTTP header before connecting: | |||
Authorization: Bearer <product-key> | |||
Successful authentication will result in a <code>hello</code> response, indicating the user's address, secret and MOTD if the server has one: | |||
{ "success": true, "address": "hello.kyblozsdhc.ppp", "secret": "mySecret", "message": "example MOTD" } | |||
Invalid parameters will result in a message containing the error: | |||
{ "success": false, "message": "PPP Server Error: Subdomain is invalid" } | |||
== Use == | |||
* [[SuperTerm]] uses the Rich Text over P3 (RToP) protocol with 121 as default port. | |||
* [[Remote Console]] uses RToP on port 140. | |||
* [[P3FS]] uses P3 on port 737. | |||
== See also == | |||
* [[P3FS]] | |||
* [[P3.Compiled]] | |||
* [[Remote Console]] | |||
* [[SuperTerm]] | |||
== External links == | |||
* [https://github.com/socketio/socket.io Socket.IO on GitHub] | |||
* [https://github.com/themirrazzalt/p3protocol Unofficial P3 documentation] |
Revision as of 15:45, 12 February 2023
P3, also known as Pseudo Peer-to-Peer or PPP, is a communication protocol and program that was introduced in Windows96 v2.34 (Windows 96 v2 Service Pack 2). Its purpose is to allow developers to have intercommunication between programs, without having to rely on hosting a server themselves.
P3 has been marked as obsolete since Windows 96 v3 release 3.0.1, with no replacement being officially announced.
Network function
In order to initiate a connection with a peer, the system must first connect to a P3 relay server (by default, this server is wss://p3.windows96.net
) using Socket.IO. The relay handles address assignment, authentication, message exchange and peer discovery.
HELLO
Logging in on the relay is accomplished by sending a hello
packet containing the address secret as well as the desired subdomain in a JSON-encoded, semicolon-separated string.
"sub=hello;mySecret"
If the user does not wish to use a subdomain, the sub
argument can be omitted:
"mySecret"
If the user has a Windows 96 Product Key, the secret is ignored, and the key's domain is used instead. Product key authentication is done by sending the Authorization
HTTP header before connecting:
Authorization: Bearer <product-key>
Successful authentication will result in a hello
response, indicating the user's address, secret and MOTD if the server has one:
{ "success": true, "address": "hello.kyblozsdhc.ppp", "secret": "mySecret", "message": "example MOTD" }
Invalid parameters will result in a message containing the error:
{ "success": false, "message": "PPP Server Error: Subdomain is invalid" }
Use
- SuperTerm uses the Rich Text over P3 (RToP) protocol with 121 as default port.
- Remote Console uses RToP on port 140.
- P3FS uses P3 on port 737.