Vercel
tcp/443 tcp/80
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: 5733ddf49ff49cd1f5e22fb40028a01d5f1e0696f94a8a819e2cb132a1e5c079
Public Swagger UI/API detected at path: /api/swagger.json - sample paths:
DELETE /courses/{course_id}/delete/
DELETE /courses/{course_id}/delete/admin/
DELETE /payments/delete/{payment_id}/
DELETE /payments/teacher/delete/{payroll_id}/
DELETE /upload/delete-file/
GET /admin/online-time-billing/
GET /admin/student/
GET /admin/students/
GET /admin/teacher/
GET /admin/teachers/
GET /auth/ably/
GET /auth/agency-settings/
GET /auth/email-verification-check/
GET /auth/google/callback/
GET /auth/google/login/
GET /auth/logo-domain
GET /auth/stripe-details/
GET /auth/student/invite
GET /auth/teacher/invite
GET /auth/usage/
GET /auth/user-info/
GET /auth/wechat/callback/
GET /auth/wechat/login/
GET /bbb/delete-recording/
GET /bbb/info/
GET /bbb/is-meeting-running/{course_id}/
GET /bbb/recordings/
GET /collectibles/leaderboard/
GET /collectibles/summary/
GET /courses/branding-endpoint/
GET /courses/list/
GET /courses/list/admin
GET /courses/list/minimal/
GET /courses/subjects/
GET /courses/{course_id}/
GET /courses/{course_id}/admin/
GET /courses/{course_id}/lessons/
GET /courses/{course_id}/students/
GET /homework/
GET /homework/feedback/
GET /homework/submission/
GET /lessons/check-existing/{course_id}/
GET /lessons/co-browser/
GET /lessons/co-browser/details/
GET /lessons/history
GET /lessons/history/{course_id}/
GET /lessons/student
GET /lessons/student-review/
GET /lessons/teacher-review/
GET /lessons/teacher-review/submit/
GET /lessons/{lesson_id}/
GET /lessons/{lesson_id}/check-active-quiz/
GET /lessons/{lesson_id}/edit/
GET /lessons/{lesson_id}/leaderboard/
GET /lessons/{lesson_id}/quiz-session/{quiz_session_id}/status/
GET /lessons/{lesson_id}/reward-badge/list/
GET /lessons/{lesson_id}/reward-badge/list/{student_id}/
GET /lessons/{lesson_id}/reward-chest/
GET /lessons/{lesson_id}/students/
GET /levels/
GET /notifications/
GET /payments/download-invoice/{payment_id}/
GET /payments/list/
GET /payments/list/v2/
GET /payments/manage-account-link-stripe/
GET /payments/onboarding-link-stripe/
GET /payments/redirect-payment/{payment_id}/
GET /payments/redirect-subscription/{plan_id}/
GET /payments/student
GET /payments/student/credit-balance/
GET /payments/student/credit-history/
GET /payments/summary/{payment_plan_id}/
GET /payments/teacher/list/
GET /payments/teacher/{teacher_id}/
GET /pets/
GET /petshop/collectibles/
GET /petshop/collectibles/{student_id}/
GET /petshop/get-student-pets/{student_id}/
GET /profiles/last-lesson-xp/
GET /quizzes/
GET /quizzes/folder/{folder_id}/
GET /quizzes/folders/
GET /quizzes/{quiz_id}/
GET /quizzes/{quiz_id}/questions/
GET /quizzes/{quiz_id}/questions/{question_id}/
GET /quizzes/{quiz_id}/questions/{question_id}/answers/
GET /quizzes/{quiz_id}/questions/{question_id}/answers/{answer_id}/
GET /scheduling/
GET /scheduling/availability/
GET /scheduling/calendar/
GET /scheduling/lesson/
GET /scheduling/reschedule/
GET /stripe/renewsubscription/
GET /stripe/top-up/
GET /stripe/top-up/purchased/
GET /upload/course-material/
GET /upload/lesson-recording/
GET /upload/presigned-url/
GET /zoom-auth/
GET /zoom-auth/ably/
GET /zoom-auth/callback
GET /zoom-auth/user-id/
GET /zoom-auth/user/
GET /zoom/course/{course_id}/start/
GET /zoom/leaderboard/
GET /zoom/lessons/admin
GET /zoom/lessons/student
GET /zoom/lessons/teacher
GET /zoom/reward
PATCH /courses/{course_id}/edit/
PATCH /courses/{course_id}/edit/admin/
PATCH /lessons/{lesson_id}/quiz-session/{quiz_session_id}/next-question/
PATCH /payments/edit/
PATCH /payments/mark-as-paid/{payment_id}/
PATCH /payments/student/{student_details_id}/course/{course_id}/lesson-allocation/
PATCH /payments/teacher/edit/{payroll_id}/
PATCH /quizzes/{quiz_id}/questions/change-order/
PATCH /quizzes/{quiz_id}/questions/switch/
PATCH /quizzes/{quiz_id}/questions/{question_id}/answers/switch/
POST /admin/enroll/student/
POST /admin/enroll/teacher/
POST /auth/acknowledge-level/
POST /auth/add-students/
POST /auth/admin-regenerate-email-token/
POST /auth/jwt/token/
POST /auth/jwt/token/refresh/
POST /auth/language/
POST /auth/logout/
POST /auth/onboarding/
POST /auth/read-pet-letter/
POST /auth/regenerate-email-token/
POST /auth/request-password-reset/
POST /auth/reset-password/
POST /auth/signup/
POST /auth/student/
POST /auth/teacher/
POST /auth/timezone/
POST /auth/verify-email-token/
POST /auth/verify-password-reset-token/
POST /bbb/analytics-token/
POST /bbb/create/
POST /bbb/end/
POST /bbb/insert-document/{course_id}/
POST /bbb/join/
POST /bbb/recording-info/
POST /bbb/webhook/
POST /collectibles/assign/
POST /collectibles/use/
POST /courses/create/
POST /courses/create/admin/
POST /courses/enroll/
POST /courses/{course_id}/archive/
POST /courses/{course_id}/invite/mail/
POST /courses/{course_id}/student/remove/
POST /courses/{course_id}/students/xp-levels/
POST /courses/{course_id}/unarchive/
POST /homework/feedback/mark-seen/
POST /homework/{assignment_id}/archive/
POST /homework/{assignment_id}/unarchive/
POST /lessons/convert-xp-to-coin/{student_id}/{course_id}/
POST /lessons/create/
POST /lessons/finish/
POST /lessons/mark-finished/
POST /lessons/submit-feedback/
POST /lessons/{lesson_id}/add-student/
POST /lessons/{lesson_id}/add-teacher/
POST /lessons/{lesson_id}/change-name/
POST /lessons/{lesson_id}/end-understanding-check/
POST /lessons/{lesson_id}/end/
POST /lessons/{lesson_id}/inactivity/
POST /lessons/{lesson_id}/launch-podium/
POST /lessons/{lesson_id}/quiz-session/{quiz_session_id}/cancel-quiz/
POST /lessons/{lesson_id}/quiz-session/{quiz_session_id}/edit-response-correctness/
POST /lessons/{lesson_id}/quiz-session/{quiz_session_id}/end-quiz/
POST /lessons/{lesson_id}/quiz-session/{quiz_session_id}/participants/
POST /lessons/{lesson_id}/quiz-session/{quiz_session_id}/show-quiz-results/
POST /lessons/{lesson_id}/quiz-session/{quiz_session_id}/start-quiz/
POST /lessons/{lesson_id}/quiz-session/{quiz_session_id}/submit-answer/
POST /lessons/{lesson_id}/quiz/{quiz_id}/launch/
POST /lessons/{lesson_id}/reward-badge/end/
POST /lessons/{lesson_id}/reward-badge/launch/
POST /lessons/{lesson_id}/reward-badge/submit/
POST /lessons/{lesson_id}/start-understanding-check/
POST /lessons/{lesson_id}/submit-understanding-check/
POST /levels/listPetsLevel/
POST /levels/listStudentsLevel/
POST /notifications/mark-read/
POST /payments/approve-payout/
POST /payments/billing-cycle/{billing_cycle_id}/close/
POST /payments/billing/close-event/
POST /payments/billing/open-tick-event/
POST /payments/create/v2/
POST /payments/plan/cancel/{plan_id}/
POST /payments/refund/{payment_id}/
POST /payments/send-reminder/
POST /payments/setup-stripe-academy/
POST /payments/setup-stripe/
POST /payments/stripe/account/
POST /payments/stripe/connect/
POST /payments/student/credit-transfer/
POST /payments/teacher/create-stripe-account/
POST /payments/teacher/create/
POST /pets/revive/
POST /petshop/buy-collectible/{student_id}/
POST /petshop/buy-pet/{student_id}/
POST /petshop/buy-potion/{student_id}/
POST /petshop/convert-xp-to-coin/{student_id}/
POST /petshop/remove-accessory/{student_id}/
POST /petshop/select-pet/{student_id}/
POST /petshop/use-collectible/{student_id}/
POST /profiles/attendance/
POST /profiles/performance-graph/
POST /profiles/won-badges/
POST /rewards/
POST /rewards/leaderboard-reward/
POST /scheduling/reminder/
POST /scheduling/reschedule/{reschedule_request_id}/approve/
POST /scheduling/reschedule/{reschedule_request_id}/reject/
POST /scheduling/reschedule/{reschedule_request_id}/suggest/
POST /scheduling/reschedule/{scheduled_lesson_id}/admin-reschedule/
POST /stripe/stripe/
POST /upload/course-material/copy/
POST /upload/course-material/remove/
POST /upload/homework-attachment/
POST /upload/logo/
POST /upload/user-logo/
POST /zoom-auth/auth/
POST /zoom-auth/login/
POST /zoom-auth/logout/
POST /zoom-auth/return
POST /zoom/lesson/participation
POST /zoom/recording/upload-complete/
POST /zoom/webhook/
PUT /admin/student/email/
Open service 66.33.60.35:443 · staging.funclass.app
2026-01-10 02:08
HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Age: 2 Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Length: 2152 Content-Security-Policy: frame-ancestors 'self' Content-Type: text/html; charset=utf-8 Date: Sat, 10 Jan 2026 02:08:58 GMT Etag: "1569e6d914442800899e58610a0f8458" Last-Modified: Sat, 10 Jan 2026 02:08:56 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Cache: HIT X-Vercel-Id: sin1::5f6rz-1768010938441-8df7d9abd925 Connection: close Page title: Funclass <!DOCTYPE html><html><head><title>Funclass</title><meta charset=utf-8><meta name=description content="A gamified virtual classroom tailored for K12 online teaching"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAMwSURBVEhLtVVLSFVRFF3nnvue5qfsR/+SEtPoRxZ9Bo1qJpGToASDggZNokE1MssCISKoQQSVRNCoSRQ0yWigo4oIJYoksMiSPpTl571377mndc655nupqGUL3rv37LPPXnuvve+9It2y914iL1EdpkNMJRL5PsJU0Cx0a50OUgwu4p0pgi8FMqHq9wKT+V8F10CU4SWK1yMhIAa8+H5y0IrBA4iCRcPrMTBJApZqsmZwWb4f/tZzkBUHAJXmHisaBZMgYPBwgCeSkOuOwVtWbe+9xTvhrdjDvVTsl4sJEjB48BPInwN/YwO8eVtiu4OYUcZ/U8HIKiZGEPRClKyEv6mRwcpjo4P+2g714oqtxnHkNn0cAp7IMPi8bcz8NJs6P7Y7RN2PED47ywR+mBXd2WzBkOGgcyDGJjDOlMUr3QV//QkO9rR4wyF6cxuq4yLv3IyLomVM4hT8zU0QC7fHjR+VwExKYB1kxUHIykMuqyGQWL24DPX6piP1fPpHnKo6iJmVJFoKf9Vh9ms2fYM/CRhcsTwGlGuPMvvdsT1G0EdJmhC9uw8ki+lnsqeM5mKIhuBJ2vjTOpuAXgyAZAn8DfXwFrDMLOj+DwifnIT+/JgvmiKns+IzYcdTQHXegu57C536AvXqOjD4iURJiEzLPjdb1FtMX84ZPw5RuNCahqC/v0T4/DyQ/grIfCuNLKu1TY+6HyL62OoczZ6XsIPh5xUgCKPPrgKVgjd3I5t0ZkRwczh82shD3xnYZS5La/iA7YCYtRpyzRGru5XLDIaROGsgPFOmKFwCWVXvdM1C1HUHqv2COyjNITvobOAsu/8biUI6xyNqtM+CZ5g1WXX6W2wi2Bz18iq1bGbgPFe2DU5Q16jrru2JmbTofQt0b6eTZxSwB7UaYb97UqsaaOKy4xJ0Txszm+5KzwHXlBSJYgg2Ww/20MQJyh5lwnwPTA+Gm8xDVktmb6YBfoE1jwkjm/nZ6v5MYphgmJYl6r730APd4wc3MFqb988owbORW5fkAXto6pBL8B8gdFud1gG1nGII89FPqwGRebD3mpeQNSpUamgS/xlsi5+UXhToG78ASHkx1zPYxCYAAAAASUVORK5CYII="> <script type="module" crossorigin src="/assets/index.a683db94.js"></script> <link rel="stylesheet" href="/assets/index.047f252c.css"> </head><body><div id=q-app></div></body></html>
Open service 66.33.60.34:443 · staging.funclass.app
2026-01-07 15:50
HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Age: 1903353 Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Length: 2152 Content-Security-Policy: frame-ancestors 'self' Content-Type: text/html; charset=utf-8 Date: Wed, 07 Jan 2026 15:50:20 GMT Etag: "1569e6d914442800899e58610a0f8458" Last-Modified: Tue, 16 Dec 2025 15:07:46 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Cache: HIT X-Vercel-Id: iad1::8xhh8-1767801020289-5e59b196ffc2 Connection: close Page title: Funclass <!DOCTYPE html><html><head><title>Funclass</title><meta charset=utf-8><meta name=description content="A gamified virtual classroom tailored for K12 online teaching"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAMwSURBVEhLtVVLSFVRFF3nnvue5qfsR/+SEtPoRxZ9Bo1qJpGToASDggZNokE1MssCISKoQQSVRNCoSRQ0yWigo4oIJYoksMiSPpTl571377mndc655nupqGUL3rv37LPPXnuvve+9It2y914iL1EdpkNMJRL5PsJU0Cx0a50OUgwu4p0pgi8FMqHq9wKT+V8F10CU4SWK1yMhIAa8+H5y0IrBA4iCRcPrMTBJApZqsmZwWb4f/tZzkBUHAJXmHisaBZMgYPBwgCeSkOuOwVtWbe+9xTvhrdjDvVTsl4sJEjB48BPInwN/YwO8eVtiu4OYUcZ/U8HIKiZGEPRClKyEv6mRwcpjo4P+2g714oqtxnHkNn0cAp7IMPi8bcz8NJs6P7Y7RN2PED47ywR+mBXd2WzBkOGgcyDGJjDOlMUr3QV//QkO9rR4wyF6cxuq4yLv3IyLomVM4hT8zU0QC7fHjR+VwExKYB1kxUHIykMuqyGQWL24DPX6piP1fPpHnKo6iJmVJFoKf9Vh9ms2fYM/CRhcsTwGlGuPMvvdsT1G0EdJmhC9uw8ki+lnsqeM5mKIhuBJ2vjTOpuAXgyAZAn8DfXwFrDMLOj+DwifnIT+/JgvmiKns+IzYcdTQHXegu57C536AvXqOjD4iURJiEzLPjdb1FtMX84ZPw5RuNCahqC/v0T4/DyQ/grIfCuNLKu1TY+6HyL62OoczZ6XsIPh5xUgCKPPrgKVgjd3I5t0ZkRwczh82shD3xnYZS5La/iA7YCYtRpyzRGru5XLDIaROGsgPFOmKFwCWVXvdM1C1HUHqv2COyjNITvobOAsu/8biUI6xyNqtM+CZ5g1WXX6W2wi2Bz18iq1bGbgPFe2DU5Q16jrru2JmbTofQt0b6eTZxSwB7UaYb97UqsaaOKy4xJ0Txszm+5KzwHXlBSJYgg2Ww/20MQJyh5lwnwPTA+Gm8xDVktmb6YBfoE1jwkjm/nZ6v5MYphgmJYl6r730APd4wc3MFqb988owbORW5fkAXto6pBL8B8gdFud1gG1nGII89FPqwGRebD3mpeQNSpUamgS/xlsi5+UXhToG78ASHkx1zPYxCYAAAAASUVORK5CYII="> <script type="module" crossorigin src="/assets/index.a683db94.js"></script> <link rel="stylesheet" href="/assets/index.047f252c.css"> </head><body><div id=q-app></div></body></html>
Open service 76.76.21.164:80 · staging.funclass.app
2026-01-07 15:50
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://staging.funclass.app/ Refresh: 0;url=https://staging.funclass.app/ server: Vercel Redirecting...
Open service 76.76.21.164:443 · staging.funclass.app
2026-01-07 15:50
HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Age: 1903352 Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Length: 2152 Content-Security-Policy: frame-ancestors 'self' Content-Type: text/html; charset=utf-8 Date: Wed, 07 Jan 2026 15:50:19 GMT Etag: "1569e6d914442800899e58610a0f8458" Last-Modified: Tue, 16 Dec 2025 15:07:46 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Cache: HIT X-Vercel-Id: iad1::7s4sj-1767801019731-8d0f0b064fc8 Connection: close Page title: Funclass <!DOCTYPE html><html><head><title>Funclass</title><meta charset=utf-8><meta name=description content="A gamified virtual classroom tailored for K12 online teaching"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAMwSURBVEhLtVVLSFVRFF3nnvue5qfsR/+SEtPoRxZ9Bo1qJpGToASDggZNokE1MssCISKoQQSVRNCoSRQ0yWigo4oIJYoksMiSPpTl571377mndc655nupqGUL3rv37LPPXnuvve+9It2y914iL1EdpkNMJRL5PsJU0Cx0a50OUgwu4p0pgi8FMqHq9wKT+V8F10CU4SWK1yMhIAa8+H5y0IrBA4iCRcPrMTBJApZqsmZwWb4f/tZzkBUHAJXmHisaBZMgYPBwgCeSkOuOwVtWbe+9xTvhrdjDvVTsl4sJEjB48BPInwN/YwO8eVtiu4OYUcZ/U8HIKiZGEPRClKyEv6mRwcpjo4P+2g714oqtxnHkNn0cAp7IMPi8bcz8NJs6P7Y7RN2PED47ywR+mBXd2WzBkOGgcyDGJjDOlMUr3QV//QkO9rR4wyF6cxuq4yLv3IyLomVM4hT8zU0QC7fHjR+VwExKYB1kxUHIykMuqyGQWL24DPX6piP1fPpHnKo6iJmVJFoKf9Vh9ms2fYM/CRhcsTwGlGuPMvvdsT1G0EdJmhC9uw8ki+lnsqeM5mKIhuBJ2vjTOpuAXgyAZAn8DfXwFrDMLOj+DwifnIT+/JgvmiKns+IzYcdTQHXegu57C536AvXqOjD4iURJiEzLPjdb1FtMX84ZPw5RuNCahqC/v0T4/DyQ/grIfCuNLKu1TY+6HyL62OoczZ6XsIPh5xUgCKPPrgKVgjd3I5t0ZkRwczh82shD3xnYZS5La/iA7YCYtRpyzRGru5XLDIaROGsgPFOmKFwCWVXvdM1C1HUHqv2COyjNITvobOAsu/8biUI6xyNqtM+CZ5g1WXX6W2wi2Bz18iq1bGbgPFe2DU5Q16jrru2JmbTofQt0b6eTZxSwB7UaYb97UqsaaOKy4xJ0Txszm+5KzwHXlBSJYgg2Ww/20MQJyh5lwnwPTA+Gm8xDVktmb6YBfoE1jwkjm/nZ6v5MYphgmJYl6r730APd4wc3MFqb988owbORW5fkAXto6pBL8B8gdFud1gG1nGII89FPqwGRebD3mpeQNSpUamgS/xlsi5+UXhToG78ASHkx1zPYxCYAAAAASUVORK5CYII="> <script type="module" crossorigin src="/assets/index.a683db94.js"></script> <link rel="stylesheet" href="/assets/index.047f252c.css"> </head><body><div id=q-app></div></body></html>
Open service 66.33.60.34:80 · staging.funclass.app
2026-01-07 15:50
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://staging.funclass.app/ Refresh: 0;url=https://staging.funclass.app/ server: Vercel Redirecting...
Open service 66.33.60.35:443 · staging.funclass.app
2026-01-01 19:27
HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Age: 1397959 Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Length: 2152 Content-Security-Policy: frame-ancestors 'self' Content-Type: text/html; charset=utf-8 Date: Thu, 01 Jan 2026 19:27:06 GMT Etag: "1569e6d914442800899e58610a0f8458" Last-Modified: Tue, 16 Dec 2025 15:07:46 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Cache: HIT X-Vercel-Id: iad1::xr9zq-1767295626127-e36bbf1679eb Connection: close Page title: Funclass <!DOCTYPE html><html><head><title>Funclass</title><meta charset=utf-8><meta name=description content="A gamified virtual classroom tailored for K12 online teaching"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAMwSURBVEhLtVVLSFVRFF3nnvue5qfsR/+SEtPoRxZ9Bo1qJpGToASDggZNokE1MssCISKoQQSVRNCoSRQ0yWigo4oIJYoksMiSPpTl571377mndc655nupqGUL3rv37LPPXnuvve+9It2y914iL1EdpkNMJRL5PsJU0Cx0a50OUgwu4p0pgi8FMqHq9wKT+V8F10CU4SWK1yMhIAa8+H5y0IrBA4iCRcPrMTBJApZqsmZwWb4f/tZzkBUHAJXmHisaBZMgYPBwgCeSkOuOwVtWbe+9xTvhrdjDvVTsl4sJEjB48BPInwN/YwO8eVtiu4OYUcZ/U8HIKiZGEPRClKyEv6mRwcpjo4P+2g714oqtxnHkNn0cAp7IMPi8bcz8NJs6P7Y7RN2PED47ywR+mBXd2WzBkOGgcyDGJjDOlMUr3QV//QkO9rR4wyF6cxuq4yLv3IyLomVM4hT8zU0QC7fHjR+VwExKYB1kxUHIykMuqyGQWL24DPX6piP1fPpHnKo6iJmVJFoKf9Vh9ms2fYM/CRhcsTwGlGuPMvvdsT1G0EdJmhC9uw8ki+lnsqeM5mKIhuBJ2vjTOpuAXgyAZAn8DfXwFrDMLOj+DwifnIT+/JgvmiKns+IzYcdTQHXegu57C536AvXqOjD4iURJiEzLPjdb1FtMX84ZPw5RuNCahqC/v0T4/DyQ/grIfCuNLKu1TY+6HyL62OoczZ6XsIPh5xUgCKPPrgKVgjd3I5t0ZkRwczh82shD3xnYZS5La/iA7YCYtRpyzRGru5XLDIaROGsgPFOmKFwCWVXvdM1C1HUHqv2COyjNITvobOAsu/8biUI6xyNqtM+CZ5g1WXX6W2wi2Bz18iq1bGbgPFe2DU5Q16jrru2JmbTofQt0b6eTZxSwB7UaYb97UqsaaOKy4xJ0Txszm+5KzwHXlBSJYgg2Ww/20MQJyh5lwnwPTA+Gm8xDVktmb6YBfoE1jwkjm/nZ6v5MYphgmJYl6r730APd4wc3MFqb988owbORW5fkAXto6pBL8B8gdFud1gG1nGII89FPqwGRebD3mpeQNSpUamgS/xlsi5+UXhToG78ASHkx1zPYxCYAAAAASUVORK5CYII="> <script type="module" crossorigin src="/assets/index.a683db94.js"></script> <link rel="stylesheet" href="/assets/index.047f252c.css"> </head><body><div id=q-app></div></body></html>
Open service 66.33.60.35:443 · staging.funclass.app
2025-12-30 03:59
HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Age: 688566 Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Length: 2152 Content-Security-Policy: frame-ancestors 'self' Content-Type: text/html; charset=utf-8 Date: Tue, 30 Dec 2025 03:59:31 GMT Etag: "1569e6d914442800899e58610a0f8458" Last-Modified: Mon, 22 Dec 2025 04:43:24 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Cache: HIT X-Vercel-Id: lhr1::mmccf-1767067171049-a3340e178090 Connection: close Page title: Funclass <!DOCTYPE html><html><head><title>Funclass</title><meta charset=utf-8><meta name=description content="A gamified virtual classroom tailored for K12 online teaching"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAMwSURBVEhLtVVLSFVRFF3nnvue5qfsR/+SEtPoRxZ9Bo1qJpGToASDggZNokE1MssCISKoQQSVRNCoSRQ0yWigo4oIJYoksMiSPpTl571377mndc655nupqGUL3rv37LPPXnuvve+9It2y914iL1EdpkNMJRL5PsJU0Cx0a50OUgwu4p0pgi8FMqHq9wKT+V8F10CU4SWK1yMhIAa8+H5y0IrBA4iCRcPrMTBJApZqsmZwWb4f/tZzkBUHAJXmHisaBZMgYPBwgCeSkOuOwVtWbe+9xTvhrdjDvVTsl4sJEjB48BPInwN/YwO8eVtiu4OYUcZ/U8HIKiZGEPRClKyEv6mRwcpjo4P+2g714oqtxnHkNn0cAp7IMPi8bcz8NJs6P7Y7RN2PED47ywR+mBXd2WzBkOGgcyDGJjDOlMUr3QV//QkO9rR4wyF6cxuq4yLv3IyLomVM4hT8zU0QC7fHjR+VwExKYB1kxUHIykMuqyGQWL24DPX6piP1fPpHnKo6iJmVJFoKf9Vh9ms2fYM/CRhcsTwGlGuPMvvdsT1G0EdJmhC9uw8ki+lnsqeM5mKIhuBJ2vjTOpuAXgyAZAn8DfXwFrDMLOj+DwifnIT+/JgvmiKns+IzYcdTQHXegu57C536AvXqOjD4iURJiEzLPjdb1FtMX84ZPw5RuNCahqC/v0T4/DyQ/grIfCuNLKu1TY+6HyL62OoczZ6XsIPh5xUgCKPPrgKVgjd3I5t0ZkRwczh82shD3xnYZS5La/iA7YCYtRpyzRGru5XLDIaROGsgPFOmKFwCWVXvdM1C1HUHqv2COyjNITvobOAsu/8biUI6xyNqtM+CZ5g1WXX6W2wi2Bz18iq1bGbgPFe2DU5Q16jrru2JmbTofQt0b6eTZxSwB7UaYb97UqsaaOKy4xJ0Txszm+5KzwHXlBSJYgg2Ww/20MQJyh5lwnwPTA+Gm8xDVktmb6YBfoE1jwkjm/nZ6v5MYphgmJYl6r730APd4wc3MFqb988owbORW5fkAXto6pBL8B8gdFud1gG1nGII89FPqwGRebD3mpeQNSpUamgS/xlsi5+UXhToG78ASHkx1zPYxCYAAAAASUVORK5CYII="> <script type="module" crossorigin src="/assets/index.a683db94.js"></script> <link rel="stylesheet" href="/assets/index.047f252c.css"> </head><body><div id=q-app></div></body></html>
Open service 66.33.60.35:443 · staging.funclass.app
2025-12-22 04:43
HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Age: 0 Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Length: 2152 Content-Security-Policy: frame-ancestors 'self' Content-Type: text/html; charset=utf-8 Date: Mon, 22 Dec 2025 04:43:25 GMT Etag: "1569e6d914442800899e58610a0f8458" Last-Modified: Mon, 22 Dec 2025 04:43:24 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Cache: HIT X-Vercel-Id: lhr1::lk22g-1766378604866-ca4b05a82a39 Connection: close Page title: Funclass <!DOCTYPE html><html><head><title>Funclass</title><meta charset=utf-8><meta name=description content="A gamified virtual classroom tailored for K12 online teaching"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAMwSURBVEhLtVVLSFVRFF3nnvue5qfsR/+SEtPoRxZ9Bo1qJpGToASDggZNokE1MssCISKoQQSVRNCoSRQ0yWigo4oIJYoksMiSPpTl571377mndc655nupqGUL3rv37LPPXnuvve+9It2y914iL1EdpkNMJRL5PsJU0Cx0a50OUgwu4p0pgi8FMqHq9wKT+V8F10CU4SWK1yMhIAa8+H5y0IrBA4iCRcPrMTBJApZqsmZwWb4f/tZzkBUHAJXmHisaBZMgYPBwgCeSkOuOwVtWbe+9xTvhrdjDvVTsl4sJEjB48BPInwN/YwO8eVtiu4OYUcZ/U8HIKiZGEPRClKyEv6mRwcpjo4P+2g714oqtxnHkNn0cAp7IMPi8bcz8NJs6P7Y7RN2PED47ywR+mBXd2WzBkOGgcyDGJjDOlMUr3QV//QkO9rR4wyF6cxuq4yLv3IyLomVM4hT8zU0QC7fHjR+VwExKYB1kxUHIykMuqyGQWL24DPX6piP1fPpHnKo6iJmVJFoKf9Vh9ms2fYM/CRhcsTwGlGuPMvvdsT1G0EdJmhC9uw8ki+lnsqeM5mKIhuBJ2vjTOpuAXgyAZAn8DfXwFrDMLOj+DwifnIT+/JgvmiKns+IzYcdTQHXegu57C536AvXqOjD4iURJiEzLPjdb1FtMX84ZPw5RuNCahqC/v0T4/DyQ/grIfCuNLKu1TY+6HyL62OoczZ6XsIPh5xUgCKPPrgKVgjd3I5t0ZkRwczh82shD3xnYZS5La/iA7YCYtRpyzRGru5XLDIaROGsgPFOmKFwCWVXvdM1C1HUHqv2COyjNITvobOAsu/8biUI6xyNqtM+CZ5g1WXX6W2wi2Bz18iq1bGbgPFe2DU5Q16jrru2JmbTofQt0b6eTZxSwB7UaYb97UqsaaOKy4xJ0Txszm+5KzwHXlBSJYgg2Ww/20MQJyh5lwnwPTA+Gm8xDVktmb6YBfoE1jwkjm/nZ6v5MYphgmJYl6r730APd4wc3MFqb988owbORW5fkAXto6pBL8B8gdFud1gG1nGII89FPqwGRebD3mpeQNSpUamgS/xlsi5+UXhToG78ASHkx1zPYxCYAAAAASUVORK5CYII="> <script type="module" crossorigin src="/assets/index.a683db94.js"></script> <link rel="stylesheet" href="/assets/index.047f252c.css"> </head><body><div id=q-app></div></body></html>
Open service 66.33.60.35:443 · staging.funclass.app
2025-12-20 04:40
HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * Age: 0 Cache-Control: public, max-age=0, must-revalidate Content-Disposition: inline Content-Length: 2152 Content-Security-Policy: frame-ancestors 'self' Content-Type: text/html; charset=utf-8 Date: Sat, 20 Dec 2025 04:40:29 GMT Etag: "1569e6d914442800899e58610a0f8458" Last-Modified: Sat, 20 Dec 2025 04:40:29 GMT Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Cache: HIT X-Vercel-Id: iad1::htbk4-1766205629235-ba4a0704609e Connection: close Page title: Funclass <!DOCTYPE html><html><head><title>Funclass</title><meta charset=utf-8><meta name=description content="A gamified virtual classroom tailored for K12 online teaching"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAMwSURBVEhLtVVLSFVRFF3nnvue5qfsR/+SEtPoRxZ9Bo1qJpGToASDggZNokE1MssCISKoQQSVRNCoSRQ0yWigo4oIJYoksMiSPpTl571377mndc655nupqGUL3rv37LPPXnuvve+9It2y914iL1EdpkNMJRL5PsJU0Cx0a50OUgwu4p0pgi8FMqHq9wKT+V8F10CU4SWK1yMhIAa8+H5y0IrBA4iCRcPrMTBJApZqsmZwWb4f/tZzkBUHAJXmHisaBZMgYPBwgCeSkOuOwVtWbe+9xTvhrdjDvVTsl4sJEjB48BPInwN/YwO8eVtiu4OYUcZ/U8HIKiZGEPRClKyEv6mRwcpjo4P+2g714oqtxnHkNn0cAp7IMPi8bcz8NJs6P7Y7RN2PED47ywR+mBXd2WzBkOGgcyDGJjDOlMUr3QV//QkO9rR4wyF6cxuq4yLv3IyLomVM4hT8zU0QC7fHjR+VwExKYB1kxUHIykMuqyGQWL24DPX6piP1fPpHnKo6iJmVJFoKf9Vh9ms2fYM/CRhcsTwGlGuPMvvdsT1G0EdJmhC9uw8ki+lnsqeM5mKIhuBJ2vjTOpuAXgyAZAn8DfXwFrDMLOj+DwifnIT+/JgvmiKns+IzYcdTQHXegu57C536AvXqOjD4iURJiEzLPjdb1FtMX84ZPw5RuNCahqC/v0T4/DyQ/grIfCuNLKu1TY+6HyL62OoczZ6XsIPh5xUgCKPPrgKVgjd3I5t0ZkRwczh82shD3xnYZS5La/iA7YCYtRpyzRGru5XLDIaROGsgPFOmKFwCWVXvdM1C1HUHqv2COyjNITvobOAsu/8biUI6xyNqtM+CZ5g1WXX6W2wi2Bz18iq1bGbgPFe2DU5Q16jrru2JmbTofQt0b6eTZxSwB7UaYb97UqsaaOKy4xJ0Txszm+5KzwHXlBSJYgg2Ww/20MQJyh5lwnwPTA+Gm8xDVktmb6YBfoE1jwkjm/nZ6v5MYphgmJYl6r730APd4wc3MFqb988owbORW5fkAXto6pBL8B8gdFud1gG1nGII89FPqwGRebD3mpeQNSpUamgS/xlsi5+UXhToG78ASHkx1zPYxCYAAAAASUVORK5CYII="> <script type="module" crossorigin src="/assets/index.a683db94.js"></script> <link rel="stylesheet" href="/assets/index.047f252c.css"> </head><body><div id=q-app></div></body></html>