mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-07-16 10:03:35 -07:00
Auto-generate Did
This commit is contained in:
parent
73ccfb6f22
commit
eeb28c7c8a
5 changed files with 7 additions and 15 deletions
|
@ -48,7 +48,6 @@ struct StreamSessionConnectInfo
|
|||
QString host;
|
||||
QString regist_key;
|
||||
QString morning;
|
||||
QString did;
|
||||
ChiakiConnectVideoProfile video_profile;
|
||||
};
|
||||
|
||||
|
|
|
@ -75,10 +75,6 @@ int main(int argc, char *argv[])
|
|||
QCommandLineOption morning_option("morning", "", "morning");
|
||||
parser.addOption(morning_option);
|
||||
|
||||
QCommandLineOption did_option("did", "", "did");
|
||||
parser.addOption(did_option);
|
||||
|
||||
|
||||
parser.process(app);
|
||||
QStringList args = parser.positionalArguments();
|
||||
|
||||
|
@ -100,13 +96,12 @@ int main(int argc, char *argv[])
|
|||
connect_info.host = host;
|
||||
connect_info.regist_key = parser.value(regist_key_option);
|
||||
connect_info.morning = parser.value(morning_option);
|
||||
connect_info.did = parser.value(did_option);
|
||||
|
||||
chiaki_connect_video_profile_preset(&connect_info.video_profile,
|
||||
CHIAKI_VIDEO_RESOLUTION_PRESET_720p,
|
||||
CHIAKI_VIDEO_FPS_PRESET_30);
|
||||
|
||||
if(connect_info.regist_key.isEmpty() || connect_info.morning.isEmpty() || connect_info.did.isEmpty())
|
||||
if(connect_info.regist_key.isEmpty() || connect_info.morning.isEmpty())
|
||||
parser.showHelp(1);
|
||||
|
||||
return RunStream(app, connect_info);
|
||||
|
|
|
@ -64,12 +64,6 @@ StreamSession::StreamSession(const StreamSessionConnectInfo &connect_info, QObje
|
|||
if(err != CHIAKI_ERR_SUCCESS || morning_size != sizeof(chiaki_connect_info.morning))
|
||||
throw ChiakiException("Morning invalid");
|
||||
|
||||
size_t did_size = sizeof(chiaki_connect_info.did);
|
||||
QByteArray did_str = connect_info.did.toUtf8();
|
||||
err = chiaki_base64_decode(did_str.constData(), did_str.length(), chiaki_connect_info.did, &did_size);
|
||||
if(err != CHIAKI_ERR_SUCCESS || did_size != sizeof(chiaki_connect_info.did))
|
||||
throw ChiakiException("Did invalid");
|
||||
|
||||
memset(&keyboard_state, 0, sizeof(keyboard_state));
|
||||
|
||||
err = chiaki_session_init(&session, &chiaki_connect_info, log.GetChiakiLog());
|
||||
|
|
|
@ -72,7 +72,6 @@ typedef struct chiaki_connect_info_t
|
|||
const char *host; // null terminated
|
||||
char regist_key[CHIAKI_SESSION_AUTH_SIZE]; // must be completely filled (pad with \0)
|
||||
uint8_t morning[0x10];
|
||||
uint8_t did[CHIAKI_RP_DID_SIZE];
|
||||
ChiakiConnectVideoProfile video_profile;
|
||||
} ChiakiConnectInfo;
|
||||
|
||||
|
|
|
@ -155,7 +155,12 @@ CHIAKI_EXPORT ChiakiErrorCode chiaki_session_init(ChiakiSession *session, Chiaki
|
|||
|
||||
memcpy(session->connect_info.regist_key, connect_info->regist_key, sizeof(session->connect_info.regist_key));
|
||||
memcpy(session->connect_info.morning, connect_info->morning, sizeof(session->connect_info.morning));
|
||||
memcpy(session->connect_info.did, connect_info->did, sizeof(session->connect_info.did));
|
||||
|
||||
const uint8_t did_prefix[] = { 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x40, 0x00, 0x80 };
|
||||
const uint8_t did_suffix[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
memcpy(session->connect_info.did, did_prefix, sizeof(did_prefix));
|
||||
chiaki_random_bytes_crypt(session->connect_info.did + sizeof(did_prefix), sizeof(session->connect_info.did) - sizeof(did_prefix) - sizeof(did_suffix));
|
||||
memcpy(session->connect_info.did + sizeof(session->connect_info.did) - sizeof(did_suffix), did_suffix, sizeof(did_suffix));
|
||||
|
||||
session->connect_info.video_profile = connect_info->video_profile;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue