FIRST commit

This commit is contained in:
Faker
2024-11-12 11:17:55 +08:00
commit dbfb6cecc2
403 changed files with 36107 additions and 0 deletions

3
utils/Rebels/rebelsa.js Normal file

File diff suppressed because one or more lines are too long

3
utils/Rebels/rebelsb.js Normal file

File diff suppressed because one or more lines are too long

3
utils/Rebels/rebelsc.js Normal file

File diff suppressed because one or more lines are too long

1
utils/Rebels/rebelsm.js Normal file

File diff suppressed because one or more lines are too long

3
utils/Rebels/rebelsn.js Normal file

File diff suppressed because one or more lines are too long

3
utils/Rebels/rebelsv.js Normal file

File diff suppressed because one or more lines are too long

1
utils/Rebels/rebelsx.js Normal file

File diff suppressed because one or more lines are too long

15
utils/Rebels/rebelsz.js Normal file

File diff suppressed because one or more lines are too long

4
utils/Rebels_3_0.js Normal file

File diff suppressed because one or more lines are too long

6
utils/Rebels_H.js Normal file

File diff suppressed because one or more lines are too long

30
utils/Rebels_Token.js Normal file

File diff suppressed because one or more lines are too long

6
utils/Rebels_jdCommon.js Normal file

File diff suppressed because one or more lines are too long

1
utils/Rebels_proxy.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

46
utils/baseCookie.js Normal file
View File

@@ -0,0 +1,46 @@
function setBaseCookie() {
var cookie = [];
function genUuid() {
return new Date().getTime() + '' + parseInt(2147483647 * Math.random());
}
function setCookie(e, t, i) {
if (e) {
var n = '';
if (i) {
var a = new Date();
a.setTime(a.getTime() + i), (n = ';expires=' + a.toGMTString());
}
document.cookie = e + '=' + t + n + ';path=/;domain=jd.com;';
}
}
function setJdv(e, t) {
var i = isPrey(10) && (!e || e.length > 400) ? t + '|direct|-|none|-|' + new Date().getTime() : e;
setCookie('__jdv', i, 1296000000);
}
function isPrey(e) {
if (e >= 100) return !0;
var t = uuid,
r = t.substr(t.length - 2);
return !!r && 1 * r < e;
}
var r = 122270672,
i = genUuid(),
s = parseInt(new Date().getTime() / 1e3);
var uuid = i;
setCookie('__jda', [r, i, s, s, s, 1].join('.'), 15552000000);
setCookie('__jdb', [r, 1, i + '|' + 1, s].join('.'), 1800000);
var j = encodeURIComponent([r, 'direct', '-', 'none', '-', new Date().getTime()].join('|'));
setJdv(j, r);
setCookie('__jdc', r);
setCookie('mba_muid', encodeURI(i));
return cookie.join('');
}
module.exports.setBaseCookie = setBaseCookie;

1595
utils/baseUtils.js Normal file

File diff suppressed because it is too large Load Diff

284
utils/jsToken.js Normal file
View File

@@ -0,0 +1,284 @@
var axios = require('axios');
var qs = require('qs');
function TDEncrypt(l) {
l = JSON.stringify(l);
l = encodeURIComponent(l);
var k = '',
f = 0;
do {
var h = l.charCodeAt(f++);
var d = l.charCodeAt(f++);
var a = l.charCodeAt(f++);
var b = h >> 2;
h = ((h & 3) << 4) | (d >> 4);
var e = ((d & 15) << 2) | (a >> 6);
var c = a & 63;
isNaN(d) ? (e = c = 64) : isNaN(a) && (c = 64);
k =
k +
'23IL<N01c7KvwZO56RSTAfghiFyzWJqVabGH4PQdopUrsCuX*xeBjkltDEmn89.-'.charAt(b) +
'23IL<N01c7KvwZO56RSTAfghiFyzWJqVabGH4PQdopUrsCuX*xeBjkltDEmn89.-'.charAt(h) +
'23IL<N01c7KvwZO56RSTAfghiFyzWJqVabGH4PQdopUrsCuX*xeBjkltDEmn89.-'.charAt(e) +
'23IL<N01c7KvwZO56RSTAfghiFyzWJqVabGH4PQdopUrsCuX*xeBjkltDEmn89.-'.charAt(c);
} while (f < l.length);
return k + '/';
}
function getAppVersionFromUserAgent(userAgent) {
const mozillaIndex = userAgent.indexOf('Mozilla/');
if (mozillaIndex !== -1) {
return userAgent.substring(mozillaIndex + 8);
}
return userAgent;
}
function getCurrentPageUrl(inputUrl) {
let l = inputUrl.startsWith('https:') ? 'https://' : 'http://';
let d = '';
try {
const queryIndex = inputUrl.indexOf('?');
if (queryIndex > 0) {
inputUrl = inputUrl.substring(0, queryIndex);
}
d = inputUrl.substring(l.length);
} catch (error) {
console.error('Error parsing URL:', error);
}
return d;
}
async function getJsToken(
userAgent = 'jdapp;android;11.2.8;;;Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010 Build/QKQ1.191014.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 MQQBrowser/6.2 TBS/045230 Mobile Safari/537.36',
url = 'https://plus.m.jd.com/',
bizId = 'JD-PLUS',
) {
const d = TDEncrypt({
ts: { deviceTime: Date.now(), deviceEndTime: Date.now() + 10 },
ca: {
tdHash: '5b7096a993d442aef38ceb90cce4b485',
contextName: 'webgl,experimental-webgl',
webglversion: 'WebGL 1.0 (OpenGL ES 2.0 Chromium)',
shadingLV: 'WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)',
vendor: 'WebKit',
renderer: 'WebKit WebGL',
extensions: [
'ANGLE_instanced_arrays',
'EXT_blend_minmax',
'EXT_clip_control',
'EXT_color_buffer_half_float',
'EXT_depth_clamp',
'EXT_disjoint_timer_query',
'EXT_float_blend',
'EXT_frag_depth',
'EXT_polygon_offset_clamp',
'EXT_shader_texture_lod',
'EXT_texture_compression_bptc',
'EXT_texture_compression_rgtc',
'EXT_texture_filter_anisotropic',
'EXT_texture_mirror_clamp_to_edge',
'EXT_sRGB',
'KHR_parallel_shader_compile',
'OES_element_index_uint',
'OES_fbo_render_mipmap',
'OES_standard_derivatives',
'OES_texture_float',
'OES_texture_float_linear',
'OES_texture_half_float',
'OES_texture_half_float_linear',
'OES_vertex_array_object',
'WEBGL_blend_func_extended',
'WEBGL_color_buffer_float',
'WEBGL_compressed_texture_s3tc',
'WEBGL_compressed_texture_s3tc_srgb',
'WEBGL_debug_renderer_info',
'WEBGL_debug_shaders',
'WEBGL_depth_texture',
'WEBGL_draw_buffers',
'WEBGL_lose_context',
'WEBGL_multi_draw',
'WEBGL_polygon_mode',
],
wuv: 'Google Inc. (Intel)',
wur: 'ANGLE (Intel, Intel(R) UHD Graphics 730 (0x00004C8B) Direct3D11 vs_5_0 ps_5_0, D3D11)',
},
m: { compatMode: 'CSS1Compat' },
n: {
vendorSub: '',
productSub: '20030107',
vendor: 'Google Inc.',
maxTouchPoints: 1,
pdfViewerEnabled: false,
hardwareConcurrency: 12,
cookieEnabled: true,
appCodeName: 'Mozilla',
appName: 'Netscape',
appVersion: getAppVersionFromUserAgent(userAgent),
platform: 'Win32',
product: 'Gecko',
userAgent: userAgent,
language: 'zh-CN',
onLine: true,
webdriver: false,
javaEnabled: false,
deprecatedRunAdAuctionEnforcesKAnonymity: true,
deviceMemory: 8,
enumerationOrder: [
'vendorSub',
'productSub',
'vendor',
'maxTouchPoints',
'scheduling',
'userActivation',
'doNotTrack',
'geolocation',
'connection',
'plugins',
'mimeTypes',
'pdfViewerEnabled',
'webkitTemporaryStorage',
'webkitPersistentStorage',
'windowControlsOverlay',
'hardwareConcurrency',
'cookieEnabled',
'appCodeName',
'appName',
'appVersion',
'platform',
'product',
'userAgent',
'language',
'languages',
'onLine',
'webdriver',
'getGamepads',
'javaEnabled',
'sendBeacon',
'vibrate',
'deprecatedRunAdAuctionEnforcesKAnonymity',
'protectedAudience',
'bluetooth',
'storageBuckets',
'clipboard',
'credentials',
'keyboard',
'managed',
'mediaDevices',
'storage',
'serviceWorker',
'virtualKeyboard',
'wakeLock',
'deviceMemory',
'userAgentData',
'login',
'ink',
'mediaCapabilities',
'hid',
'locks',
'gpu',
'mediaSession',
'permissions',
'presentation',
'usb',
'xr',
'serial',
'adAuctionComponents',
'runAdAuction',
'canLoadAdAuctionFencedFrame',
'canShare',
'share',
'clearAppBadge',
'getBattery',
'getUserMedia',
'requestMIDIAccess',
'requestMediaKeySystemAccess',
'setAppBadge',
'webkitGetUserMedia',
'clearOriginJoinedAdInterestGroups',
'createAuctionNonce',
'joinAdInterestGroup',
'leaveAdInterestGroup',
'updateAdInterestGroups',
'deprecatedReplaceInURN',
'deprecatedURNToURL',
'getInstalledRelatedApps',
'registerProtocolHandler',
'unregisterProtocolHandler',
],
},
p: [],
w: { devicePixelRatio: 4, screenTop: 0, screenLeft: 0 },
s: { availHeight: 740, availWidth: 360, colorDepth: 24, height: 740, width: 360, pixelDepth: 24 },
sc: {
ActiveBorder: 'rgb(0, 0, 0)',
ActiveCaption: 'rgb(0, 0, 0)',
AppWorkspace: 'rgb(255, 255, 255)',
Background: 'rgb(255, 255, 255)',
ButtonFace: 'rgb(240, 240, 240)',
ButtonHighlight: 'rgb(240, 240, 240)',
ButtonShadow: 'rgb(240, 240, 240)',
ButtonText: 'rgb(0, 0, 0)',
CaptionText: 'rgb(0, 0, 0)',
GrayText: 'rgb(109, 109, 109)',
Highlight: 'rgba(0, 86, 205, 0.8)',
HighlightText: 'rgb(255, 255, 255)',
InactiveBorder: 'rgb(0, 0, 0)',
InactiveCaption: 'rgb(255, 255, 255)',
InactiveCaptionText: 'rgb(128, 128, 128)',
InfoBackground: 'rgb(255, 255, 255)',
InfoText: 'rgb(0, 0, 0)',
Menu: 'rgb(255, 255, 255)',
MenuText: 'rgb(0, 0, 0)',
Scrollbar: 'rgb(255, 255, 255)',
ThreeDDarkShadow: 'rgb(0, 0, 0)',
ThreeDFace: 'rgb(240, 240, 240)',
ThreeDHighlight: 'rgb(0, 0, 0)',
ThreeDLightShadow: 'rgb(0, 0, 0)',
ThreeDShadow: 'rgb(0, 0, 0)',
Window: 'rgb(255, 255, 255)',
WindowFrame: 'rgb(0, 0, 0)',
WindowText: 'rgb(0, 0, 0)',
},
ss: { cookie: true, localStorage: true, sessionStorage: true, globalStorage: false, indexedDB: true },
tz: -480,
lil: '',
wil: '',
});
const a = TDEncrypt({
pin: '',
oid: '',
bizId: bizId,
fc: '',
mode: 'strict',
p: 's',
fp: 'b772d9635edebaa1a47c5a1fd086186a',
ctype: 1,
v: '3.2.1.0',
f: '3',
o: getCurrentPageUrl(url),
qs: '',
qi: '',
});
let { status, data } = await axios({
method: 'POST',
url: `https://jra.jd.com/jsTk.do?a=${encodeURIComponent(a)}`,
headers: {
'User-Agent': userAgent,
'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
},
data: qs.stringify({
d: d,
}),
});
if (status === 200 && data.data) {
return data.data;
} else return null;
}
module.exports.getJsToken = getJsToken;

5
utils/rs_config.js Normal file
View File

@@ -0,0 +1,5 @@
//环境变量配置文件,一般请勿修改
const rsbels_config = {}
module.exports = rsbels_config

1550
utils/smashUtils.js Normal file

File diff suppressed because it is too large Load Diff