From 8a6444cb1475803b9498b828406499541dc7071b Mon Sep 17 00:00:00 2001 From: PAN Lei Date: Sat, 9 Aug 2025 23:28:52 +0200 Subject: [PATCH] more fields in JsDataPojo --- docs/5_x/params_list.txt | 423 +++++++++++++++++++++++++++++++++++++++ models/jsdata_pojo.py | 307 ++++++++++++++++++++-------- 2 files changed, 645 insertions(+), 85 deletions(-) create mode 100644 docs/5_x/params_list.txt diff --git a/docs/5_x/params_list.txt b/docs/5_x/params_list.txt new file mode 100644 index 0000000..f0adea8 --- /dev/null +++ b/docs/5_x/params_list.txt @@ -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) \ No newline at end of file diff --git a/models/jsdata_pojo.py b/models/jsdata_pojo.py index 4fe99a9..5939947 100644 --- a/models/jsdata_pojo.py +++ b/models/jsdata_pojo.py @@ -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