Skip to content

Commit c03f633

Browse files
committed
finally v2- server check finally works
1 parent 2a8ce3c commit c03f633

2 files changed

Lines changed: 20 additions & 17 deletions

File tree

src/lib/state.ts

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const SessionState = {
1616
dynamoDBClient: null as DynamoDBClient | null,
1717
s3Client: null as S3Client | null,
1818
devMode: (browser && window.location.hostname === "localhost"),
19-
serverResponses: [] as { server: Server; success: boolean; time: number, level: number, reason: string }[],
19+
serverResponses: [] as { server: Server; success: boolean; time: number, reason: string }[],
2020
plays: 0,
2121
user: null as null | { name: string; email: string; tokens: any } | undefined,
2222
loggedIn: false
@@ -55,7 +55,7 @@ function createState(initial: StateType): StateType {
5555
}
5656

5757
export const State = createState({
58-
version: "1.0.0",
58+
version: "2.0.0.2025.09.09",
5959
servers: Servers,
6060
aHosts: AHosts,
6161
currentServer: Servers[0],
@@ -118,16 +118,16 @@ export function loadState(state: StateType): StateType {
118118
async function testServer(server: Server): Promise<void> {
119119
if (!browser) return;
120120
const start = performance.now();
121-
let level = 0;
122121
const response = await fetch(`https://${server.hostname}/blocked_res.txt`);
123122
// Increment difficulty of test to track where they fail
124-
level++;
125123
let end = start;
126124
if (response) end = performance.now();
127125

128126
if (response.ok && response.status === 200) {
127+
end = performance.now();
129128
const text = await response.text();
130129
if (text.includes("===NOT_BLOCKED===") && text.includes("SOmehtin23\"")) {
130+
end = performance.now();
131131
// Further verify by trying to embed the txt in an iframe
132132
const iframe = document.createElement('iframe');
133133
iframe.style.display = 'none';
@@ -140,37 +140,40 @@ async function testServer(server: Server): Promise<void> {
140140
// Verify the message is from the expected origin
141141
if (event.origin !== `https://${server.hostname}`) return;
142142
const data = event.data;
143+
if (data == "INITIALIZED") {
144+
if (!iframe.contentWindow) {
145+
SessionState.serverResponses.push({ server, success: false, time: end - start, reason: "Embed window not found" });
146+
resolve();
147+
return;
148+
}
149+
iframe.contentWindow.postMessage("CHECK_AVAILABILITY", `https://${server.hostname}`);
150+
return;
151+
}
143152
if (data == "===NOT_BLOCKED===") {
144-
SessionState.serverResponses.push({ server, success: true, time: end - start, level, reason: "Embed/Response success" });
153+
SessionState.serverResponses.push({ server, success: true, time: end - start, reason: "Embed/Response success" });
145154
} else {
146-
SessionState.serverResponses.push({ server, success: false, time: end - start, level, reason: "Incorrect embed challenge response" });
155+
SessionState.serverResponses.push({ server, success: false, time: end - start, reason: "Incorrect embed challenge response " + data });
147156
}
148157

149158
window.removeEventListener("message", messageHandler);
150-
if (!iframe.contentWindow) {
151-
SessionState.serverResponses.push({ server, success: false, time: end - start, level, reason: "Embed window not found" });
152-
resolve();
153-
return;
154-
}
155-
iframe.contentWindow.postMessage("CHECK_AVAILABILITY", `https://${server.hostname}`);
156159
resolve();
157160
};
158161
window.addEventListener("message", messageHandler);
159162
}),
160163
new Promise<void>((resolve) => {
161164
setTimeout(() => {
162-
SessionState.serverResponses.push({ server, success: false, time: end - start, level, reason: `Timeout waiting for Iframe` });
165+
SessionState.serverResponses.push({ server, success: false, time: end - start, reason: `Timeout waiting for Iframe` });
163166
resolve();
164167
}, 3000);
165168
})
166169
]);
167170
document.body.removeChild(iframe);
168171

169172
} else {
170-
SessionState.serverResponses.push({ server, success: false, time: end - start, level, reason: "Content mismatch: " + text });
173+
SessionState.serverResponses.push({ server, success: false, time: end - start, reason: "Content mismatch: " + text });
171174
}
172175
} else {
173-
SessionState.serverResponses.push({ server, success: false, time: end - start, level, reason: `Bad status: ${response.status}` });
176+
SessionState.serverResponses.push({ server, success: false, time: end - start, reason: `Bad status: ${response.status}` });
174177
}
175178
}
176179

src/routes/+page.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
<td>{r.server.name}</td>
9494
<td>{r.success ? "Success" : "Failed"}</td>
9595
<td>{r.time.toFixed(2)}</td>
96-
<td>{r.level}- {r.reason}</td>
96+
<td>{r.reason}</td>
9797
</tr>
9898
{/each}
9999
</tbody>
@@ -160,5 +160,5 @@
160160
text-align: left;
161161
font-family: "Courier New", Courier, monospace;
162162
}
163-
163+
164164
</style>

0 commit comments

Comments
 (0)