cai.client.config_push package

ConfigPushSvc Related SDK.

This module is used to build and handle config push service related packet.

Copyright

Copyright (C) 2021-2021 cscs181

License

AGPL-3.0 or later. See LICENSE for detail.

cai.client.config_push.encode_config_push_response(uin: int, seq: int, session_id: bytes, d2key: bytes, type: int, jcebuf: bytes, large_seq: int) cai.utils.binary.Packet

Build config push response packet.

command name: ConfigPushSvc.PushResp

注解

Source: com.tencent.mobileqq.msf.core.a.c.b

参数
  • uin (int) – User QQ number.

  • seq (int) – Packet sequence.

  • session_id (bytes) – Session ID.

  • d2key (bytes) – Siginfo d2 key.

  • type (int) – ConfigPushSvc request type.

  • jcebuf (bytes) – ConfigPushSvc request jcebuf.

  • large_seq (int) – ConfigPushSvc request large_seq.

async cai.client.config_push.handle_config_push_request(client: Client, packet: cai.client.packet.IncomingPacket) cai.client.config_push.command.ConfigPushCommand

Submodules

cai.client.config_push.command module

ConfigPushSvc Command Parser.

This module is used to parse ConfigPushSvc packets into command.

Copyright

Copyright (C) 2021-2021 cscs181

License

AGPL-3.0 or later. See LICENSE for detail.

class cai.client.config_push.command.ConfigPushCommand(uin: int, seq: int, ret_code: int, command_name: str)

基类:cai.client.command.Command

classmethod decode_push_req(uin: int, seq: int, ret_code: int, command_name: str, data: bytes) cai.client.config_push.command.ConfigPushCommand

Decode ConfigPush.PushReq packet.

注解

Source:

com.tencent.mobileqq.msf.core.a.c.a (type 1)

com.tencent.mobileqq.servlet.PushServlet.onReceive (type 2)

参数
  • uin (int) – User QQ

  • seq (int) – Sequence number of the response packet.

  • ret_code (int) – Return code of the response.

  • command_name (str) – Command name of the response.

  • data (bytes) – Payload data of the response.

返回

Push Sso Server Info List. FileServerPushCommand: Push File Server Info List.

返回类型

SsoServerPushCommand

uin: int
seq: int
ret_code: int
command_name: str
class cai.client.config_push.command.SsoServerPushCommand(uin: int, seq: int, ret_code: int, command_name: str, type: int, jcebuf: bytes, large_seq: int, list: cai.client.config_push.jce.SsoServerPushList)

基类:cai.client.config_push.command._ConfigPushCommandBase

list: cai.client.config_push.jce.SsoServerPushList
class cai.client.config_push.command.FileServerPushCommand(uin: int, seq: int, ret_code: int, command_name: str, type: int, jcebuf: bytes, large_seq: int, list: cai.client.config_push.jce.FileServerPushList)

基类:cai.client.config_push.command._ConfigPushCommandBase

list: cai.client.config_push.jce.FileServerPushList
class cai.client.config_push.command.LogActionPushCommand(uin: int, seq: int, ret_code: int, command_name: str, type: int, jcebuf: bytes, large_seq: int)

基类:cai.client.config_push.command._ConfigPushCommandBase

type: int
jcebuf: bytes
large_seq: int

cai.client.config_push.jce module

ConfigPushSvc Packet Builder.

This module is used to build and handle ConfigPushSvc packets.

Copyright

Copyright (C) 2021-2021 cscs181

License

AGPL-3.0 or later. See LICENSE for detail.

class cai.client.config_push.jce.PushReq(*, type: jce.types.INT32, jcebuf: jce.types.BYTES, large_seq: jce.types.INT64)

基类:jce.types.JceStruct

注解

Source: ConfigPush.PushReq

type: jce.types.INT32
jcebuf: jce.types.BYTES
large_seq: jce.types.INT64
class cai.client.config_push.jce.PushResp(*, type: jce.types.INT32, large_seq: jce.types.INT64, jcebuf: jce.types.BYTES = None)

基类:jce.types.JceStruct

注解

Source: com.tencent.msf.service.protocol.serverconfig.g

ConfigPush.PushResp

type: jce.types.INT32
large_seq: jce.types.INT64
jcebuf: Optional[jce.types.BYTES]
class cai.client.config_push.jce.FileServerInfo(*, ip: jce.types.STRING, port: jce.types.INT32)

基类:jce.types.JceStruct

注解

Source: ConfigPush.FileStorageServerListInfo

ip: jce.types.STRING
port: jce.types.INT32
class cai.client.config_push.jce.BigDataIpInfo(*, type: jce.types.INT64, ip: jce.types.STRING, port: jce.types.INT64)

基类:jce.types.JceStruct

注解

Source: ConfigPush.BigDataIpInfo

type: jce.types.INT64
ip: jce.types.STRING
port: jce.types.INT64
class cai.client.config_push.jce.NetSegConf(*, net_type: jce.types.INT64 = None, segsize: jce.types.INT64 = None, segnum: jce.types.INT64 = None, cur_conn_num: jce.types.INT64 = None)

基类:jce.types.JceStruct

注解

Source: ConfigPush.NetSegConf

net_type: Optional[jce.types.INT64]
segsize: Optional[jce.types.INT64]
segnum: Optional[jce.types.INT64]
cur_conn_num: Optional[jce.types.INT64]
class cai.client.config_push.jce.BigDataIpList(*, service_type: jce.types.INT64, ip_list: jce.types.LIST[cai.client.config_push.jce.BigDataIpInfo], net_seg_confs: jce.types.LIST[cai.client.config_push.jce.NetSegConf] = None, fragment_size: jce.types.INT64 = None)

基类:jce.types.JceStruct

注解

Source: ConfigPush.BigDataIpList

service_type: jce.types.INT64
ip_list: jce.types.LIST[cai.client.config_push.jce.BigDataIpInfo]
net_seg_confs: Optional[jce.types.LIST[cai.client.config_push.jce.NetSegConf]]
fragment_size: Optional[jce.types.INT64]
class cai.client.config_push.jce.BigDataChannel(*, bigdata_iplists: jce.types.LIST[cai.client.config_push.jce.BigDataIpList], bigdata_sig_session: jce.types.BYTES = None, bigdata_key_session: jce.types.BYTES = None, sig_uin: jce.types.INT64 = None, connect_flag: jce.types.INT32 = None, bigdata_pb_buf: jce.types.BYTES = None)

基类:jce.types.JceStruct

注解

Source: ConfigPush.BigDataChannel

bigdata_iplists: jce.types.LIST[cai.client.config_push.jce.BigDataIpList]
bigdata_sig_session: Optional[jce.types.BYTES]
bigdata_key_session: Optional[jce.types.BYTES]
sig_uin: Optional[jce.types.INT64]
connect_flag: Optional[jce.types.INT32]
bigdata_pb_buf: Optional[jce.types.BYTES]
class cai.client.config_push.jce.FmtIpInfo(*, gate_ip: jce.types.STRING, gate_ip_order: jce.types.INT64)

基类:jce.types.JceStruct

注解

Source: ConfigPush.FmtIpInfo

gate_ip: jce.types.STRING
gate_ip_order: jce.types.INT64
class cai.client.config_push.jce.DomainIpInfo(*, ip: jce.types.INT32, port: jce.types.INT32)

基类:jce.types.JceStruct

注解

Source: ConfigPush.DomainIpInfo

ip: jce.types.INT32
port: jce.types.INT32
class cai.client.config_push.jce.DomainIpList(*, domain_type: jce.types.INT32, ip_list: jce.types.LIST[cai.client.config_push.jce.DomainIpInfo])

基类:jce.types.JceStruct

注解

Source: ConfigPush.DomainIpList

domain_type: jce.types.INT32
ip_list: jce.types.LIST[cai.client.config_push.jce.DomainIpInfo]
class cai.client.config_push.jce.DomainIpChannel(*, domain_iplists: jce.types.LIST[cai.client.config_push.jce.DomainIpList])

基类:jce.types.JceStruct

注解

Source: ConfigPush.DomainIpChannel

domain_iplists: jce.types.LIST[cai.client.config_push.jce.DomainIpList]
class cai.client.config_push.jce.FileServerPushList(*, upload_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo], pic_download_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo], g_pic_download_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo] = None, qzone_proxy_service_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo] = None, url_encode_service_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo] = None, big_data_channel: cai.client.config_push.jce.BigDataChannel = None, vip_emotion_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo] = None, c2c_pic_down_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo] = None, fmt_ip_info: cai.client.config_push.jce.FmtIpInfo = None, domain_ip_channel: cai.client.config_push.jce.DomainIpChannel = None, ptt_list: jce.types.BYTES = None)

基类:jce.types.JceStruct

注解

Source: ConfigPush.FileStoragePushFSSvcList

upload_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo]
pic_download_list: jce.types.LIST[cai.client.config_push.jce.FileServerInfo]
g_pic_download_list: Optional[jce.types.LIST[cai.client.config_push.jce.FileServerInfo]]
qzone_proxy_service_list: Optional[jce.types.LIST[cai.client.config_push.jce.FileServerInfo]]
url_encode_service_list: Optional[jce.types.LIST[cai.client.config_push.jce.FileServerInfo]]
big_data_channel: Optional[cai.client.config_push.jce.BigDataChannel]
vip_emotion_list: Optional[jce.types.LIST[cai.client.config_push.jce.FileServerInfo]]
c2c_pic_down_list: Optional[jce.types.LIST[cai.client.config_push.jce.FileServerInfo]]
fmt_ip_info: Optional[cai.client.config_push.jce.FmtIpInfo]
domain_ip_channel: Optional[cai.client.config_push.jce.DomainIpChannel]
ptt_list: Optional[jce.types.BYTES]
class cai.client.config_push.jce.SsoServerPushList(*, socket_v4_mobile: jce.types.LIST[cai.client.sso_server.jce.SsoServer], socket_v4_wifi: jce.types.LIST[cai.client.sso_server.jce.SsoServer], http_v4_mobile: jce.types.LIST[cai.client.sso_server.jce.SsoServer], http_v4_wifi: jce.types.LIST[cai.client.sso_server.jce.SsoServer], udp_v4: jce.types.LIST[cai.client.sso_server.jce.SsoServer], socket_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer], http_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer], udp_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer], nettype: jce.types.BYTE = b'\x00', delay_threshold: jce.types.INT32 = 0, policy_id: jce.types.STRING = '')

基类:jce.types.JceStruct

注解

Source: com.tencent.msf.service.protocol.serverconfig.C32524j

socket_v4_mobile: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: socket ipv4 mobile server, renamed from a.

socket_v4_wifi: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: socket ipv4 wifi server, renamed from b.

http_v4_mobile: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: http ipv4 mobile server, renamed from g.

http_v4_wifi: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: http ipv4 wifi server, renamed from h.

udp_v4: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: quic ipv4 server, renamed from i.

socket_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: socket ipv6 server, renamed from j.

used when (wifi and nettype & 1 == 1) or (mobile and nettype & 2 == 2)

http_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: http ipv6 server, renamed from k.

used when (wifi and nettype & 1 == 1) or (mobile and nettype & 2 == 2)

udp_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer]

LIST of SsoServer: quic ipv6 server, renamed from l.

used when (wifi and nettype & 1 == 1) or (mobile and nettype & 2 == 2)

nettype: jce.types.BYTE

nettype, renamed from m.

Type

BYTE

delay_threshold: jce.types.INT32

delay threshold, renamed from n.

Type

INT32

policy_id: jce.types.STRING

policy id, renamed from o.

Type

STRING