2025-07-04 01:56:59 -05:00
|
|
|
// ───────────────────────────────────────── proto/lesavka.proto
|
2025-06-01 14:26:57 -05:00
|
|
|
syntax = "proto3";
|
2025-06-23 07:18:26 -05:00
|
|
|
package lesavka;
|
2025-06-01 14:26:57 -05:00
|
|
|
|
2025-06-27 06:56:08 -05:00
|
|
|
message KeyboardReport { bytes data = 1; }
|
|
|
|
|
message MouseReport { bytes data = 1; }
|
2025-06-01 14:26:57 -05:00
|
|
|
|
2025-06-27 06:56:08 -05:00
|
|
|
message MonitorRequest { uint32 id = 1; uint32 max_bitrate = 2; }
|
|
|
|
|
message VideoPacket { uint32 id = 1; uint64 pts = 2; bytes data = 3; }
|
2025-06-29 03:46:34 -05:00
|
|
|
message AudioPacket { uint32 id = 1; uint64 pts = 2; bytes data = 3; }
|
2025-06-21 05:21:57 -05:00
|
|
|
|
2025-06-30 19:35:38 -05:00
|
|
|
message ResetUsbReply { bool ok = 1; } // true = success
|
|
|
|
|
|
2025-07-04 01:56:59 -05:00
|
|
|
message HandshakeSet { bool camera = 1; bool microphone = 2; }
|
|
|
|
|
|
2025-06-30 19:35:38 -05:00
|
|
|
message Empty {}
|
2025-06-21 05:21:57 -05:00
|
|
|
|
2025-06-01 14:26:57 -05:00
|
|
|
service Relay {
|
2025-06-30 19:35:38 -05:00
|
|
|
rpc StreamKeyboard (stream KeyboardReport) returns (stream KeyboardReport);
|
|
|
|
|
rpc StreamMouse (stream MouseReport) returns (stream MouseReport);
|
|
|
|
|
rpc CaptureVideo (MonitorRequest) returns (stream VideoPacket);
|
|
|
|
|
rpc CaptureAudio (MonitorRequest) returns (stream AudioPacket);
|
2025-07-03 08:19:59 -05:00
|
|
|
rpc StreamMicrophone (stream AudioPacket) returns (stream Empty);
|
|
|
|
|
rpc StreamCamera (stream VideoPacket) returns (stream Empty);
|
|
|
|
|
|
2025-06-30 19:35:38 -05:00
|
|
|
rpc ResetUsb (Empty) returns (ResetUsbReply);
|
2025-06-21 05:21:57 -05:00
|
|
|
}
|
2025-07-04 01:56:59 -05:00
|
|
|
|
|
|
|
|
service Handshake {
|
|
|
|
|
rpc GetCapabilities (Empty) returns (HandshakeSet);
|
|
|
|
|
}
|