A simple tool to log XMPP traffic between the Riot client and the Riot XMPP server. Includes information such as presences and chat.
Heavily based on Burak's riot-xmpp-mitm project.
Note: This project makes use of global fetch in Node 18+
npm install
npm run build
to build the projectnode .
to start the logger. This will start Valorant automatically.The first line of the file must contain a json-encoded object with required properties
type
being set to valorant-xmpp-logger
and version
being a semver representing the format version.
Following lines are either comments (to be ignored by parsers) starting with #
or log entries.
Log entries are json-encoded objects with the following properties:
type
:
incoming
for incoming dataoutgoing
for outgoing dataopen-valorant
when Valorant initiates an XMPP socket connection to this applicationopen-riot
when this application initiates an XMPP socket connection to the Riot XMPP server (in response to open-valorant
)close-valorant
when Valorant closes the XMPP socket connectionclose-riot
when this the Riot XMPP server closes the XMPP socket connectiontime
: timestamp of the log entryIf the type is incoming
or outgoing
, the following properties are also present:
data
: the data that was sent or receivedIf the type is open-*
or close-*
, the following properties are also present:
socketID
: A unique ID for the socket connection. Internally implemented as a counter.If the type is open-valorant
, the following properties are also present:
host
: the hostname of the Riot XMPP server that the connection is intended forport
: the port of the Riot XMPP server that the connection is intended forWhile an excellent xmpp mitm project had already been created, I wanted to try my hand at creating a similar project to better understand MITM-ing the Riot client config. This project also writes logs to disk in an easily parsable format, which is useful for creating tools to analyze the logs. Finally, this project automatically finds and starts the Riot client which is convenient.