Last active 1756168990

Revision 1f3c99f43699ca82941b69d169585668de737456

clc.js Raw
1try {
2 const YEARS_TO_SUBTRACT = 60 * 60 * 24 * 18200; // ~49.86 năm
3 const TWO_HOURS = 7200; // 2 giờ
4 const now = Math.floor(Date.now() / 1000);
5
6 // Đếm số lần gọi
7 let callCount = parseInt($persistentStore.read("v3") || "0") + 1;
8 $persistentStore.write(callCount.toString(), "v3");
9
10 // Tạo body giả
11 const body = {
12 status: "OK",
13 message: "local mock",
14 timestamp: now - YEARS_TO_SUBTRACT + (callCount * TWO_HOURS)
15 };
16
17 $done({
18 response: {
19 status: 200,
20 headers: { "Content-Type": "application/json" },
21 body: JSON.stringify(body)
22 }
23 });
24} catch (e) {
25 $done({});
26}
27
clc.module Raw
1#!name=CLC Time Mock
2#!desc=Mock TimezoneDB: local time minus ~50 years + +2h per call
3#!author=f97
4#!homepage=https://f97.xyz
5
6[Script]
7# Chặn mọi request tới api.timezonedb.com và trả JSON local
8CLC-Time=type=http-request,pattern=^https?:\/\/api\.timezonedb\.com\/.* ,script-path=clc.js
9
10[MITM]
11hostname=%APPEND% api.timezonedb.com
12
count.js Raw
1try {
2 const body = JSON.parse($response.body);
3 const YEARS_TO_SUBTRACT = 60 * 60 * 24 * 18200; // ~49.86 years
4 const TWO_HOURS = 7200; // 2 hours in seconds
5 const now = Math.floor(Date.now() / 1000);
6
7 // Get and increment call count
8 let callCount = parseInt($persistentStore.read("v3") || "0") + 1;
9 $persistentStore.write(callCount.toString(), "v3");
10
11 // Update timestamp if exists
12 if (body?.timestamp) {
13 body.timestamp = now - YEARS_TO_SUBTRACT + (callCount * TWO_HOURS);
14 }
15
16 $done({ body: JSON.stringify(body) });
17} catch (error) {
18 $done({});
19}
fix.js Raw
1try {
2 let body = JSON.parse($response.body);
3 const secondsToSubtract = 60 * 60 * 24 * 18200; // ~49.86 năm
4 const now = Math.floor(Date.now() / 1000);
5
6 if (body?.timestamp) {
7 body.timestamp = Number(now ?? body.timestamp) - secondsToSubtract;
8 }
9 $done({ body: JSON.stringify(body) });
10} catch (e) {
11 $done({});
12}
now.js Raw
1try {
2 let body = JSON.parse($response.body);
3
4 // Lấy timestamp hiện tại theo giờ hệ thống (UTC, tính theo giây)
5const now = Math.floor(Date.now() / 1000);
6
7 if (body?.timestamp) {
8 body.now = now;
9 body.timestamp = now;
10 }
11
12 $done({ body: JSON.stringify(body) });
13} catch (e) {
14 $done({});
15}
timezone.module Raw
1#!name=Timezone
2#!homepage=https://f97.xyz
3#!author=f97
4#!desc=Adjust TimezoneDB timestamp by subtracting ~50 years
5
6[Script]
7TimezoneDB=type=http-response,pattern=timezonedb,requires-body=1,script-path=https://demo.opengist.io/f97/cfa7470912c74cae8834bbd590f86666/raw/HEAD/count.js
8
9[MITM]
10hostname=%APPEND% api.timezonedb.com