nginx 1.26.2
tcp/80
nginx
tcp/443
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43340c51c6930c093d70a6a2f3e498b2bbb7725ef4
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels/{label_id}
DELETE /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags/{tag_name}
GET /audit-logs
GET /configurations
GET /export/cve/download/{execution_id}
GET /export/cve/execution/{execution_id}
GET /export/cve/executions
GET /health
GET /icons/{digest}
GET /internalconfig
GET /jobservice/jobs/{job_id}/log
GET /jobservice/pools
GET /jobservice/pools/{pool_id}/workers
GET /jobservice/queues
GET /labels
GET /labels/{label_id}
GET /ldap/groups/search
GET /ldap/users/search
GET /p2p/preheat/instances
GET /p2p/preheat/instances/{preheat_instance_name}
GET /p2p/preheat/providers
GET /permissions
GET /ping
GET /projects
GET /projects/{project_name_or_id}
GET /projects/{project_name_or_id}/_deletable
GET /projects/{project_name_or_id}/artifacts
GET /projects/{project_name_or_id}/immutabletagrules
GET /projects/{project_name_or_id}/members
GET /projects/{project_name_or_id}/members/{mid}
GET /projects/{project_name_or_id}/metadatas/
GET /projects/{project_name_or_id}/metadatas/{meta_name}
GET /projects/{project_name_or_id}/robots
GET /projects/{project_name_or_id}/robots/{robot_id}
GET /projects/{project_name_or_id}/scanner
GET /projects/{project_name_or_id}/scanner/candidates
GET /projects/{project_name_or_id}/summary
GET /projects/{project_name_or_id}/webhook/events
GET /projects/{project_name_or_id}/webhook/jobs
GET /projects/{project_name_or_id}/webhook/lasttrigger
GET /projects/{project_name_or_id}/webhook/policies
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions/{execution_id}/tasks
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions/{execution_id}/tasks/{task_id}/log
GET /projects/{project_name}/logs
GET /projects/{project_name}/preheat/policies
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}/tasks
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}/tasks/{task_id}/logs
GET /projects/{project_name}/preheat/providers
GET /projects/{project_name}/repositories
GET /projects/{project_name}/repositories/{repository_name}
GET /projects/{project_name}/repositories/{repository_name}/artifacts
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/accessories
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/additions/vulnerabilities
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/additions/{addition}
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/{report_id}/log
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags
GET /quotas
GET /quotas/{id}
GET /registries
GET /registries/{id}
GET /registries/{id}/info
GET /replication/adapterinfos
GET /replication/adapters
GET /replication/executions
GET /replication/executions/{id}
GET /replication/executions/{id}/tasks
GET /replication/executions/{id}/tasks/{task_id}/log
GET /replication/policies
GET /replication/policies/{id}
GET /repositories
GET /retentions/metadatas
GET /retentions/{id}
GET /retentions/{id}/executions
GET /retentions/{id}/executions/{eid}/tasks
GET /retentions/{id}/executions/{eid}/tasks/{tid}
GET /robots
GET /robots/{robot_id}
GET /scanners
GET /scanners/{registration_id}
GET /scanners/{registration_id}/metadata
GET /scans/all/metrics
GET /scans/schedule/metrics
GET /schedules
GET /schedules/{job_type}/paused
GET /search
GET /security/summary
GET /security/vul
GET /statistics
GET /system/CVEAllowlist
GET /system/gc
GET /system/gc/schedule
GET /system/gc/{gc_id}
GET /system/gc/{gc_id}/log
GET /system/purgeaudit
GET /system/purgeaudit/schedule
GET /system/purgeaudit/{purge_id}
GET /system/purgeaudit/{purge_id}/log
GET /system/scanAll/schedule
GET /systeminfo
GET /systeminfo/getcert
GET /systeminfo/volumes
GET /usergroups
GET /usergroups/search
GET /usergroups/{group_id}
GET /users
GET /users/current
GET /users/current/permissions
GET /users/search
GET /users/{user_id}
PATCH /retentions/{id}/executions/{eid}
POST /export/cve
POST /ldap/ping
POST /ldap/users/import
POST /p2p/preheat/instances/ping
POST /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels
POST /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan
POST /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/stop
POST /registries/ping
POST /retentions
POST /scanners/ping
POST /system/oidc/ping
POST /system/scanAll/stop
PUT /jobservice/jobs/{job_id}
PUT /jobservice/queues/{job_type}
PUT /projects/{project_name_or_id}/immutabletagrules/{immutable_rule_id}
PUT /users/{user_id}/cli_secret
PUT /users/{user_id}/password
PUT /users/{user_id}/sysadmin
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43340c51c6930c093d70a6a2f3e498b2bbb7725ef4
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels/{label_id}
DELETE /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags/{tag_name}
GET /audit-logs
GET /configurations
GET /export/cve/download/{execution_id}
GET /export/cve/execution/{execution_id}
GET /export/cve/executions
GET /health
GET /icons/{digest}
GET /internalconfig
GET /jobservice/jobs/{job_id}/log
GET /jobservice/pools
GET /jobservice/pools/{pool_id}/workers
GET /jobservice/queues
GET /labels
GET /labels/{label_id}
GET /ldap/groups/search
GET /ldap/users/search
GET /p2p/preheat/instances
GET /p2p/preheat/instances/{preheat_instance_name}
GET /p2p/preheat/providers
GET /permissions
GET /ping
GET /projects
GET /projects/{project_name_or_id}
GET /projects/{project_name_or_id}/_deletable
GET /projects/{project_name_or_id}/artifacts
GET /projects/{project_name_or_id}/immutabletagrules
GET /projects/{project_name_or_id}/members
GET /projects/{project_name_or_id}/members/{mid}
GET /projects/{project_name_or_id}/metadatas/
GET /projects/{project_name_or_id}/metadatas/{meta_name}
GET /projects/{project_name_or_id}/robots
GET /projects/{project_name_or_id}/robots/{robot_id}
GET /projects/{project_name_or_id}/scanner
GET /projects/{project_name_or_id}/scanner/candidates
GET /projects/{project_name_or_id}/summary
GET /projects/{project_name_or_id}/webhook/events
GET /projects/{project_name_or_id}/webhook/jobs
GET /projects/{project_name_or_id}/webhook/lasttrigger
GET /projects/{project_name_or_id}/webhook/policies
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions/{execution_id}/tasks
GET /projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions/{execution_id}/tasks/{task_id}/log
GET /projects/{project_name}/logs
GET /projects/{project_name}/preheat/policies
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}/tasks
GET /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}/tasks/{task_id}/logs
GET /projects/{project_name}/preheat/providers
GET /projects/{project_name}/repositories
GET /projects/{project_name}/repositories/{repository_name}
GET /projects/{project_name}/repositories/{repository_name}/artifacts
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/accessories
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/additions/vulnerabilities
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/additions/{addition}
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/{report_id}/log
GET /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags
GET /quotas
GET /quotas/{id}
GET /registries
GET /registries/{id}
GET /registries/{id}/info
GET /replication/adapterinfos
GET /replication/adapters
GET /replication/executions
GET /replication/executions/{id}
GET /replication/executions/{id}/tasks
GET /replication/executions/{id}/tasks/{task_id}/log
GET /replication/policies
GET /replication/policies/{id}
GET /repositories
GET /retentions/metadatas
GET /retentions/{id}
GET /retentions/{id}/executions
GET /retentions/{id}/executions/{eid}/tasks
GET /retentions/{id}/executions/{eid}/tasks/{tid}
GET /robots
GET /robots/{robot_id}
GET /scanners
GET /scanners/{registration_id}
GET /scanners/{registration_id}/metadata
GET /scans/all/metrics
GET /scans/schedule/metrics
GET /schedules
GET /schedules/{job_type}/paused
GET /search
GET /security/summary
GET /security/vul
GET /statistics
GET /system/CVEAllowlist
GET /system/gc
GET /system/gc/schedule
GET /system/gc/{gc_id}
GET /system/gc/{gc_id}/log
GET /system/purgeaudit
GET /system/purgeaudit/schedule
GET /system/purgeaudit/{purge_id}
GET /system/purgeaudit/{purge_id}/log
GET /system/scanAll/schedule
GET /systeminfo
GET /systeminfo/getcert
GET /systeminfo/volumes
GET /usergroups
GET /usergroups/search
GET /usergroups/{group_id}
GET /users
GET /users/current
GET /users/current/permissions
GET /users/search
GET /users/{user_id}
PATCH /retentions/{id}/executions/{eid}
POST /export/cve
POST /ldap/ping
POST /ldap/users/import
POST /p2p/preheat/instances/ping
POST /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels
POST /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan
POST /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/stop
POST /registries/ping
POST /retentions
POST /scanners/ping
POST /system/oidc/ping
POST /system/scanAll/stop
PUT /jobservice/jobs/{job_id}
PUT /jobservice/queues/{job_type}
PUT /projects/{project_name_or_id}/immutabletagrules/{immutable_rule_id}
PUT /users/{user_id}/cli_secret
PUT /users/{user_id}/password
PUT /users/{user_id}/sysadmin
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a65228847e694
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://stash.switchmedia.asia/scm/node/master.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
Severity: medium
Fingerprint: 2580fa947e78dd08e645819d1cc87ef2e1cde1dc630c8244ad971a26fc5f3d25
HTTP/1.1 200 OK Content-Type: text/html Accept-Ranges: bytes ETag: "1968961589" Last-Modified: Mon, 16 Dec 2019 07:38:33 GMT Content-Length: 51 Connection: close Date: Sun, 07 May 2023 03:20:55 GMT Server: lighttpd/1.4.36 Set-Cookie: DFLT_SESSIONID=B; path=/ Visit http://switchmedia.asia for corporate details[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://stash.switchmedia.asia/scm/node/master.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
Open service 103.75.202.162:80 · harbor.switch.tv
2026-01-12 05:30
HTTP/1.1 308 Permanent Redirect Server: nginx/1.26.2 Date: Mon, 12 Jan 2026 05:30:47 GMT Content-Type: text/html Content-Length: 171 Connection: close Location: https://harbor.switch.tv:443/ Page title: 308 Permanent Redirect <html> <head><title>308 Permanent Redirect</title></head> <body> <center><h1>308 Permanent Redirect</h1></center> <hr><center>nginx/1.26.2</center> </body> </html>
Open service 103.75.202.162:443 · harbor.switch.tv
2026-01-12 05:30
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 12 Jan 2026 05:30:47 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443 · harbor.switch.tv
2026-01-10 00:16
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 10 Jan 2026 00:16:57 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443
2026-01-08 12:29
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 08 Jan 2026 12:29:55 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443 · harbor.switch.tv
2026-01-02 20:03
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 02 Jan 2026 20:03:13 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443
2026-01-01 13:13
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 01 Jan 2026 13:13:01 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443
2025-12-30 00:42
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 30 Dec 2025 00:42:14 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443
2025-12-24 00:15
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 24 Dec 2025 00:15:56 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443 · harbor.switch.tv
2025-12-23 08:47
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 23 Dec 2025 08:47:35 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443
2025-12-22 01:59
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 22 Dec 2025 01:59:28 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443 · harbor.switch.tv
2025-12-21 06:27
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 21 Dec 2025 06:27:18 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443
2025-12-19 22:25
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 19 Dec 2025 22:25:31 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>
Open service 103.75.202.162:443 · harbor.switch.tv
2025-12-19 02:29
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 19 Dec 2025 02:29:54 GMT
Content-Type: text/html
Content-Length: 785
Connection: close
Last-Modified: Tue, 05 Nov 2024 07:09:38 GMT
ETag: "6729c4b2-311"
Cache-Control: no-store, no-cache, must-revalidate
Accept-Ranges: bytes
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
X-Frame-Options: DENY
Content-Security-Policy: frame-ancestors 'none'
Page title: Harbor
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Harbor</title>
<base href="/"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="icon" type="image/x-icon" href="favicon.ico?v=2"/>
<link rel="stylesheet" href="styles.ac415221c96d2bef.css"></head>
<body>
<harbor-app>
<div class="spinner spinner-lg app-loading app-loading-fixed">
Loading...
</div>
</harbor-app>
<script src="runtime.91e26be486c2d932.js" type="module"></script><script src="polyfills.d87db3092ff69ed9.js" type="module"></script><script src="scripts.3846d86d42cdb753.js" defer></script><script src="main.0bf54bbf8743aac2.js" type="module"></script></body>
</html>