cai.client.sso_server package¶
SSO Server SDK.
This module is used to get server list and choose the best one.
- Copyright
Copyright (C) 2021-2021 cscs181:License: AGPL-3.0 or later. See LICENSE for detail.
- async cai.client.sso_server.get_sso_list() cai.client.sso_server.jce.SsoServerResponse¶
Do sso server list request and return the response.
注解
Source: com.tencent.mobileqq.msf.core.a.f.run
- 返回
Sso server list response
- 返回类型
- 引发
SsoServerException – Get sso server list failed.
- async cai.client.sso_server.quality_test(servers: Iterable[cai.client.sso_server.jce.SsoServer], threshold: float = 500.0) List[Tuple[cai.client.sso_server.jce.SsoServer, float]]¶
Test given servers’ quality by tcp latency.
- async cai.client.sso_server.get_sso_server(cache: bool = True, cache_server_list: bool = True, exclude: Optional[Container[str]] = None) cai.client.sso_server.jce.SsoServer¶
Get the best sso server
- 参数
cache (bool, optional) – Using cache server or not. Defaults to True.
cache_server_list (bool, optional) – Using cache server list or not. Defaults to True.
exclude (List[str], optional) – List of servers’ ip want to be excluded
- 返回
The best server with smallest latency.
- 返回类型
Submodules¶
cai.client.sso_server.jce module¶
SSO Server Packet Builder.
This module is used to build sso server packets.
- Copyright
Copyright (C) 2021-2021 cscs181:License: AGPL-3.0 or later. See LICENSE for detail.
- class cai.client.sso_server.jce.SsoServerRequest(*, uin: jce.types.INT64 = 0, timeout: jce.types.INT64 = 0, c: jce.types.BYTE = b'\x01', imsi: jce.types.STRING = '46000', is_wifi: jce.types.INT32 = 100, app_id: jce.types.INT64, imei: jce.types.STRING, cell_id: jce.types.INT64 = 0, i: jce.types.INT64 = 0, j: jce.types.INT64 = 0, k: jce.types.BYTE = b'\x00', l: jce.types.BYTE = b'\x00', m: jce.types.INT64 = 0)¶
基类:
jce.types.JceStructSso Server List Request.
注解
Source: com.tencent.msf.service.protocol.serverconfig.d
- uin: jce.types.INT64¶
User QQ or 0, renamed from a.
- Type
INT64
- timeout: jce.types.INT64¶
may be timeout (s), default is 60, renamed from b.
- Type
INT64
- c: jce.types.BYTE¶
always 1.
- Type
BYTE
- imsi: jce.types.STRING¶
imsi string, renamed from d.
null->``””`` orimsi.substring(0, 5).- Type
STRING
- is_wifi: jce.types.INT32¶
is_wifi, renamed from e.
NetConnInfoCenter.isWifiConn: true->100, false->1.
- Type
INT32
- app_id: jce.types.INT64¶
app_id, renamed from f.
same to
cai.settings.protocol.ApkInfo.app_id.- Type
INT64
- imei: jce.types.STRING¶
imei, renamed from g.
same to
cai.settings.device.DeviceInfo.imei.- Type
STRING
- cell_id: jce.types.INT64¶
cell_id, renamed from h.
cell location get from
CdmaCellLocation.getBaseStationId.- Type
INT64
- i: jce.types.INT64¶
unknown.
- Type
INT64
- j: jce.types.INT64¶
unknown.
- Type
INT64
- k: jce.types.BYTE¶
unknown boolean, true->1, false->0.
- Type
BYTE
- l: jce.types.BYTE¶
active net ip family.
get from
NetConnInfoCenter.getActiveNetIpFamily.- Type
BYTE
- m: jce.types.INT64¶
unknown.
- Type
INT64
- class cai.client.sso_server.jce.SsoServer(*, host: jce.types.STRING, port: jce.types.INT32, protocol: jce.types.BYTE, city: jce.types.STRING, country: jce.types.STRING)¶
基类:
jce.types.JceStructSso Server Info.
注解
Source: com.tencent.msf.service.protocol.serverconfig.i
- host: jce.types.STRING¶
server host, renamed from a.
- Type
STRING
- port: jce.types.INT32¶
server port, renamed from b.
- Type
INT32
- protocol: jce.types.BYTE¶
protocol, renamed from e.
0, 1: socket; 2, 3: http.
- Type
BYTE
- city: jce.types.STRING¶
city, renamed from h.
- Type
STRING
- country: jce.types.STRING¶
country, renamed from i.
- Type
STRING
- class cai.client.sso_server.jce.SsoServerResponse(*, 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], speed_info: jce.types.BYTES, 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.JceStructSso Server List Response.
注解
Source: com.tencent.msf.service.protocol.serverconfig.e
- socket_v4_mobile: jce.types.LIST[cai.client.sso_server.jce.SsoServer]¶
LISTofSsoServer: socket ipv4 mobile server, renamed from b.
- socket_v4_wifi: jce.types.LIST[cai.client.sso_server.jce.SsoServer]¶
LISTofSsoServer: socket ipv4 wifi server, renamed from c.
- http_v4_mobile: jce.types.LIST[cai.client.sso_server.jce.SsoServer]¶
LISTofSsoServer: http ipv4 mobile server, renamed from l.
- http_v4_wifi: jce.types.LIST[cai.client.sso_server.jce.SsoServer]¶
LISTofSsoServer: http ipv4 wifi server, renamed from m.
- speed_info: jce.types.BYTES¶
vCesuInfo, renamed from n.
bytes from
RequestPacketVersion3(QualityTest)- Type
BYTES
- socket_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer]¶
LISTofSsoServer: socket ipv6 server, renamed from o.used when (wifi and
nettype& 1 == 1) or (mobile andnettype& 2 == 2)
- http_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer]¶
LISTofSsoServer: http ipv6 server, renamed from p.used when (wifi and
nettype& 1 == 1) or (mobile andnettype& 2 == 2)
- udp_v6: jce.types.LIST[cai.client.sso_server.jce.SsoServer]¶
LISTofSsoServer: quic ipv6 server, renamed from q.used when (wifi and
nettype& 1 == 1) or (mobile andnettype& 2 == 2)
- nettype: jce.types.BYTE¶
nettype, renamed from r.
- Type
BYTE
- delay_threshold: jce.types.INT32¶
delay threshold, renamed from s.
- Type
INT32
- policy_id: jce.types.STRING¶
policy id, renamed from t.
- Type
STRING