├── .dockerignore ├── .env.test ├── .eslintignore ├── .eslintrc.js ├── .gitattributes ├── .github ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── SECURITY.md └── workflows │ └── ci.yml ├── .gitignore ├── .husky ├── .gitignore └── pre-commit ├── .prettierignore ├── .yarn └── releases │ └── yarn-4.9.2.cjs ├── .yarnrc.yml ├── Dockerfile ├── LICENSE.txt ├── README.md ├── docker-compose.development.yml ├── docker-compose.yml ├── docs ├── content │ ├── assets │ │ ├── rctf-logotype-dark-1024.png │ │ └── rctf-logotype-light-1024.png │ ├── index.md │ ├── rctf │ │ ├── .pages │ │ ├── configuration.md │ │ ├── development │ │ │ └── manual-installation.md │ │ ├── installation.md │ │ ├── integrations │ │ │ └── ctftime.md │ │ ├── management │ │ │ ├── admin.md │ │ │ ├── divisions.md │ │ │ ├── home.md │ │ │ ├── migration.md │ │ │ └── scaling.md │ │ └── providers │ │ │ ├── challenges │ │ │ ├── database.md │ │ │ └── index.md │ │ │ ├── emails │ │ │ ├── index.md │ │ │ ├── mailgun.md │ │ │ ├── postmark.md │ │ │ ├── ses.md │ │ │ └── smtp.md │ │ │ ├── index.md │ │ │ └── uploads │ │ │ ├── gcs.md │ │ │ ├── index.md │ │ │ └── local.md │ └── running_a_successful_ctf │ │ ├── .pages │ │ ├── after_the_ctf.md │ │ ├── deploying_challenges.md │ │ ├── during_the_ctf.md │ │ ├── preparations.md │ │ └── setting_up_ctf_platform.md ├── mkdocs.yml ├── requirements.txt └── runtime.txt ├── jest.base.config.js ├── jest.config.js ├── lint-staged.config.js ├── package.json ├── packages ├── api-types │ ├── .eslintignore │ ├── .gitignore │ ├── .prettierignore │ ├── build │ │ ├── index.js │ │ ├── perms.schema.yml │ │ ├── response.schema.yml │ │ ├── route.schema.yml │ │ └── routeConfig.schema.yml │ ├── package.json │ └── src │ │ ├── perms.yml │ │ ├── responses │ │ ├── badAlreadySolvedChallenge.yml │ │ ├── badBody.yml │ │ ├── badChallenge.yml │ │ ├── badCompetitionNotAllowed.yml │ │ ├── badCtftimeCode.yml │ │ ├── badCtftimeNoExists.yml │ │ ├── badCtftimeToken.yml │ │ ├── badDataUri.yml │ │ ├── badDivisionNotAllowed.yml │ │ ├── badEmail.yml │ │ ├── badEmailChangeDivision.yml │ │ ├── badEmailNoExists.yml │ │ ├── badEnded.yml │ │ ├── badEndpoint.yml │ │ ├── badFilesUpload.yml │ │ ├── badFlag.yml │ │ ├── badJson.yml │ │ ├── badKnownCtftimeId.yml │ │ ├── badKnownEmail.yml │ │ ├── badKnownName.yml │ │ ├── badName.yml │ │ ├── badNotStarted.yml │ │ ├── badPerms.yml │ │ ├── badRateLimit.yml │ │ ├── badRegistrationsDisabled.yaml │ │ ├── badToken.yml │ │ ├── badTokenVerification.yml │ │ ├── badUnknownEmail.yml │ │ ├── badUnknownUser.yml │ │ ├── badZeroAuth.yml │ │ ├── errorInternal.yml │ │ ├── goodAdminChallenge.yml │ │ ├── goodAdminChallenges.yml │ │ ├── goodChallengeDelete.yml │ │ ├── goodChallengeSolves.yml │ │ ├── goodChallengeUpdate.yml │ │ ├── goodChallenges.yml │ │ ├── goodClientConfig.yml │ │ ├── goodCtftimeAuthSet.yml │ │ ├── goodCtftimeLeaderboard.yml │ │ ├── goodCtftimeRemoved.yml │ │ ├── goodCtftimeToken.yml │ │ ├── goodEmailRemoved.yml │ │ ├── goodEmailSet.yml │ │ ├── goodFilesUpload.yml │ │ ├── goodFlag.yml │ │ ├── goodLeaderboard.yml │ │ ├── goodLeaderboardGraph.yml │ │ ├── goodLogin.yml │ │ ├── goodMemberCreate.yml │ │ ├── goodMemberData.yml │ │ ├── goodMemberDelete.yml │ │ ├── goodRegister.yml │ │ ├── goodToken.yml │ │ ├── goodUploadsQuery.yml │ │ ├── goodUserData.yml │ │ ├── goodUserSelfData.yml │ │ ├── goodUserUpdate.yml │ │ ├── goodVerify.yml │ │ └── goodVerifySent.yml │ │ ├── routeConfig.yml │ │ └── routes │ │ ├── admin │ │ ├── challs │ │ │ ├── get.yml │ │ │ └── id │ │ │ │ ├── delete.yml │ │ │ │ ├── get.yml │ │ │ │ └── put.yml │ │ └── upload │ │ │ ├── post.yml │ │ │ └── query │ │ │ └── post.yml │ │ ├── auth │ │ ├── login │ │ │ └── post.yml │ │ ├── recover │ │ │ └── post.yml │ │ ├── register │ │ │ └── post.yml │ │ ├── test │ │ │ └── get.yml │ │ └── verify │ │ │ └── post.yml │ │ ├── challs │ │ ├── get.yml │ │ └── id │ │ │ ├── solves │ │ │ └── get.yml │ │ │ └── submit │ │ │ └── post.yml │ │ ├── integrations │ │ ├── client │ │ │ └── config │ │ │ │ └── get.yml │ │ └── ctftime │ │ │ ├── callback │ │ │ └── post.yml │ │ │ └── leaderboard │ │ │ └── get.yml │ │ ├── leaderboard │ │ ├── graph │ │ │ └── get.yml │ │ └── now │ │ │ └── get.yml │ │ └── users │ │ ├── id │ │ └── get.yml │ │ └── me │ │ ├── auth │ │ ├── ctftime │ │ │ ├── delete.yml │ │ │ └── put.yml │ │ └── email │ │ │ ├── delete.yml │ │ │ └── put.yml │ │ ├── get.yml │ │ ├── members │ │ ├── get.yml │ │ ├── id │ │ │ └── delete.yml │ │ └── post.yml │ │ └── patch.yml ├── client │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .storybook │ │ ├── babel.config.js │ │ ├── main.js │ │ ├── manager.ts │ │ └── preview.tsx │ ├── babel.config.js │ ├── index.d.ts │ ├── index.js │ ├── jest.config.js │ ├── lib │ │ ├── index.html │ │ └── preact-debug-entry.js │ ├── package.json │ ├── playwright.config.ts │ ├── src │ │ ├── api │ │ │ ├── admin │ │ │ │ └── challs.js │ │ │ ├── auth.js │ │ │ ├── challenges.js │ │ │ ├── members.js │ │ │ ├── profile.js │ │ │ ├── scoreboard.js │ │ │ └── util.js │ │ ├── app.js │ │ ├── components │ │ │ ├── action-button.js │ │ │ ├── admin │ │ │ │ └── problem.js │ │ │ ├── ctftime-additional.js │ │ │ ├── ctftime-button.js │ │ │ ├── footer.js │ │ │ ├── form.js │ │ │ ├── graph.js │ │ │ ├── header.js │ │ │ ├── icon.js │ │ │ ├── jss.js │ │ │ ├── logout-button.js │ │ │ ├── markdown.js │ │ │ ├── modal.js │ │ │ ├── not-started.js │ │ │ ├── or.js │ │ │ ├── pagination.js │ │ │ ├── pending-token.js │ │ │ ├── problem.js │ │ │ ├── profile │ │ │ │ ├── ctftime-card.js │ │ │ │ ├── members-card.js │ │ │ │ └── solves-card.js │ │ │ ├── recaptcha.js │ │ │ ├── solves-dialog.js │ │ │ ├── sponsors.js │ │ │ ├── timer.js │ │ │ ├── toast.js │ │ │ └── token-preview.js │ │ ├── config.ts │ │ ├── env.d.ts │ │ ├── history-hack.ts │ │ ├── icons │ │ │ ├── address-book.svg │ │ │ ├── clock.svg │ │ │ ├── ctftime.svg │ │ │ ├── envelope-open.svg │ │ │ ├── id-card.svg │ │ │ ├── rank.svg │ │ │ ├── trophy.svg │ │ │ └── user-circle.svg │ │ ├── index.tsx │ │ ├── routes │ │ │ ├── admin │ │ │ │ └── challs.js │ │ │ ├── challs.js │ │ │ ├── ctftime-callback.js │ │ │ ├── error.js │ │ │ ├── home.js │ │ │ ├── login.js │ │ │ ├── profile.js │ │ │ ├── recover.js │ │ │ ├── register.js │ │ │ ├── scoreboard.js │ │ │ └── verify.js │ │ ├── static │ │ │ ├── .well-known │ │ │ │ └── security.txt │ │ │ └── robots.txt │ │ └── util │ │ │ ├── ctftime.js │ │ │ ├── index.js │ │ │ ├── permissions.js │ │ │ ├── strings.js │ │ │ └── time.js │ ├── testConfig.ts │ ├── tests │ │ ├── admin.spec.ts │ │ ├── auth.spec.ts │ │ ├── challenges.spec.ts │ │ ├── home.spec.ts │ │ ├── profile.spec.ts │ │ └── scoreboard.spec.ts │ ├── tsconfig.json │ ├── tsconfig.playwright.json │ └── webpack.config.js ├── migrations │ ├── .eslintrc.js │ ├── index.d.ts │ ├── index.js │ ├── migrations │ │ ├── 1581292018019_add-users.js │ │ ├── 1581292025458_user-perms.js │ │ ├── 1581297115194_add-solves.js │ │ ├── 1581725957097_del-password.js │ │ ├── 1581840671046_add-solve-createdat.js │ │ ├── 1581917595746_add-solves-primary-key.js │ │ ├── 1582424634372_string-uuids.js │ │ ├── 1582446586521_foreign-key-userid.js │ │ ├── 1585799727940_add-ctftime-id.js │ │ ├── 1587352163274_add-user-members.js │ │ ├── 1587950739709_challenge-data.js │ │ ├── 1590976823599_del-name-grade.js │ │ ├── 1591166544932_citext_name.js │ │ ├── 1591915539134_indices.js │ │ ├── 1591923901993_string-uuids.js │ │ ├── 1592008739015_add-user-createdat.js │ │ └── 1597827385452_timezone.js │ └── package.json ├── server │ ├── .env │ ├── .eslintignore │ ├── .eslintrc.js │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── .eslintrc.js │ │ ├── api │ │ │ ├── admin │ │ │ │ ├── challs │ │ │ │ │ ├── delete.ts │ │ │ │ │ ├── get.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── list.ts │ │ │ │ │ └── put.ts │ │ │ │ ├── index.js │ │ │ │ └── upload │ │ │ │ │ ├── index.js │ │ │ │ │ ├── post.ts │ │ │ │ │ └── query.ts │ │ │ ├── auth │ │ │ │ ├── index.js │ │ │ │ ├── login.ts │ │ │ │ ├── recover.ts │ │ │ │ ├── register.js │ │ │ │ ├── test.ts │ │ │ │ └── verify.js │ │ │ ├── buildResponseSchema.ts │ │ │ ├── challs │ │ │ │ ├── get.ts │ │ │ │ ├── index.js │ │ │ │ ├── solves.ts │ │ │ │ └── submit.ts │ │ │ ├── helpers.ts │ │ │ ├── index.ts │ │ │ ├── integrations │ │ │ │ ├── client │ │ │ │ │ ├── config.ts │ │ │ │ │ └── index.js │ │ │ │ └── ctftime │ │ │ │ │ ├── callback.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── leaderboard.ts │ │ │ ├── leaderboard │ │ │ │ ├── graph.ts │ │ │ │ ├── index.js │ │ │ │ └── now.ts │ │ │ └── users │ │ │ │ ├── id.ts │ │ │ │ ├── index.js │ │ │ │ ├── me-auth │ │ │ │ ├── ctftime │ │ │ │ │ ├── delete.ts │ │ │ │ │ ├── index.js │ │ │ │ │ └── put.ts │ │ │ │ └── email │ │ │ │ │ ├── delete.ts │ │ │ │ │ ├── index.js │ │ │ │ │ └── put.ts │ │ │ │ ├── me.ts │ │ │ │ ├── members │ │ │ │ ├── delete.ts │ │ │ │ ├── index.js │ │ │ │ ├── list.ts │ │ │ │ └── new.ts │ │ │ │ ├── update.ts │ │ │ │ └── util.ts │ │ ├── app.js │ │ ├── auth │ │ │ ├── index.ts │ │ │ ├── register.ts │ │ │ └── token.ts │ │ ├── cache │ │ │ ├── challs.ts │ │ │ ├── client.ts │ │ │ ├── index.ts │ │ │ ├── leaderboard.ts │ │ │ ├── login.ts │ │ │ ├── scripts │ │ │ │ ├── chunk-call.lua │ │ │ │ ├── get-graph.lua │ │ │ │ ├── get-range.lua │ │ │ │ ├── rate-limit.lua │ │ │ │ ├── set-graph.lua │ │ │ │ └── set-leaderboard.lua │ │ │ └── timeouts.ts │ │ ├── challenges │ │ │ ├── Provider.ts │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── util.ts │ │ ├── config │ │ │ ├── client.ts │ │ │ ├── load.ts │ │ │ ├── server.ts │ │ │ ├── types.ts │ │ │ └── util.ts │ │ ├── database │ │ │ ├── challenges.ts │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ ├── members.ts │ │ │ ├── migrate.ts │ │ │ ├── solves.ts │ │ │ ├── users.ts │ │ │ └── util.ts │ │ ├── email │ │ │ ├── emails │ │ │ │ ├── verify.html │ │ │ │ └── verify.txt │ │ │ ├── index.ts │ │ │ └── provider.ts │ │ ├── errors │ │ │ └── index.js │ │ ├── index.js │ │ ├── leaderboard │ │ │ ├── calculate.ts │ │ │ ├── index.ts │ │ │ ├── types.ts │ │ │ └── worker.ts │ │ ├── providers │ │ │ ├── challenges │ │ │ │ └── database │ │ │ │ │ └── index.ts │ │ │ ├── emails │ │ │ │ ├── mailgun │ │ │ │ │ └── index.ts │ │ │ │ ├── postmark │ │ │ │ │ └── index.ts │ │ │ │ ├── ses │ │ │ │ │ └── index.ts │ │ │ │ └── smtp │ │ │ │ │ └── index.ts │ │ │ └── uploads │ │ │ │ ├── dummy │ │ │ │ └── index.ts │ │ │ │ ├── gcs │ │ │ │ └── index.ts │ │ │ │ └── local │ │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ ├── uploads │ │ │ ├── index.ts │ │ │ └── provider.ts │ │ └── util │ │ │ ├── index.ts │ │ │ ├── normalize.ts │ │ │ ├── object.ts │ │ │ ├── perms.ts │ │ │ ├── restrict.ts │ │ │ ├── scores.ts │ │ │ ├── types.ts │ │ │ └── validate.ts │ ├── test │ │ ├── .eslintrc.js │ │ ├── _setup.js │ │ ├── _util.ts │ │ ├── data │ │ │ ├── rctf.d │ │ │ │ └── conf-test.yaml │ │ │ └── static │ │ │ │ └── index.html │ │ ├── integration │ │ │ ├── app.js │ │ │ ├── auth.js │ │ │ ├── challenges.js │ │ │ ├── leaderboard.js │ │ │ ├── profile.js │ │ │ ├── submit-timing.js │ │ │ └── submit.js │ │ ├── tsconfig.json │ │ └── unit │ │ │ ├── api │ │ │ └── buildResponseSchema.ts │ │ │ ├── auth │ │ │ └── token.ts │ │ │ ├── challenges │ │ │ └── index.js │ │ │ ├── leaderboard │ │ │ ├── __snapshots__ │ │ │ │ └── calculate.ts.snap │ │ │ └── calculate.ts │ │ │ ├── rate-limit.js │ │ │ ├── restrict.js │ │ │ └── util │ │ │ ├── object.ts │ │ │ └── scores.ts │ ├── tsconfig-base.json │ └── tsconfig.json ├── tsconfig-base.json └── tsconfig.json ├── rctf.d └── .keep ├── scripts ├── check-commits.sh ├── install.sh └── make-docker-package-json.js └── yarn.lock /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.env.test -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.github/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.github/SECURITY.md -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.prettierignore -------------------------------------------------------------------------------- /.yarn/releases/yarn-4.9.2.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.yarn/releases/yarn-4.9.2.cjs -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/.yarnrc.yml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.development.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docker-compose.development.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/content/assets/rctf-logotype-dark-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/assets/rctf-logotype-dark-1024.png -------------------------------------------------------------------------------- /docs/content/assets/rctf-logotype-light-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/assets/rctf-logotype-light-1024.png -------------------------------------------------------------------------------- /docs/content/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/index.md -------------------------------------------------------------------------------- /docs/content/rctf/.pages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/.pages -------------------------------------------------------------------------------- /docs/content/rctf/configuration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/configuration.md -------------------------------------------------------------------------------- /docs/content/rctf/development/manual-installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/development/manual-installation.md -------------------------------------------------------------------------------- /docs/content/rctf/installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/installation.md -------------------------------------------------------------------------------- /docs/content/rctf/integrations/ctftime.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/integrations/ctftime.md -------------------------------------------------------------------------------- /docs/content/rctf/management/admin.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/management/admin.md -------------------------------------------------------------------------------- /docs/content/rctf/management/divisions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/management/divisions.md -------------------------------------------------------------------------------- /docs/content/rctf/management/home.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/management/home.md -------------------------------------------------------------------------------- /docs/content/rctf/management/migration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/management/migration.md -------------------------------------------------------------------------------- /docs/content/rctf/management/scaling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/management/scaling.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/challenges/database.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/challenges/database.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/challenges/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/challenges/index.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/emails/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/emails/index.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/emails/mailgun.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/emails/mailgun.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/emails/postmark.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/emails/postmark.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/emails/ses.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/emails/ses.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/emails/smtp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/emails/smtp.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/index.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/uploads/gcs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/uploads/gcs.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/uploads/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/uploads/index.md -------------------------------------------------------------------------------- /docs/content/rctf/providers/uploads/local.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/rctf/providers/uploads/local.md -------------------------------------------------------------------------------- /docs/content/running_a_successful_ctf/.pages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/running_a_successful_ctf/.pages -------------------------------------------------------------------------------- /docs/content/running_a_successful_ctf/after_the_ctf.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/running_a_successful_ctf/after_the_ctf.md -------------------------------------------------------------------------------- /docs/content/running_a_successful_ctf/deploying_challenges.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/running_a_successful_ctf/deploying_challenges.md -------------------------------------------------------------------------------- /docs/content/running_a_successful_ctf/during_the_ctf.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/running_a_successful_ctf/during_the_ctf.md -------------------------------------------------------------------------------- /docs/content/running_a_successful_ctf/preparations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/running_a_successful_ctf/preparations.md -------------------------------------------------------------------------------- /docs/content/running_a_successful_ctf/setting_up_ctf_platform.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/content/running_a_successful_ctf/setting_up_ctf_platform.md -------------------------------------------------------------------------------- /docs/mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/mkdocs.yml -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/runtime.txt: -------------------------------------------------------------------------------- 1 | 3.13 2 | -------------------------------------------------------------------------------- /jest.base.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/jest.base.config.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/jest.config.js -------------------------------------------------------------------------------- /lint-staged.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/lint-staged.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/package.json -------------------------------------------------------------------------------- /packages/api-types/.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/.eslintignore -------------------------------------------------------------------------------- /packages/api-types/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/.gitignore -------------------------------------------------------------------------------- /packages/api-types/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/.prettierignore -------------------------------------------------------------------------------- /packages/api-types/build/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/build/index.js -------------------------------------------------------------------------------- /packages/api-types/build/perms.schema.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/build/perms.schema.yml -------------------------------------------------------------------------------- /packages/api-types/build/response.schema.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/build/response.schema.yml -------------------------------------------------------------------------------- /packages/api-types/build/route.schema.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/build/route.schema.yml -------------------------------------------------------------------------------- /packages/api-types/build/routeConfig.schema.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/build/routeConfig.schema.yml -------------------------------------------------------------------------------- /packages/api-types/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/package.json -------------------------------------------------------------------------------- /packages/api-types/src/perms.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/perms.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badAlreadySolvedChallenge.yml: -------------------------------------------------------------------------------- 1 | status: 409 2 | message: The flag was already submitted. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badBody.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badBody.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badChallenge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badChallenge.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badCompetitionNotAllowed.yml: -------------------------------------------------------------------------------- 1 | status: 403 2 | message: You are not allowed to join this CTF. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badCtftimeCode.yml: -------------------------------------------------------------------------------- 1 | status: 401 2 | message: The CTFtime code is invalid. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badCtftimeNoExists.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badCtftimeNoExists.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badCtftimeToken.yml: -------------------------------------------------------------------------------- 1 | status: 401 2 | message: The CTFtime token provided is invalid. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badDataUri.yml: -------------------------------------------------------------------------------- 1 | status: 400 2 | message: A data URI provided was malformed. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badDivisionNotAllowed.yml: -------------------------------------------------------------------------------- 1 | status: 403 2 | message: You are not allowed to join this division. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badEmail.yml: -------------------------------------------------------------------------------- 1 | status: 400 2 | message: The email address is malformed. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badEmailChangeDivision.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badEmailChangeDivision.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badEmailNoExists.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badEmailNoExists.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badEnded.yml: -------------------------------------------------------------------------------- 1 | status: 401 2 | message: The CTF has ended. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badEndpoint.yml: -------------------------------------------------------------------------------- 1 | status: 404 2 | message: The request endpoint could not be found. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badFilesUpload.yml: -------------------------------------------------------------------------------- 1 | status: 500 2 | message: The upload of files failed. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badFlag.yml: -------------------------------------------------------------------------------- 1 | status: 400 2 | message: The flag was incorrect. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badJson.yml: -------------------------------------------------------------------------------- 1 | status: 400 2 | message: The request JSON body is malformed. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badKnownCtftimeId.yml: -------------------------------------------------------------------------------- 1 | status: 409 2 | message: An account with this CTFtime ID already exists. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badKnownEmail.yml: -------------------------------------------------------------------------------- 1 | status: 409 2 | message: An account with this email already exists. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badKnownName.yml: -------------------------------------------------------------------------------- 1 | status: 409 2 | message: An account with this name already exists. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badName.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badName.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badNotStarted.yml: -------------------------------------------------------------------------------- 1 | status: 401 2 | message: The CTF has not started yet. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badPerms.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badPerms.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badRateLimit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badRateLimit.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/badRegistrationsDisabled.yaml: -------------------------------------------------------------------------------- 1 | status: 400 2 | message: The registrations are disabled. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badToken.yml: -------------------------------------------------------------------------------- 1 | status: 401 2 | message: The token provided is invalid. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badTokenVerification.yml: -------------------------------------------------------------------------------- 1 | status: 401 2 | message: The token provided is invalid. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badUnknownEmail.yml: -------------------------------------------------------------------------------- 1 | status: 404 2 | message: The account does not exist. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badUnknownUser.yml: -------------------------------------------------------------------------------- 1 | status: 404 2 | message: The user does not exist. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/badZeroAuth.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/badZeroAuth.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/errorInternal.yml: -------------------------------------------------------------------------------- 1 | status: 500 2 | message: An internal error occurred. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodAdminChallenge.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodAdminChallenge.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodAdminChallenges.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodAdminChallenges.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodChallengeDelete.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: Challenge successfully deleted. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodChallengeSolves.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodChallengeSolves.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodChallengeUpdate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodChallengeUpdate.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodChallenges.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodChallenges.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodClientConfig.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodClientConfig.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodCtftimeAuthSet.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: The CTFtime team was successfully updated. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodCtftimeLeaderboard.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodCtftimeLeaderboard.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodCtftimeRemoved.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: The CTFtime team was removed from the user. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodCtftimeToken.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodCtftimeToken.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodEmailRemoved.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: The email address was removed from the user. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodEmailSet.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: The email was successfully updated. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodFilesUpload.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodFilesUpload.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodFlag.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: The flag is correct. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodLeaderboard.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodLeaderboard.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodLeaderboardGraph.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodLeaderboardGraph.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodLogin.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodLogin.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodMemberCreate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodMemberCreate.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodMemberData.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodMemberData.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodMemberDelete.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: Team member successfully deleted. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodRegister.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodRegister.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodToken.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: The authorization token is valid. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodUploadsQuery.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodUploadsQuery.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodUserData.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodUserData.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodUserSelfData.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodUserSelfData.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodUserUpdate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodUserUpdate.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodVerify.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/responses/goodVerify.yml -------------------------------------------------------------------------------- /packages/api-types/src/responses/goodVerifySent.yml: -------------------------------------------------------------------------------- 1 | status: 200 2 | message: The account verification email was sent. 3 | -------------------------------------------------------------------------------- /packages/api-types/src/routeConfig.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routeConfig.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/admin/challs/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/admin/challs/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/admin/challs/id/delete.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/admin/challs/id/delete.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/admin/challs/id/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/admin/challs/id/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/admin/challs/id/put.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/admin/challs/id/put.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/admin/upload/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/admin/upload/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/admin/upload/query/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/admin/upload/query/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/auth/login/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/auth/login/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/auth/recover/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/auth/recover/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/auth/register/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/auth/register/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/auth/test/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/auth/test/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/auth/verify/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/auth/verify/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/challs/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/challs/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/challs/id/solves/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/challs/id/solves/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/challs/id/submit/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/challs/id/submit/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/integrations/client/config/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/integrations/client/config/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/integrations/ctftime/callback/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/integrations/ctftime/callback/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/integrations/ctftime/leaderboard/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/integrations/ctftime/leaderboard/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/leaderboard/graph/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/leaderboard/graph/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/leaderboard/now/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/leaderboard/now/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/id/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/id/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/auth/ctftime/delete.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/auth/ctftime/delete.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/auth/ctftime/put.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/auth/ctftime/put.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/auth/email/delete.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/auth/email/delete.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/auth/email/put.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/auth/email/put.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/members/get.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/members/get.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/members/id/delete.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/members/id/delete.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/members/post.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/members/post.yml -------------------------------------------------------------------------------- /packages/api-types/src/routes/users/me/patch.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/api-types/src/routes/users/me/patch.yml -------------------------------------------------------------------------------- /packages/client/.eslintignore: -------------------------------------------------------------------------------- 1 | ../../.eslintignore -------------------------------------------------------------------------------- /packages/client/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/.eslintrc.js -------------------------------------------------------------------------------- /packages/client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/.gitignore -------------------------------------------------------------------------------- /packages/client/.storybook/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require('../babel.config') 2 | -------------------------------------------------------------------------------- /packages/client/.storybook/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/.storybook/main.js -------------------------------------------------------------------------------- /packages/client/.storybook/manager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/.storybook/manager.ts -------------------------------------------------------------------------------- /packages/client/.storybook/preview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/.storybook/preview.tsx -------------------------------------------------------------------------------- /packages/client/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/babel.config.js -------------------------------------------------------------------------------- /packages/client/index.d.ts: -------------------------------------------------------------------------------- 1 | export const distDir: string 2 | -------------------------------------------------------------------------------- /packages/client/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/index.js -------------------------------------------------------------------------------- /packages/client/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/jest.config.js -------------------------------------------------------------------------------- /packages/client/lib/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/lib/index.html -------------------------------------------------------------------------------- /packages/client/lib/preact-debug-entry.js: -------------------------------------------------------------------------------- 1 | import 'preact/debug' 2 | -------------------------------------------------------------------------------- /packages/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/package.json -------------------------------------------------------------------------------- /packages/client/playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/playwright.config.ts -------------------------------------------------------------------------------- /packages/client/src/api/admin/challs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/api/admin/challs.js -------------------------------------------------------------------------------- /packages/client/src/api/auth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/api/auth.js -------------------------------------------------------------------------------- /packages/client/src/api/challenges.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/api/challenges.js -------------------------------------------------------------------------------- /packages/client/src/api/members.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/api/members.js -------------------------------------------------------------------------------- /packages/client/src/api/profile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/api/profile.js -------------------------------------------------------------------------------- /packages/client/src/api/scoreboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/api/scoreboard.js -------------------------------------------------------------------------------- /packages/client/src/api/util.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/api/util.js -------------------------------------------------------------------------------- /packages/client/src/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/app.js -------------------------------------------------------------------------------- /packages/client/src/components/action-button.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/action-button.js -------------------------------------------------------------------------------- /packages/client/src/components/admin/problem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/admin/problem.js -------------------------------------------------------------------------------- /packages/client/src/components/ctftime-additional.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/ctftime-additional.js -------------------------------------------------------------------------------- /packages/client/src/components/ctftime-button.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/ctftime-button.js -------------------------------------------------------------------------------- /packages/client/src/components/footer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/footer.js -------------------------------------------------------------------------------- /packages/client/src/components/form.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/form.js -------------------------------------------------------------------------------- /packages/client/src/components/graph.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/graph.js -------------------------------------------------------------------------------- /packages/client/src/components/header.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/header.js -------------------------------------------------------------------------------- /packages/client/src/components/icon.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/icon.js -------------------------------------------------------------------------------- /packages/client/src/components/jss.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/jss.js -------------------------------------------------------------------------------- /packages/client/src/components/logout-button.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/logout-button.js -------------------------------------------------------------------------------- /packages/client/src/components/markdown.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/markdown.js -------------------------------------------------------------------------------- /packages/client/src/components/modal.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/modal.js -------------------------------------------------------------------------------- /packages/client/src/components/not-started.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/not-started.js -------------------------------------------------------------------------------- /packages/client/src/components/or.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/or.js -------------------------------------------------------------------------------- /packages/client/src/components/pagination.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/pagination.js -------------------------------------------------------------------------------- /packages/client/src/components/pending-token.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/pending-token.js -------------------------------------------------------------------------------- /packages/client/src/components/problem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/problem.js -------------------------------------------------------------------------------- /packages/client/src/components/profile/ctftime-card.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/profile/ctftime-card.js -------------------------------------------------------------------------------- /packages/client/src/components/profile/members-card.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/profile/members-card.js -------------------------------------------------------------------------------- /packages/client/src/components/profile/solves-card.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/profile/solves-card.js -------------------------------------------------------------------------------- /packages/client/src/components/recaptcha.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/recaptcha.js -------------------------------------------------------------------------------- /packages/client/src/components/solves-dialog.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/solves-dialog.js -------------------------------------------------------------------------------- /packages/client/src/components/sponsors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/sponsors.js -------------------------------------------------------------------------------- /packages/client/src/components/timer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/timer.js -------------------------------------------------------------------------------- /packages/client/src/components/toast.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/toast.js -------------------------------------------------------------------------------- /packages/client/src/components/token-preview.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/components/token-preview.js -------------------------------------------------------------------------------- /packages/client/src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/config.ts -------------------------------------------------------------------------------- /packages/client/src/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/env.d.ts -------------------------------------------------------------------------------- /packages/client/src/history-hack.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/history-hack.ts -------------------------------------------------------------------------------- /packages/client/src/icons/address-book.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/address-book.svg -------------------------------------------------------------------------------- /packages/client/src/icons/clock.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/clock.svg -------------------------------------------------------------------------------- /packages/client/src/icons/ctftime.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/ctftime.svg -------------------------------------------------------------------------------- /packages/client/src/icons/envelope-open.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/envelope-open.svg -------------------------------------------------------------------------------- /packages/client/src/icons/id-card.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/id-card.svg -------------------------------------------------------------------------------- /packages/client/src/icons/rank.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/rank.svg -------------------------------------------------------------------------------- /packages/client/src/icons/trophy.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/trophy.svg -------------------------------------------------------------------------------- /packages/client/src/icons/user-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/icons/user-circle.svg -------------------------------------------------------------------------------- /packages/client/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/index.tsx -------------------------------------------------------------------------------- /packages/client/src/routes/admin/challs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/admin/challs.js -------------------------------------------------------------------------------- /packages/client/src/routes/challs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/challs.js -------------------------------------------------------------------------------- /packages/client/src/routes/ctftime-callback.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/ctftime-callback.js -------------------------------------------------------------------------------- /packages/client/src/routes/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/error.js -------------------------------------------------------------------------------- /packages/client/src/routes/home.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/home.js -------------------------------------------------------------------------------- /packages/client/src/routes/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/login.js -------------------------------------------------------------------------------- /packages/client/src/routes/profile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/profile.js -------------------------------------------------------------------------------- /packages/client/src/routes/recover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/recover.js -------------------------------------------------------------------------------- /packages/client/src/routes/register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/register.js -------------------------------------------------------------------------------- /packages/client/src/routes/scoreboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/scoreboard.js -------------------------------------------------------------------------------- /packages/client/src/routes/verify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/routes/verify.js -------------------------------------------------------------------------------- /packages/client/src/static/.well-known/security.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/static/.well-known/security.txt -------------------------------------------------------------------------------- /packages/client/src/static/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/static/robots.txt -------------------------------------------------------------------------------- /packages/client/src/util/ctftime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/util/ctftime.js -------------------------------------------------------------------------------- /packages/client/src/util/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/util/index.js -------------------------------------------------------------------------------- /packages/client/src/util/permissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/util/permissions.js -------------------------------------------------------------------------------- /packages/client/src/util/strings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/util/strings.js -------------------------------------------------------------------------------- /packages/client/src/util/time.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/src/util/time.js -------------------------------------------------------------------------------- /packages/client/testConfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/testConfig.ts -------------------------------------------------------------------------------- /packages/client/tests/admin.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tests/admin.spec.ts -------------------------------------------------------------------------------- /packages/client/tests/auth.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tests/auth.spec.ts -------------------------------------------------------------------------------- /packages/client/tests/challenges.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tests/challenges.spec.ts -------------------------------------------------------------------------------- /packages/client/tests/home.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tests/home.spec.ts -------------------------------------------------------------------------------- /packages/client/tests/profile.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tests/profile.spec.ts -------------------------------------------------------------------------------- /packages/client/tests/scoreboard.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tests/scoreboard.spec.ts -------------------------------------------------------------------------------- /packages/client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tsconfig.json -------------------------------------------------------------------------------- /packages/client/tsconfig.playwright.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/tsconfig.playwright.json -------------------------------------------------------------------------------- /packages/client/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/client/webpack.config.js -------------------------------------------------------------------------------- /packages/migrations/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/.eslintrc.js -------------------------------------------------------------------------------- /packages/migrations/index.d.ts: -------------------------------------------------------------------------------- 1 | export const migrationsDir: string 2 | -------------------------------------------------------------------------------- /packages/migrations/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/index.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1581292018019_add-users.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1581292018019_add-users.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1581292025458_user-perms.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1581292025458_user-perms.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1581297115194_add-solves.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1581297115194_add-solves.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1581725957097_del-password.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1581725957097_del-password.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1581840671046_add-solve-createdat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1581840671046_add-solve-createdat.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1581917595746_add-solves-primary-key.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1581917595746_add-solves-primary-key.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1582424634372_string-uuids.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1582424634372_string-uuids.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1582446586521_foreign-key-userid.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1582446586521_foreign-key-userid.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1585799727940_add-ctftime-id.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1585799727940_add-ctftime-id.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1587352163274_add-user-members.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1587352163274_add-user-members.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1587950739709_challenge-data.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1587950739709_challenge-data.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1590976823599_del-name-grade.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1590976823599_del-name-grade.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1591166544932_citext_name.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1591166544932_citext_name.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1591915539134_indices.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1591915539134_indices.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1591923901993_string-uuids.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1591923901993_string-uuids.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1592008739015_add-user-createdat.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1592008739015_add-user-createdat.js -------------------------------------------------------------------------------- /packages/migrations/migrations/1597827385452_timezone.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/migrations/1597827385452_timezone.js -------------------------------------------------------------------------------- /packages/migrations/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/migrations/package.json -------------------------------------------------------------------------------- /packages/server/.env: -------------------------------------------------------------------------------- 1 | ../../.env -------------------------------------------------------------------------------- /packages/server/.eslintignore: -------------------------------------------------------------------------------- 1 | ../../.eslintignore -------------------------------------------------------------------------------- /packages/server/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/.eslintrc.js -------------------------------------------------------------------------------- /packages/server/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/jest.config.js -------------------------------------------------------------------------------- /packages/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/package.json -------------------------------------------------------------------------------- /packages/server/src/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/.eslintrc.js -------------------------------------------------------------------------------- /packages/server/src/api/admin/challs/delete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/challs/delete.ts -------------------------------------------------------------------------------- /packages/server/src/api/admin/challs/get.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/challs/get.ts -------------------------------------------------------------------------------- /packages/server/src/api/admin/challs/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/challs/index.js -------------------------------------------------------------------------------- /packages/server/src/api/admin/challs/list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/challs/list.ts -------------------------------------------------------------------------------- /packages/server/src/api/admin/challs/put.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/challs/put.ts -------------------------------------------------------------------------------- /packages/server/src/api/admin/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/index.js -------------------------------------------------------------------------------- /packages/server/src/api/admin/upload/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/upload/index.js -------------------------------------------------------------------------------- /packages/server/src/api/admin/upload/post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/upload/post.ts -------------------------------------------------------------------------------- /packages/server/src/api/admin/upload/query.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/admin/upload/query.ts -------------------------------------------------------------------------------- /packages/server/src/api/auth/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/auth/index.js -------------------------------------------------------------------------------- /packages/server/src/api/auth/login.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/auth/login.ts -------------------------------------------------------------------------------- /packages/server/src/api/auth/recover.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/auth/recover.ts -------------------------------------------------------------------------------- /packages/server/src/api/auth/register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/auth/register.js -------------------------------------------------------------------------------- /packages/server/src/api/auth/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/auth/test.ts -------------------------------------------------------------------------------- /packages/server/src/api/auth/verify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/auth/verify.js -------------------------------------------------------------------------------- /packages/server/src/api/buildResponseSchema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/buildResponseSchema.ts -------------------------------------------------------------------------------- /packages/server/src/api/challs/get.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/challs/get.ts -------------------------------------------------------------------------------- /packages/server/src/api/challs/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/challs/index.js -------------------------------------------------------------------------------- /packages/server/src/api/challs/solves.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/challs/solves.ts -------------------------------------------------------------------------------- /packages/server/src/api/challs/submit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/challs/submit.ts -------------------------------------------------------------------------------- /packages/server/src/api/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/helpers.ts -------------------------------------------------------------------------------- /packages/server/src/api/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/index.ts -------------------------------------------------------------------------------- /packages/server/src/api/integrations/client/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/integrations/client/config.ts -------------------------------------------------------------------------------- /packages/server/src/api/integrations/client/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/integrations/client/index.js -------------------------------------------------------------------------------- /packages/server/src/api/integrations/ctftime/callback.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/integrations/ctftime/callback.js -------------------------------------------------------------------------------- /packages/server/src/api/integrations/ctftime/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/integrations/ctftime/index.js -------------------------------------------------------------------------------- /packages/server/src/api/integrations/ctftime/leaderboard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/integrations/ctftime/leaderboard.ts -------------------------------------------------------------------------------- /packages/server/src/api/leaderboard/graph.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/leaderboard/graph.ts -------------------------------------------------------------------------------- /packages/server/src/api/leaderboard/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/leaderboard/index.js -------------------------------------------------------------------------------- /packages/server/src/api/leaderboard/now.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/leaderboard/now.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/id.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/index.js -------------------------------------------------------------------------------- /packages/server/src/api/users/me-auth/ctftime/delete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/me-auth/ctftime/delete.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/me-auth/ctftime/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/me-auth/ctftime/index.js -------------------------------------------------------------------------------- /packages/server/src/api/users/me-auth/ctftime/put.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/me-auth/ctftime/put.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/me-auth/email/delete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/me-auth/email/delete.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/me-auth/email/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/me-auth/email/index.js -------------------------------------------------------------------------------- /packages/server/src/api/users/me-auth/email/put.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/me-auth/email/put.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/me.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/me.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/members/delete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/members/delete.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/members/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/members/index.js -------------------------------------------------------------------------------- /packages/server/src/api/users/members/list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/members/list.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/members/new.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/members/new.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/update.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/update.ts -------------------------------------------------------------------------------- /packages/server/src/api/users/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/api/users/util.ts -------------------------------------------------------------------------------- /packages/server/src/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/app.js -------------------------------------------------------------------------------- /packages/server/src/auth/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/auth/index.ts -------------------------------------------------------------------------------- /packages/server/src/auth/register.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/auth/register.ts -------------------------------------------------------------------------------- /packages/server/src/auth/token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/auth/token.ts -------------------------------------------------------------------------------- /packages/server/src/cache/challs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/challs.ts -------------------------------------------------------------------------------- /packages/server/src/cache/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/client.ts -------------------------------------------------------------------------------- /packages/server/src/cache/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/index.ts -------------------------------------------------------------------------------- /packages/server/src/cache/leaderboard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/leaderboard.ts -------------------------------------------------------------------------------- /packages/server/src/cache/login.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/login.ts -------------------------------------------------------------------------------- /packages/server/src/cache/scripts/chunk-call.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/scripts/chunk-call.lua -------------------------------------------------------------------------------- /packages/server/src/cache/scripts/get-graph.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/scripts/get-graph.lua -------------------------------------------------------------------------------- /packages/server/src/cache/scripts/get-range.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/scripts/get-range.lua -------------------------------------------------------------------------------- /packages/server/src/cache/scripts/rate-limit.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/scripts/rate-limit.lua -------------------------------------------------------------------------------- /packages/server/src/cache/scripts/set-graph.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/scripts/set-graph.lua -------------------------------------------------------------------------------- /packages/server/src/cache/scripts/set-leaderboard.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/scripts/set-leaderboard.lua -------------------------------------------------------------------------------- /packages/server/src/cache/timeouts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/cache/timeouts.ts -------------------------------------------------------------------------------- /packages/server/src/challenges/Provider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/challenges/Provider.ts -------------------------------------------------------------------------------- /packages/server/src/challenges/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/challenges/index.ts -------------------------------------------------------------------------------- /packages/server/src/challenges/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/challenges/types.ts -------------------------------------------------------------------------------- /packages/server/src/challenges/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/challenges/util.ts -------------------------------------------------------------------------------- /packages/server/src/config/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/config/client.ts -------------------------------------------------------------------------------- /packages/server/src/config/load.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/config/load.ts -------------------------------------------------------------------------------- /packages/server/src/config/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/config/server.ts -------------------------------------------------------------------------------- /packages/server/src/config/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/config/types.ts -------------------------------------------------------------------------------- /packages/server/src/config/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/config/util.ts -------------------------------------------------------------------------------- /packages/server/src/database/challenges.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/challenges.ts -------------------------------------------------------------------------------- /packages/server/src/database/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/db.ts -------------------------------------------------------------------------------- /packages/server/src/database/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/index.ts -------------------------------------------------------------------------------- /packages/server/src/database/members.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/members.ts -------------------------------------------------------------------------------- /packages/server/src/database/migrate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/migrate.ts -------------------------------------------------------------------------------- /packages/server/src/database/solves.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/solves.ts -------------------------------------------------------------------------------- /packages/server/src/database/users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/users.ts -------------------------------------------------------------------------------- /packages/server/src/database/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/database/util.ts -------------------------------------------------------------------------------- /packages/server/src/email/emails/verify.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/email/emails/verify.html -------------------------------------------------------------------------------- /packages/server/src/email/emails/verify.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/email/emails/verify.txt -------------------------------------------------------------------------------- /packages/server/src/email/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/email/index.ts -------------------------------------------------------------------------------- /packages/server/src/email/provider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/email/provider.ts -------------------------------------------------------------------------------- /packages/server/src/errors/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/errors/index.js -------------------------------------------------------------------------------- /packages/server/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/index.js -------------------------------------------------------------------------------- /packages/server/src/leaderboard/calculate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/leaderboard/calculate.ts -------------------------------------------------------------------------------- /packages/server/src/leaderboard/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/leaderboard/index.ts -------------------------------------------------------------------------------- /packages/server/src/leaderboard/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/leaderboard/types.ts -------------------------------------------------------------------------------- /packages/server/src/leaderboard/worker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/leaderboard/worker.ts -------------------------------------------------------------------------------- /packages/server/src/providers/challenges/database/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/challenges/database/index.ts -------------------------------------------------------------------------------- /packages/server/src/providers/emails/mailgun/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/emails/mailgun/index.ts -------------------------------------------------------------------------------- /packages/server/src/providers/emails/postmark/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/emails/postmark/index.ts -------------------------------------------------------------------------------- /packages/server/src/providers/emails/ses/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/emails/ses/index.ts -------------------------------------------------------------------------------- /packages/server/src/providers/emails/smtp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/emails/smtp/index.ts -------------------------------------------------------------------------------- /packages/server/src/providers/uploads/dummy/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/uploads/dummy/index.ts -------------------------------------------------------------------------------- /packages/server/src/providers/uploads/gcs/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/uploads/gcs/index.ts -------------------------------------------------------------------------------- /packages/server/src/providers/uploads/local/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/providers/uploads/local/index.ts -------------------------------------------------------------------------------- /packages/server/src/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/tsconfig.json -------------------------------------------------------------------------------- /packages/server/src/uploads/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/uploads/index.ts -------------------------------------------------------------------------------- /packages/server/src/uploads/provider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/uploads/provider.ts -------------------------------------------------------------------------------- /packages/server/src/util/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/index.ts -------------------------------------------------------------------------------- /packages/server/src/util/normalize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/normalize.ts -------------------------------------------------------------------------------- /packages/server/src/util/object.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/object.ts -------------------------------------------------------------------------------- /packages/server/src/util/perms.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/perms.ts -------------------------------------------------------------------------------- /packages/server/src/util/restrict.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/restrict.ts -------------------------------------------------------------------------------- /packages/server/src/util/scores.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/scores.ts -------------------------------------------------------------------------------- /packages/server/src/util/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/types.ts -------------------------------------------------------------------------------- /packages/server/src/util/validate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/src/util/validate.ts -------------------------------------------------------------------------------- /packages/server/test/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/.eslintrc.js -------------------------------------------------------------------------------- /packages/server/test/_setup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/_setup.js -------------------------------------------------------------------------------- /packages/server/test/_util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/_util.ts -------------------------------------------------------------------------------- /packages/server/test/data/rctf.d/conf-test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/data/rctf.d/conf-test.yaml -------------------------------------------------------------------------------- /packages/server/test/data/static/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/server/test/integration/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/integration/app.js -------------------------------------------------------------------------------- /packages/server/test/integration/auth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/integration/auth.js -------------------------------------------------------------------------------- /packages/server/test/integration/challenges.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/integration/challenges.js -------------------------------------------------------------------------------- /packages/server/test/integration/leaderboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/integration/leaderboard.js -------------------------------------------------------------------------------- /packages/server/test/integration/profile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/integration/profile.js -------------------------------------------------------------------------------- /packages/server/test/integration/submit-timing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/integration/submit-timing.js -------------------------------------------------------------------------------- /packages/server/test/integration/submit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/integration/submit.js -------------------------------------------------------------------------------- /packages/server/test/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/tsconfig.json -------------------------------------------------------------------------------- /packages/server/test/unit/api/buildResponseSchema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/api/buildResponseSchema.ts -------------------------------------------------------------------------------- /packages/server/test/unit/auth/token.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/auth/token.ts -------------------------------------------------------------------------------- /packages/server/test/unit/challenges/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/challenges/index.js -------------------------------------------------------------------------------- /packages/server/test/unit/leaderboard/__snapshots__/calculate.ts.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/leaderboard/__snapshots__/calculate.ts.snap -------------------------------------------------------------------------------- /packages/server/test/unit/leaderboard/calculate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/leaderboard/calculate.ts -------------------------------------------------------------------------------- /packages/server/test/unit/rate-limit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/rate-limit.js -------------------------------------------------------------------------------- /packages/server/test/unit/restrict.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/restrict.js -------------------------------------------------------------------------------- /packages/server/test/unit/util/object.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/util/object.ts -------------------------------------------------------------------------------- /packages/server/test/unit/util/scores.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/test/unit/util/scores.ts -------------------------------------------------------------------------------- /packages/server/tsconfig-base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/tsconfig-base.json -------------------------------------------------------------------------------- /packages/server/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/server/tsconfig.json -------------------------------------------------------------------------------- /packages/tsconfig-base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/tsconfig-base.json -------------------------------------------------------------------------------- /packages/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/packages/tsconfig.json -------------------------------------------------------------------------------- /rctf.d/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripts/check-commits.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/scripts/check-commits.sh -------------------------------------------------------------------------------- /scripts/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/scripts/install.sh -------------------------------------------------------------------------------- /scripts/make-docker-package-json.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/scripts/make-docker-package-json.js -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/otter-sec/rctf/HEAD/yarn.lock --------------------------------------------------------------------------------