@@ -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
5757export 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 {
118118async 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
0 commit comments