cloudflare
tcp/443 tcp/80 tcp/8443
Open service 2606:4700:3034::6815:5bf2:8443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=532,cfOrigin;dur=963
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QE1eStcz2HOv9GP8IN0Lp9N7jyam%2B9KUJnS%2Bc0uiKWutUQFhVud3dY6mzNdsWFzpnCqTwdj1FKy6errJgfgXZtPEUlNgD2N%2FxH%2FjAUinA%2BY2JeWJRi4FEF4qtQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392fdaac6419e-BOM
alt-svc: h3=":8443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3034::6815:5bf2:443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=93
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=xM9mwODVg3BLDfRk5dhKreujsdvTRIIL6KcTrEkoVZrKH1uXfxZyjNvtUQMTxPin10yGp5AGHJMLWzXO9XZl7JYNBwGr8UxffyBFPXB2r5L56Al7CwQBuvKHww%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392f7697aaaad-YYZ
alt-svc: h3=":443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.182.41:80 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 301 Moved Permanently
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Length: 0
Connection: close
Location: https://hkjsa.cheung.cx/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=v6sImGMcG1%2BTEK0L3h1GvTzXFzek7dJJUDx7oSYGTKoxDzZ9G4HrIJ7OwlWp8CEg9v%2FebeZQMPmeAqfeJa5Wv2iexOBnDMt0%2BHm9vno%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=17,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9bc392f70f711a38-EWR
Open service 172.67.182.41:8443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=44,cfOrigin;dur=51
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=fMwJbkSGtpBhK8ivO9ZQlYjcCXXtVPIgo2RTP%2F8B8kGAKGkrbsRHCbOA6P6eBCtRU2qSN8FdT807m7ywZ8LSdkn%2F%2BzkEJJaJX4rpkABNyQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392f78af21986-SJC
alt-svc: h3=":8443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3034::6815:5bf2:80 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 301 Moved Permanently
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Length: 0
Connection: close
Location: https://hkjsa.cheung.cx/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=bC8JK%2FaxAzzDelX5wMWbscBAqiLSG00mnyUpefzf3B5lb5jA2fh5TEDG%2FGDqV0G3SB33wPTgtTCmO9Ot79iQaCfJApCWHKJLbHJsE2KsdHeEExisMVn9rJ7zqQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=10,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9bc392f70efddcc1-FRA
Open service 104.21.91.242:443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=19,cfOrigin;dur=44
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=QswqgxAL2zbbVCyfEOXJa8y42t8N6Y4A2LKw5Rw0xZ%2F0KxqeywOJ4%2FncBvQM0n9hJ%2BIiQPGgY3cZ6GMCDII5bSRlssxb6gmaBJU2nIWfCg%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392f76c596720-AMS
alt-svc: h3=":443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.91.242:80 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 301 Moved Permanently
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Length: 0
Connection: close
Location: https://hkjsa.cheung.cx/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=EP1fWq62vWNyEHqmioLxF00e6a4lvcpaa4cr11uaDa3fbPXSBtQawZfJ50cJ1C58X0ZeioJ08%2BuFAbVFCTD%2F12RRHc7xjJT2BEtUHzM%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=19,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9bc392f6ec5fef31-LHR
Open service 172.67.182.41:443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=32
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=lPgljKupovRD%2FZcR%2Bb8v4K3XdO2KK8fKb9AgF%2BXOBhyquUoz%2FpSZClt9w8%2B4gzb9ww6eKWqs7gdP5fgjS4wpZFAI7n1skQMkwzWofn3ftQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392f81801dc9c-FRA
alt-svc: h3=":443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3033::ac43:b629:443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=24,cfOrigin;dur=38
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=SjZC6Wr1y4sqP3Tpfx5e7xtBFXHECKVbGaIAzmdO3%2FAvki5a63LDLZruqAGkGZOyjK4bbrcAZBLKg5lJwZkUmiD6zv4m0iD1WOKoFNhmKwnYmi6aDC4DlujYpA%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392f81aab9bac-FRA
alt-svc: h3=":443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3033::ac43:b629:8443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=22,cfOrigin;dur=32
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=YM2tYnOQXKtNlXaRrVdHqp%2BOQkfHScJQbhqd95leZaNdYiegKufXnB2vE8g%2BDilFnb0fWEnqk85gk576MZXnET8TFTpfpGStlzAmsk0dBqAEanDDUCuB9ssC6A%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392f809c01fad-FRA
alt-svc: h3=":8443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3033::ac43:b629:80 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 301 Moved Permanently
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Length: 0
Connection: close
Location: https://hkjsa.cheung.cx/
Speculation-Rules: "/cdn-cgi/speculation"
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=%2Bo3f62jWYp%2BW3DiRRclymlP45OrdkdAy1iu7Cud7lHH%2Fr8QPiUjJc0gMcqaZMkGZU%2Fz%2BcOMlcuuVMCjDS9So4dX8vONWjsy3yjgVMk%2FORNNe22YQvD1N%2BL1vyQ%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server-Timing: cfEdge;dur=20,cfOrigin;dur=0
Server: cloudflare
CF-RAY: 9bc392f68c0c78ab-FRA
Open service 104.21.91.242:8443 · hkjsa.cheung.cx
2026-01-11 10:01
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 10:01:39 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=0, must-revalidate
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=21,cfOrigin;dur=51
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
Vary: accept-encoding
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1lCVG5wVTMGvDl%2FrUnNAHiIPl8pF90jtM6uL1mP8sBEA862UBy7cJSVKDm%2FcEs7odagFY58%2BDA6TcCbEo30wKRdU%2FAhri60%2FZPkP0rFSPw%3D%3D"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
Speculation-Rules: "/cdn-cgi/speculation"
cf-cache-status: DYNAMIC
CF-RAY: 9bc392f81ad89744-FRA
alt-svc: h3=":8443"; ma=86400
Page title: JSA Tournament Selector
<!DOCTYPE htm
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>JSA Tournament Selector</title>
<link rel="stylesheet" href="live-styles.css">
</head>
<body>
<div id="content-container">
<div id="welcome">
<h1>Welcome to the Squash Tournament Selector</h1>
<p>Please use the menu below to select a tournament.</p>
</div>
<div id="tournament-view" style="display:none;">
<h1 id="pageTitle">JSA Tournament Draw System</h1>
<div id="status" class="status">Idle</div>
<form id="controls">
<label class="live-toggle">
Match Date
<select id="filterDate"></select>
</label>
<label class="autocomplete live-toggle">
Player Name
<div class="autocomplete-wrapper">
<img src="racketicon.jpg" alt="Racket Icon" class="search-icon"/>
<input type="text" id="filterPlayer" placeholder="Find JSA Player here…" autocomplete="off"/>
<span id="clearPlayer" title="Clear">×</span>
</div>
<div id="playerSuggestions" class="autocomplete-list"></div>
</label>
<div class="results" id="results"></div>
<button type="button" id="goBtn">Fetch & Filter</button>
<button type="button" id="goSourceBtn" style="display:none;">Go JSA iDraws</button>
<button type="button" id="updateBtn" style="display:none;">Update Now</button>
<button type="button" id="liveBtn">Go Live</button>
<button type="button" id="clearCacheBtn" style="display:none;">Clear Cache</button>
</form>
</div>
</div>
<div class="bottom-menu">
<select id="gameSelector">
<option value="">Please select a tournament</option>
</select>
</div>
<script type="module" src="live-scripts.js"></script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0fa076dc683e4c48ac55f74024973c30","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>