An RFC descriping TCP 2.0, written while listening to my "Holding Out For a Revolution" playlist
| Field | Description |
|---|---|
| Name | The Transfemme Communication Protocol version 2.0 |
| Status | Accepted |
| Author | OneOfKropotkinsCats |
| RFC Sponsor | @ellis@transfem.social |
| Proposed Date | 2026-09-24 |
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL", NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
Prior versions of TCP(1.0 and 1.1) did not full address client compatability. TCP 1.0 clients and TCP 1.1 clients could not communicate, leading to several problems and a severing of community[1]. TCP 2.0 attempts to fix this by adding interop between puppygirl and catgirl clients.
Client A MUST open a tcp/ip socket using port 20316 to Client B and send a packet containing the bytes 3A330A, if Client B responds with the same then the connection is continued, otherwise it SHALL be dropped. Client A MUST then send a packet containing the bytes outlined in Protocol Establishment, Client A SHOULD distinguish between a catgirl and puppygirl response[2].
After a connection is established, Client A SHALL send a packet containing the bytes outlined in Info Dump Start. Client A SHALL send one packet 512 bytes in length ending with 0A, allowing for 511 bytes of contents.
Client A MAY send any number more packets 512 bytes in length ending with 0A, allowing for 511 bytes of contents.
Client A SHALL send a packet containing the bytes outlined in Info Dump End.
Client A is REQUIRED to read the next packet sent from Client B, if it contains a Request To Close, Client A MUST send a packet containing bytes outlined in Protocol Closing and MUST validate Client B responded with a packet containing bytes outlined in Protocol Closing, otherwise the main loop is continued. If the next packet sent from Client B is an Info Dump Start packet then Client A MUST enter a Recieve Loop.
Client A MUST read a packet from Client B, if it is an Info Dump End packet then this loop ends and Main Loop is REQUIRED start again. Otherwise, the packet MUST be pushed to a buffer with the last byte removed. Client A MUST continue the Recieve Loop until an Info Dump End packet is recieved from Client B.
Protocol Establishment:
Catgirl: 4E59410A
Puppygirl: 57414E0A
Request To Close:
Catgirl: 5254434E59410A
Puppygirl: 52544357414E0A
Protocol Closing:
Catgirl: 414E59410A
Puppygirl: 4157414E0A
Info Dump Start:
Catgirl: 4944534E59410A
Puppygirl: 49445357414E0A
Info Dump End:
Catgirl: 4944454E59410A
Puppygirl: 49444557414E0A
The currently running implementation of this RFC.
The implementation of this RFC running on another device communicated to over port 20316.
by OneOfKropotkinsCats