more fields in JsDataPojo

This commit is contained in:
2025-08-09 23:28:52 +02:00
parent 1b18804b2b
commit 8a6444cb14
2 changed files with 645 additions and 85 deletions
+423
View File
@@ -0,0 +1,423 @@
nddc:1 --> OK, 1, 需要从网页中获得
数值应该就是1
var nddc;
try {
if ((nddc = (document.cookie.match(/datadome=/g) || []).length) > 1) {
t.deleteAllDDCookies();
}
} catch (n) {
nddc = "err";
}
r3n:33
r3n 数值是window._hsv 的值,如果没有window._hsv的值,那么返回33
// var hsv = typeof window._hsv == "string" && window._hsv.length > 0 ||
// typeof window._hsv == "number" && !isNaN(window._hsv) ? window._hsv : 33;
exp8:0
固定是0
uid:null
默认为null
n.i("uid", t.getCookie("correlation_id"));
bci:true
bcl:0.8
bct:Infinity
bdt:Infinity
window.navigator.getBattery().then(function (batteryManager) {
n("bci", batteryManager.charging);
n("bcl", batteryManager.level);
n("bct", batteryManager.chargingTime);
n("bdt", batteryManager.dischargingTime);
});
dp0:false
默认为false ?
ucdv:false
默认为false
ucdv = typeof objectToInspect != "undefined" && objectToInspect === "null" && typeof result != "undefined" && !!result)
wdifrm:false
默认为false
iwgl:undefined ??
npmtm:false
默认为false
wdif:false
wdifpnh:2800984568
lg:fr-FR
n("lg", window.navigator.language || window.navigator.userLanguage || window.navigator.browserLanguage || window.navigator.systemLanguage || "");
isb:false
n("isb", !!window.navigator.brave);
idp:true
crt:0
crt = window.navigator.connection && window.navigator.connection['rtt']
vnd:Google Inc.
OK
bid:NA
OK
med:defined
OK
pltod:false
默认为false
csssp:
为空
awe:false
默认为false
phe:false
默认为false
dat:false
默认为false
nm:false
默认为false
geb:false
默认为false
sqt:false
默认为false
pf:MacIntel
pf = window.navigator.platform
hc:12
ok
br_oh:847
ok
br_ow:513
ok
ua:Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36
ok
wbd:false
默认为false
ts_mtp:0
ok
mob:true
mob = navigator.userAgentData?navigator.userAgentData.mobile:"NA"
lgs:["fr-FR","en-US","zh-CN","zh","fr","en"]
lgs=JSON.stringify(navigator.languages)
dvm:8
ok
hcovdr:false
默认为false
plovdr:false
默认为false
ftsovdr:false
默认为false
orf:debug
trrd:0.5678095129748595
0到1之间的,小数后面有15位的随机数
br_w:513
ok
br_h:847
ok
br_iw:513
window.innerWidth || 0
br_ih:847
window.innerHeight || 0
ars_w:513
ok
ars_h:847
ok
rs_w:513
ok
rs_h:847
ok
rs_cd:24
ok
pr:2
ok
so:portrait-primary
ok
vco:
ok
vcots:false
ok
vch:probably
ok
vchts:true
ok
vcw:probably
ok
vcwts:true
ok
vc3:maybe
ok
vc3ts:false
ok
vcmp:
ok
vcmpts:false
ok
vcq:
ok
vcqts:false
ok
vc1:probably
ok
vc1ts:true
ok
cssS:3.93,0.39,12.24,9.75,5.64,10.98,13.46,2.19,6.51
css0:7, 75, 0
css1:9.74354, 0.354646, -0.00922698, 0.000685511, 0.203723, -5.61673, -0.755238, 0.0561098, -0.0279023, 0.481607, -10.9534, 0.813777, -0.375565, 6.48243, -147.433, 11.9534
cssH:15px
plu:empty
plgod:false
plg:0
plgne:NA
plgre:NA
plgof:NA
plggt:NA
mmt:empty
bchk:3223aeb6721e0d0917e7928181193ac88dcd62fad5cadfbe7a2b2b473ecf58ee70f098dbdb1a1832e8dc6528387b0745971dbcd82384261e9a4e3f
for (var n = ["AppBannerPromptResult", "webkitRTCPeerConnection", "webkitAudioContext", "webkitRequestAnimationFrame", "chrome.runtime",
"chrome.webstore", "console.context", "InputMethodContext", "SVGAnimationElement", "SVGPathSegList", "PasswordCredential", "ViewTransition",
"VisualViewport.prototype.segments", "DeprecationReportBody", "MathMLElement", "opr", "CSS2Properties.prototype.colorScheme", "WebKitCSSMatrix",
"SVGTextPositioningElement", "XMLHttpRequestEventTarget", "TextDecoderStream", "onloadend", "WritableStream", "TransformStream", "TextTrackCue",
"-283", "VisualViewport", "StyleSheet", "RTCDtlsTransport", "Atomics", "StaticRange", "UIEvent", "VideoStreamTrack", "OfflineResourceList",
"SVGGeometryElement", "RTCDataChannel", "VTTRegion", "AbortController", "Controllers", "onanimationcancel",
"SVGDocument", "IIRFilterNode", "RTCStatsReport", "MediaStreamTrack", "CSS2Properties.prototype.MozOsxFontSmoothing", "CropTarget", "BatteryManager",
"LaunchQueue", "CSSFontPaletteValuesRule", "PushSubscriptionOptions", "DOMSettableTokenList", "RTCTrackEvent",
"MozSmsMessage", "ServiceWorkerContainer", "CanvasCaptureMediaStream", "DeviceStorage", "XPathNSResolver", "SmartCardEvent", "WeakSet",
"MozMobileMessageManager", "External.prototype.getHostEnvironmentValue", "WindowUtils", "XPathNamespace", "SVGFEDropShadowElement",
"SharedWorker", "WorkerMessageEvent", "CSS2Properties.prototype.MozOSXFontSmoothing", "AudioSinkInfo",
"Notification.prototype.image", "ContentVisibilityAutoStateChangeEvent", "PerformanceResourceTiming.prototype.renderBlockingStatus", "console.createTask",
"PerformanceServerTiming", "CanvasFilter", "structuredClone", "onslotchange", "EyeDropper", "URLPattern", "VideoFrame", "WritableStreamDefaultController", "SharedArrayBuffer",
"CSSCounterStyleRule", "CustomStateSet", "ReadableStreamDefaultController", "XMLDocument.prototype.hasStorageAccess",
"CryptoKey", "SubmitEvent", "MediaMetadata", "VideoPlaybackQuality", "ReadableStreamDefaultReader", "UserActivation", "FragmentDirective",
"WebKitMediaKeyError", "RTCRtpTransceiver.prototype.stop", "Scheduling", "EventCounts", "VideoTrackList", "SourceBuffer", "RTCError", "FontFaceSet", "CSSCharsetRule", "MediaDeviceInfo",
"RTCPeerConnectionIceErrorEvent", "RTCSctpTransport", "MediaSessionCoordinator", "XULPopupElement", "MediaSourceHandle",
"366", "__REACT_DEVTOOLS_GLOBAL_HOOK__", "ShadowRealm", "HTMLSlotElement", "DetachedViewControlEvent", "GeolocationPosition", "SiteBoundCredential", "MediaSource",
"WebTransport", "GPUSupportedLimits", "ToggleEvent"], bchk = "", e = 0; e < n.length; e++) {
for (var r = n[e].split("."), i = window, o = true, c = 0; c < r.length; c++) {
var s = r[c];
if (!(s in i)) {
o = false;
break;
}
if (c < r.length - 1) {
i = i[s];
}
}
if (o) {
bchk += "52738db37a1ea50137e79e8181193ac872cd325ba5cacfbe7aab5b36b9c9879e7c0018dbd31a1832a8dc6528387b67451719dcd8b784a518904e3f07c69b9d30"[e];
} else {
bchk += "3829ae9642df0d791e41d2159da28bd18d056afadf1bd70fc9222a473eaf58e860ff950e7bf35b66e4aa90b156c80c96913dbd9c23c7262e4adbc3ddd77ff263"[e];
}
}
nt_tcp:0
var performanceNavigationTiming = window.performance.getEntriesByType && window.performance.getEntriesByType("navigation")[0];
nt_tcp = performanceNavigationTiming.connectEnd - performanceNavigationTiming.connectStart
nt_dns:0
nt_dns =performanceNavigationTiming.domainLookupEnd - performanceNavigationTiming.domainLookupStart
nt_rd:0
nt_rd = performanceNavigationTiming.redirectEnd - performanceNavigationTiming.redirectStart
nt_irt:-3.400000002235174
nt_irt = performanceNavigationTiming.firstInterimResponseStart - performanceNavigationTiming.requestStart
nt_rt:0
nt_rt = performanceNavigationTiming.responseStart - performanceNavigationTiming.requestStart
nt_tls:3.400000002235174
let nt_tls = performanceNavigationTiming.requestStart - performanceNavigationTiming.secureConnectionStart
nt_ttf:3.099999997764826
let nt_ttf = performanceNavigationTiming.responseEnd - performanceNavigationTiming.fetchStart
nt_swt:3.400000002235174
let nt_swt = performanceNavigationTiming.fetchStart - performanceNavigationTiming.workerStart
nt_csd:0
let nt_csd = performanceNavigationTiming.decodedBodySize - performanceNavigationTiming.encodedBodySize
nt_nhp:
let nt_nhp = performanceNavigationTiming.nextHopProtocol
nt_rdc:0
let nt_rdc = performanceNavigationTiming.redirectCount
nt_it:navigation
let nt_it = performanceNavigationTiming.initiatorType
nt_prs:0
let nt_prs = performanceNavigationTiming.requestStart - performanceNavigationTiming.connectEnd
nt_esc:-3.400000002235174
let nt_esc = performanceNavigationTiming.secureConnectionStart - performanceNavigationTiming.connectStart
nt_ttrd:-2
e = performanceNavigationTiming.secureConnectionStart - performanceNavigationTiming.connectStart
nt_ttrd = (e - (e = performanceNavigationTiming.connectEnd - performanceNavigationTiming.connectStart)) / e)
nt_le:0
nt_le = performanceNavigationTiming.loadEventEnd - performanceNavigationTiming.loadEventStart
nt_dcle:0.10000000149011612
nt_dcle = performanceNavigationTiming.domContentLoadedEventEnd - performanceNavigationTiming.domContentLoadedEventStart
nt_di:74.80000000074506
nt_di = performanceNavigationTiming.domInteractive
nt_dc:0
nt_dc = performanceNavigationTiming.domComplete
ccsT:Error
at S (https://d.digital.hermes/tags.js:173:22)
at Un.C (https://d.digital.hermes/tags.js:1252:41
ccsB:/tags.js:1252:41
at nrWrapper (file:///Users/lpan/Downloads/Sacs%20et%20pochettes%20pour%20Femme%20_%20Herme%CC%80s%20France.html:7:13468)
ccsH:1050544242
ccsV:,993b46baf0942a343b7e6b02fa3f8eef64727f077d3b0055af56e6994dcaf046
muev:false
let muev = !!window.MutationEvent
pro_t:true
let pro_t = typeof window.Promise != "undefined" && !!window.Promise.try
wglo:true
!!window.WebGLObject
prso:true
!!window.PressureObserver
wbst:true
!!window.WebSocketStream
psn:true
!!window.PermissionStatus && window.PermissionStatus.prototype.hasOwnProperty('name')
edp:true
!!window.EyeDropper
addt:true
!window.AudioData
wsdc:true
!!window.WritableStreamDefaultController
ccsr:true
!!window.CSSCounterStyleRule
nuad:true
!!window.NavigatorUAData
bcda:true
!!window.BarcodeDetector
idn:true
!(!window.Intl || !window.Intl.DisplayNames)
capi:false
capi = !!(window.navigator && window.navigator.contacts && window.navigator[2])
svde:false
!!window.SVGDiscardElement
vpbq:true
!!(window.HTMLVideoElement && window.HTMLVideoElement.prototype && window.HTMLVideoElement.prototype.getVideoPlaybackQuality)
mq:aptr:coarse, ahvr:none
aco:probably
var audioElement = document.createElement("audio");
aco = audioElement.canPlayType("audio/ogg; codecs=\"vorbis\"")
acots:false
window.MediaSource.isTypeSupported("audio/ogg; codecs=\"vorbis\"")
acmp:probably
ok audioElement.canPlayType("audio/mpeg;")
acmpts:true
ok, default to true
acw:probably
ok, default to probably
acwts:false
ok, default to false
acma:maybe
ok, default to maybe
acmats:false
ok, default to false
acaa:probably
ok, default to probably
acaats:true
ok, default to true
ac3:
default to empty: ""
ac3ts:false
ok, default to false
acf:probably
ok, default to probably
acfts:false
ok, default to false
acmp4:maybe
ok, default to maybe
acmp4ts:false
ok, default to false
acmp3:probably
ok, default to probably
acmp3ts:false
ok, default to false
acwm:maybe
ok, default to maybe
acwmts:false
ok, default to false
ocpt:false
ok ocpt = audioElement.canPlayType.toString().indexOf('canPlayType') === -1
ckwa:false
ok, default to false
spwn:false
spwn = !!window.spawn
emt:false
emt = !!window.emit
bfr:false
bfr = !!window.Buffer
tz:-120
ok
hdn:false
hdn = !!window.hidden
ok, default to false
xt1:false
xt1 = !!window.navigator.pdfViewerEnabled
cdhf:false
cdhf = window.hasFocus()
eva:40
eva = window.XMLDocument.toString().length
cokys:,loadTimes,csi,app
default to ",loadTimes,csi,app"
var cokys = ""
for (var v in window.chrome) {
cokys += "," + v;
}
ecpc:false
default to false
ecpc = !!window.process
nhi:,64,true,Nexus 5,Android,6.0,138.0.7204.184,false
let results = await window.navigator.userAgentData.getHighEntropyValues(["architecture", "bitness", "model", "platformVersion", "uaFullVersion", "wow64"])
for (var e = ["architecture", "bitness", "mobile", "model", "platform", "platformVersion", "uaFullVersion", "wow64"], r = [], i = 0; i < e.length; i++) {
r.push(results[e[i]]);
}
nhi = r.join(",");
k_lyts:48
k_lytk:kg20va`l§'w8mh.71pdfoqcn[zy365x/\,-4bt9siu=j;r]e
let keyboardLayoutMap = await window.navigator.keyboard.getLayoutMap()
let k_lyts = keyboardLayoutMap.size
for (var e = "", r = window.Array.from(keyboardLayoutMap.values()), i = 0; i < r.length; i++) {
e += r[i];
}
let k_lytk = e
//}
//).catch(function (t) {
// n("k_lyts", "Err: " + Q(t.message));
//});
emd:k:ai,vi,ao
ok
wwl:false
glvd:Google Inc. (Apple)
ok
glrd:ANGLE (Apple, ANGLE Metal Renderer: Apple M2 Pro, Unspecified Version)
ok
tzp:Europe/Paris
ok: Intl.DateTimeFormat().resolvedOptions().timeZone
isf:true
isf = window.outerHeight - window.innerHeight <= 1
isf2:false
isf2 = window.matchMedia && window.matchMedia("(display-mode: fullscreen)").matches
dt:false
dt = (window.outerHeight - window.innerHeight > 170)
fph:416468867
jset:1754233764
jset = Math.floor(Date.now() / 1000)
+222 -85
View File
@@ -10,8 +10,19 @@ import jsonpickle
@dataclass
class JsDataPojo:
# opts: str
ttst: int
ifov: bool
r3n: int
exp8: int
# uid: str
bci: bool
bcl: float
bct: str
bdt: str
dp0: bool
ucdv: bool
wdifrm: bool
iwgl: str
ttst: float
# ifov: bool
hc: int
br_oh: int
br_ow: int
@@ -19,7 +30,12 @@ class JsDataPojo:
wbd: bool
tagpu: float
wdif: bool
wdifrm: bool
wdifpnh: int
lg: str
isb: bool
idp: bool
crt: int
npmtm: bool
br_h: int
br_w: int
@@ -31,7 +47,6 @@ class JsDataPojo:
phe: bool
nm: bool
jsf: bool
lg: str
pr: int
ars_h: int
ars_w: int
@@ -109,7 +124,7 @@ class JsDataPojo:
wdw: bool
cokys: str
ecpc: bool
lgs: bool
lgs: list
lgsod: bool
psn: bool
edp: bool
@@ -136,69 +151,151 @@ class JsDataPojo:
jset: int
def __init__(self, glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu,
vnd, pr, ts_mtp, dvm, emd):
vnd, pr, ts_mtp, dvm, emd,
ccsB,
br_iw=513, br_ih=847, pf="MacIntel", mob=True,
lgs=["fr-FR", "en-US", "zh-CN", "zh", "fr", "en"],
orf="debug",
bchk="3223aeb6721e0d0917e7928181193ac88dcd62fad5cadfbe7a2b2b473ecf58ee70f098dbdb1a1832e8dc6528387b0745971dbcd82384261e9a4e3f",
nt_tcp=0, nt_dns=0, nt_rd=0, nt_irt=-3.400000002235174, nt_rt=0, nt_tls=3.400000002235174,
nt_ttf=3.099999997764826, nt_swt=3.400000002235174, nt_csd=0, nt_nhp="", nt_rdc=0, nt_it="navigation",
nt_prs=0, nt_esc=-3.400000002235174, nt_ttrd=-2, nt_le=0, nt_dcle=0.10000000149011612,
nt_di=74.80000000074506, nt_dc=0, ccsT="""Error
at S (https://d.digital.hermes/tags.js:173:22)
at Un.C (https://d.digital.hermes/tags.js:1252:41
at nrWrapper (https://www.hermes.com/fr/fr/category/femme/Sacs%20et%20pochettes%20pour%20Femme%20_%20Herme%CC%80s%20France.html:7:13468)""",
ccsH="1050544242",
ccsV=",993b46baf0942a343b7e6b02fa3f8eef64727f077d3b0055af56e6994dcaf046", muev=False, prso=True,
nhi=",64,true,Nexus 5,Android,6.0,138.0.7204.184,false", k_lyts=48,
k_lytk="kg20va`l§'w8mh.71pdfoqcn[zy365x/\,-4bt9siu=j;r]e", tzp="Europe/Paris", isf2=False
):
# self.opts = "endpoint,ajaxListenerPath"
self.ttst = (random.randint(5, 46) * 10 ** 16 + random.randint(1 * 10 ** 7, 9 * 10 ** 7)) / 10 ** 16
self.ifov = False
self.nddc = 1
self.r3n = 33
self.exp8 = 0
self.uid = None
self.bci = True # batteryManager.charging
self.bcl = 0.8 # batteryManager.level
self.bct = "Infinity" # batteryManager.chargingTime #to check
self.bdt = "Infinity" # batteryManager.chargingTime #to check
self.dp0 = False
self.ucdv = False
self.wdifrm = False
self.iwgl = "undefined" # to check
self.npmtm = False
self.wdif = False
self.wdifpnh = 2800984568
self.lg = "fr-FR"
self.isb = False # is brave
self.idp = True
self.crt = 0
self.vnd = vnd
self.bid = "NA"
self.med = "defined"
self.pltod = False
self.csssp = ""
self.awe = False
self.phe = False
self.dat = False
self.nm = False
self.geb = False
self.sqt = False
self.pf = pf
self.hc = hc
self.br_oh = br_oh
self.br_ow = br_ow
self.ua = ua
self.wbd = False
tag_pu = random.uniform(1, 10)
while len(str(tag_pu)) != 17:
tag_pu = random.uniform(1, 10)
self.tagpu = tag_pu
self.wdif = False
self.wdifrm = False
self.npmtm = False
self.br_h = br_h
self.ts_mtp = ts_mtp
self.mob = mob
self.lgs = lgs
self.dvm = dvm
self.hcovdr = False
self.plovdr = False
self.ftsovdr = False
self.orf = orf # to check
self.ttst = round(random.random(), 16)
self.br_w = br_w
self.isf = True
self.nddc = 1
self.rs_h = rs_h
self.rs_w = rs_w
self.rs_cd = rs_cd
self.phe = False
self.nm = False
self.jsf = False
self.lg = "fr-FR"
self.pr = pr
self.ars_h = ars_h
self.br_h = br_h
self.br_iw = br_iw
self.br_ih = br_ih
self.ars_w = ars_w
self.tz = -120
self.str_ss = True
self.str_ls = True
self.str_idb = True
self.str_odb = True
self.ars_h = ars_h
self.rs_w = rs_w
self.rs_h = rs_h
self.rs_cd = rs_cd
self.pr = pr
self.so = "portrait-primary"
self.vco = ""
self.vcots = False
self.vch = "probably"
self.vchts = True
self.vcw = "probably"
self.vcwts = True
self.vc3 = "maybe"
self.vc3ts = False
self.vcmp = ""
self.vcmpts = False
self.vcq = ""
self.vcqts = False
self.vc1 = "probably"
self.vc1ts = True
self.cssS = "3.93,0.39,12.24,9.75,5.64,10.98,13.46,2.19,6.51"
self.css0 = "7, 75, 0"
self.css1 = "9.74354, 0.354646, -0.00922698, 0.000685511, 0.203723, -5.61673, -0.755238, 0.0561098, -0.0279023, 0.481607, -10.9534, 0.813777, -0.375565, 6.48243, -147.433, 11.9534"
self.cssH = "15px"
self.plu = str.join(",", plu) if isinstance(plu, list) else plu
self.plgod = False
self.plg = plg
self.plgne = "err"
self.plgre = "err"
self.plgof = "err"
self.plggt = "err"
self.pltod = False
self.hcovdr = False
self.hcovdr2 = False
self.plovdr = False
self.plovdr2 = False
self.ftsovdr = False
self.ftsovdr2 = False
self.lb = False
self.eva = eva
self.lo = False
self.ts_mtp = ts_mtp
self.ts_tec = True
self.ts_tsa = True
self.vnd = vnd
self.bid = "NA"
self.plgne = "NA"
self.plgre = "NA"
self.plgof = "NA"
self.plggt = "NA"
self.mmt = "empty"
self.plu = str.join(",", plu) if isinstance(plu, list) else plu
self.hdn = False
self.awe = False
self.geb = False
self.dat = False
self.med = "defined"
self.bchk = bchk
self.nt_tcp = nt_tcp
self.nt_dns = nt_dns
self.nt_rd = nt_rd
self.nt_irt = nt_irt
self.nt_rt = nt_rt
self.nt_tls = nt_tls
self.nt_ttf = nt_ttf
self.nt_swt = nt_swt
self.nt_csd = nt_csd
self.nt_nhp = nt_nhp
self.nt_rdc = nt_rdc
self.nt_it = nt_it
self.nt_prs = nt_prs
self.nt_esc = nt_esc
self.nt_ttrd = nt_ttrd
self.nt_le = nt_le
self.nt_dcle = nt_dcle
self.nt_di = nt_di
self.nt_dc = nt_dc
self.ccsT = ccsT
self.ccsB = ccsB
self.ccsH = ccsH
self.ccsV = ccsV
self.muev = muev
self.pro_t = True
self.wglo = True
self.prso = prso
self.wbst = True
self.psn = True
self.edp = True
self.addt = True
self.wsdc = True
self.ccsr = True
self.nuad = True
self.bcda = True
self.idn = True
self.capi = True
self.svde = True
self.vpbq = True
self.mq = "aptr:coarse, ahvr:none" # to check
self.aco = "probably"
self.acots = False
self.acmp = "probably"
@@ -220,35 +317,58 @@ class JsDataPojo:
self.acwm = "maybe"
self.acwmts = False
self.ocpt = False
self.vco = ""
self.vcots = False
self.vch = "probably"
self.vchts = True
self.vcw = "probably"
self.vcwts = True
self.vc3 = "maybe"
self.vc3ts = False
self.vcmp = ""
self.vcmpts = False
self.vcq = ""
self.vcqts = False
self.vc1 = "probably"
self.vc1ts = True
self.dvm = dvm
self.set_default_values()
self.ckwa = False
self.spwn = False
self.emt = False
self.bfr = False
self.tz = -120
self.hdn = False
self.xt1 = False # pdfViewerEnabled
self.cdhf = False # window.hasFocus()
self.eva = eva
self.cokys = ",loadTimes,csi,app"
self.ecpc = False
self.nhi = nhi
self.k_lyts = k_lyts
self.k_lytk = k_lytk
self.emd = emd
self.wwl = False
self.glvd = glvd
self.glrd = glrd
self.wwl = False
self.tzp = tzp
self.isf = True
self.isf2 = isf2
self.dt = False
self.fph = 416468867
# self.ifov = False
# tag_pu = random.uniform(1, 10)
# while len(str(tag_pu)) != 17:
# tag_pu = random.uniform(1, 10)
# self.tagpu = tag_pu
# self.jsf = False
# self.str_ss = True
# self.str_ls = True
# self.str_idb = True
# self.str_odb = True
#
# # self.hcovdr2 = False
# # self.plovdr2 = False
# # self.ftsovdr2 = False
# self.lb = False
# self.lo = False
# self.ts_tec = True
# self.ts_tsa = True
# self.set_default_values()
self.jset = int(time.time())
def set_default_values(self):
self.sqt = False
self.so = "portrait-primary"
self.wdw = True
self.cokys = "bG9hZFRpbWVzY3NpL="
self.ecpc = False
self.lgs = True
self.lgs = ["fr-FR", "en-US", "zh-CN", "zh", "fr", "en"]
self.lgsod = False
self.psn = True
self.edp = False
@@ -262,21 +382,28 @@ class JsDataPojo:
self.svde = False
self.vpbq = True
self.ucdv = False
self.spwn = False
self.emt = False
self.bfr = False
self.dbov = False
self.cfpfe = "ZnVuY3Rpb24oKXt2YXIgbj10LGk9ZG9jdW1lbnRbJ1x4NzFceDc1XHg2NVx4NzJceDc5XHg1M1x4NjVceDZjXHg2NVx4NjNceDc0XHg2Zlx4NzInXShuKDQ2MSkpO2lmKGkpeyFmdW5jdGlvbiB0KCl7dHJ5e3ZhciBuPWlbJ1x4NzNceDY4XHg2MVx4NjRceDZmXHg3" # 4.40.0
self.stcfp = "Ly9kLmRpZ2l0YWwuaGVybWVzL3RhZ3MuanM6Mjo4ODYzNSkKICAgIGF0IHQuZXhwb3J0cy5kZF9hZCAoaHR0cHM6Ly9kLmRpZ2l0YWwuaGVybWVzL3RhZ3MuanM6MjoxMDc3OTYpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjYzNzkw" # 4.40.0
self.ckwa = True
def to_url_encoded_json(self):
js_str = jsonpickle.encode(self, unpicklable=False).replace(": ", ":").replace(", ", ",")
_safe_string = urllib.parse.quote(js_str)
return _safe_string
# _safe_string = urllib.parse.quote(js_str)
return js_str
test_data_json = """{"glvd":"ARM","glrd":"Mali-G57 MC2","hc":5,"br_oh":620,"br_ow":360,"br_h":620,"br_w":360,"rs_h":804,"rs_w":360,"rs_cd":24,"ars_h":804,"ars_w":360,"plg":2,"eva":33,"vnd":"Google Inc.","plu":["eTJjZUp","iZMOHLs1"],"ua":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36","dvm":4,"acw":"probably","pr":3,"ts_mtp":5,"tz":-120,"emd":"k:ai,vi,ao,vi d:defau,8f9de,defau,24476 g:4e652,f9991,defau,d5801","cookiesStr":"app.sig=_FqS3_SPN2D40Z4Qlq-_ybxzRvQ;datadome=VSGCNMYkY6L81typRJUpurlyd39dHxdfxIYc6DzRWDT7_rtZ8UodGcbow1okQR2zg_t4d_NcP0rC1ZHNz3XSDAGFZCJhFI49lai~x2Nb2unkhOlY8o4E04Wjmde~auDZ;app=eyJmbGFzaCI6e30sImNhY2hlZmxhc2giOltdLCJjc3JmU2VjcmV0IjoiLW9jbktLVXAzMjVTOEFEdFpLUU9kSXlMIn0=;policy=accepted;lang=fr;"}"""
test_data_json = """{"glvd":"Google Inc. (ARM)","glrd":"ANGLE (ARM, Mali-G57 MC2, OpenGL ES 3.2)","hc":8,"br_oh":745,"br_ow":393,
"br_h":745,"br_w":393,"rs_h":876,"rs_w":393,"rs_cd":24,"ars_h":876,"ars_w":393,"plg":0,"eva":33,
"vnd":"Google Inc.","plu":[],"ua":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36","dvm":4,"acw":"probably",
"pr":2.75,"ts_mtp":5,"tz":-120,"emd":"k:ai,vi,ao",
"cookiesStr":"rskxRunCookie=0;datadome=GIfiRxEgyr5dwsnV0NoR9WPO3oA0CkMVLsqdvZLmuxHi81JFRbG7LaWKiAkSQRJTBkv3qBkGlCOC3uR00yZ9XSoCQFyE~1FcumXV8W_bgVPxfNzs6uQcZM8Ec61Q72UT;correlation_id=xlvzlpuwkh6syuqdfze05q7n41qle27qop4yjjvuifzapdo4npjlbi43uwbgle2m;ECOM_SESS=f2c2aihm0ocesmvx3dcs06ysh6;rCookie=0f3nn11uqq28ci5bqnveg5wme4bsr6e;lastRskxRun=1754748244881;x-xsrf-token=7ca984dc-6d35-4720-b77b-465392521d1b;__cf_bm=Szm2hZl9.PTO_DQF5DihrAOTq.dSmSrkKHsTqVenUxo-1754748237-1.0.1.1-gfLAB1wWYyHUb_scXGpXzAk6IkrkhvdNalhhsVhujY7xeFm02lwFKGUiTrBknONdwmvV3EKilTfiFORmJUDrjj3st4hoNdnrk0MT0SVed5w;OptanonConsent=isGpcEnabled=0&datestamp=Sat+Aug+09+2025+16%3A04%3A04+GMT%2B0200+(heure+d%E2%80%99%C3%A9t%C3%A9+d%E2%80%99Europe+centrale)&version=6.32.0&isIABGlobal=false&hosts=&landingPath=https%3A%2F%2Fwww.hermes.com%2Ffr%2Ffr%2Fproduct%2Fsac-p-tit-arcon-H085871CKAO%2F&groups=C0001%3A1%2CC0002%3A0%2CC0003%3A0%2CC0004%3A0;","model":"22041219PG",
"lgs":"[fr-FR,fr,en-US,en]",
"bchk":"3223aeb6721e0d0917e792818d193ac88dcd62fad5cad7bf7a2b2b473ecf58ee60f018dbdb1a5832e8dc6528387b0745971dbcd82387261e9a4e3f",
"nt_tcp":0,"nt_dns":0,"nt_rd":0,"nt_irt":-29.600000008940697,"nt_rt":1129,"nt_tls":6.700000002980232,"nt_ttf":1166.7000000029802,"nt_swt":22.900000005960464,
"nt_csd":411060,"nt_nhp":"h2","nt_rdc":0,"nt_it":"navigation","nt_prs":6.700000002980232,"nt_esc":0,"nt_ttrd":null,"nt_le":3.0999999940395355,"nt_dcle":141.79999999701977,
"nt_di":1415.2000000029802,"nt_dc":2862.6000000089407,"ccsB":"tags.js:1252:41 at nrWrapper (sac-p-tit-arcon-H085871CKAO.html:7:13468)",
"muev":false,"pro_t":false,"nhi":",,true,22041219PG,Android,14.0.0,128.0.6613.146,false","k_lyts":0,"k_lytk":"","serial":"fuljaueqguugf6pn"}"""
if __name__ == '__main__':
test_data_dict = json.loads(test_data_json)
@@ -286,7 +413,17 @@ if __name__ == '__main__':
plg=test_data_dict['plg'], br_h=test_data_dict['br_h'], br_w=test_data_dict['br_w'],
plu=test_data_dict['plu'], vnd=test_data_dict['vnd'], dvm=test_data_dict['dvm'],
ts_mtp=test_data_dict['ts_mtp'], eva=test_data_dict['eva'], rs_h=test_data_dict['rs_h'],
rs_w=test_data_dict['rs_w'], rs_cd=test_data_dict['rs_cd'], emd=test_data_dict['emd'])
rs_w=test_data_dict['rs_w'], rs_cd=test_data_dict['rs_cd'], emd=test_data_dict['emd'],
bchk=test_data_dict['bchk'],
ccsB=test_data_dict['ccsB'],
nt_tcp=test_data_dict['nt_tcp'],
nt_dns=test_data_dict['nt_dns'],
nt_rd=test_data_dict['nt_rd'], nt_irt=test_data_dict['nt_irt'], nt_rt=test_data_dict['nt_rt'],
nt_tls=test_data_dict['nt_tls'], nt_ttf=test_data_dict['nt_ttf'], nt_swt=test_data_dict['nt_swt'],
nt_csd=test_data_dict['nt_csd'], nt_nhp=test_data_dict['nt_nhp'], nt_rdc=test_data_dict['nt_rdc'],
nt_it=test_data_dict['nt_it'], nt_prs=test_data_dict['nt_prs'], nt_esc=test_data_dict['nt_esc'],
nt_ttrd=test_data_dict['nt_ttrd'], nt_le=test_data_dict['nt_le'],
nt_dcle=test_data_dict['nt_dcle'], nt_di=test_data_dict['nt_di'], nt_dc=test_data_dict['nt_dc'], )
print(js.to_url_encoded_json())
# text_file = open("jsdata.txt", "w")
# # write string to file