├── .gitignore ├── LICENSE.md ├── README.md ├── mypy.ini ├── requirements-dev.txt ├── requirements.txt ├── run_reducer_admin.py ├── run_reducer_bare.py ├── run_worker_api.py ├── run_worker_bare.py ├── scripts ├── active_players.py ├── category_board.py ├── check_which_flag.py ├── export_archive.py ├── export_player_wp_list.py ├── regen_all_attachment.py └── top_info.py ├── src ├── __init__.py ├── admin │ ├── __init__.py │ ├── app.py │ ├── fields.py │ ├── static │ │ └── ace-build │ │ │ ├── ace.js │ │ │ ├── mode-json.js │ │ │ ├── mode-markdown.js │ │ │ ├── mode-python.js │ │ │ ├── theme-sqlserver.js │ │ │ └── worker-json.js │ ├── templates │ │ ├── base.html │ │ ├── create_ace.html │ │ ├── details_break_word.html │ │ ├── edit_ace.html │ │ ├── import_challenge.html │ │ ├── list.html │ │ ├── list_challenge.html │ │ ├── list_user.html │ │ ├── status.html │ │ ├── test_challenge_flag.html │ │ ├── user_anticheat_log.html │ │ ├── user_move_group.html │ │ └── user_writeup_stats.html │ └── views.py ├── api │ ├── __init__.py │ ├── app.py │ ├── auth.py │ ├── endpoint │ │ ├── __init__.py │ │ ├── attachment.py │ │ ├── auth.py │ │ ├── sybil.py │ │ ├── template.py │ │ ├── wish.py │ │ └── ws.py │ ├── info.html │ └── wish.py ├── logic │ ├── __init__.py │ ├── base.py │ ├── glitter.py │ ├── pusher.py │ ├── reducer.py │ └── worker.py ├── police │ └── __init__.py ├── secret_example.py ├── state │ ├── __init__.py │ ├── announcement_state.py │ ├── board_state.py │ ├── challenge_state.py │ ├── flag_state.py │ ├── game_policy_state.py │ ├── game_state.py │ ├── submission_state.py │ ├── trigger_state.py │ └── user_state.py ├── store │ ├── __init__.py │ ├── announcement_store.py │ ├── challenge_store.py │ ├── feedback_store.py │ ├── game_policy_store.py │ ├── log_store.py │ ├── submission_store.py │ ├── trigger_store.py │ ├── user_profile_store.py │ └── user_store.py ├── token_signer.py └── utils.py └── stubs └── sanic_ext └── __init__.pyi /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/README.md -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/mypy.ini -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/requirements.txt -------------------------------------------------------------------------------- /run_reducer_admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/run_reducer_admin.py -------------------------------------------------------------------------------- /run_reducer_bare.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/run_reducer_bare.py -------------------------------------------------------------------------------- /run_worker_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/run_worker_api.py -------------------------------------------------------------------------------- /run_worker_bare.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/run_worker_bare.py -------------------------------------------------------------------------------- /scripts/active_players.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/scripts/active_players.py -------------------------------------------------------------------------------- /scripts/category_board.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/scripts/category_board.py -------------------------------------------------------------------------------- /scripts/check_which_flag.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/scripts/check_which_flag.py -------------------------------------------------------------------------------- /scripts/export_archive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/scripts/export_archive.py -------------------------------------------------------------------------------- /scripts/export_player_wp_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/scripts/export_player_wp_list.py -------------------------------------------------------------------------------- /scripts/regen_all_attachment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/scripts/regen_all_attachment.py -------------------------------------------------------------------------------- /scripts/top_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/scripts/top_info.py -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/admin/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/admin/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/app.py -------------------------------------------------------------------------------- /src/admin/fields.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/fields.py -------------------------------------------------------------------------------- /src/admin/static/ace-build/ace.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/static/ace-build/ace.js -------------------------------------------------------------------------------- /src/admin/static/ace-build/mode-json.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/static/ace-build/mode-json.js -------------------------------------------------------------------------------- /src/admin/static/ace-build/mode-markdown.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/static/ace-build/mode-markdown.js -------------------------------------------------------------------------------- /src/admin/static/ace-build/mode-python.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/static/ace-build/mode-python.js -------------------------------------------------------------------------------- /src/admin/static/ace-build/theme-sqlserver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/static/ace-build/theme-sqlserver.js -------------------------------------------------------------------------------- /src/admin/static/ace-build/worker-json.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/static/ace-build/worker-json.js -------------------------------------------------------------------------------- /src/admin/templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/base.html -------------------------------------------------------------------------------- /src/admin/templates/create_ace.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/create_ace.html -------------------------------------------------------------------------------- /src/admin/templates/details_break_word.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/details_break_word.html -------------------------------------------------------------------------------- /src/admin/templates/edit_ace.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/edit_ace.html -------------------------------------------------------------------------------- /src/admin/templates/import_challenge.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/import_challenge.html -------------------------------------------------------------------------------- /src/admin/templates/list.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/list.html -------------------------------------------------------------------------------- /src/admin/templates/list_challenge.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/list_challenge.html -------------------------------------------------------------------------------- /src/admin/templates/list_user.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/list_user.html -------------------------------------------------------------------------------- /src/admin/templates/status.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/status.html -------------------------------------------------------------------------------- /src/admin/templates/test_challenge_flag.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/test_challenge_flag.html -------------------------------------------------------------------------------- /src/admin/templates/user_anticheat_log.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/user_anticheat_log.html -------------------------------------------------------------------------------- /src/admin/templates/user_move_group.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/user_move_group.html -------------------------------------------------------------------------------- /src/admin/templates/user_writeup_stats.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/templates/user_writeup_stats.html -------------------------------------------------------------------------------- /src/admin/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/admin/views.py -------------------------------------------------------------------------------- /src/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/__init__.py -------------------------------------------------------------------------------- /src/api/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/app.py -------------------------------------------------------------------------------- /src/api/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/auth.py -------------------------------------------------------------------------------- /src/api/endpoint/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/api/endpoint/attachment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/endpoint/attachment.py -------------------------------------------------------------------------------- /src/api/endpoint/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/endpoint/auth.py -------------------------------------------------------------------------------- /src/api/endpoint/sybil.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/endpoint/sybil.py -------------------------------------------------------------------------------- /src/api/endpoint/template.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/endpoint/template.py -------------------------------------------------------------------------------- /src/api/endpoint/wish.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/endpoint/wish.py -------------------------------------------------------------------------------- /src/api/endpoint/ws.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/endpoint/ws.py -------------------------------------------------------------------------------- /src/api/info.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/info.html -------------------------------------------------------------------------------- /src/api/wish.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/api/wish.py -------------------------------------------------------------------------------- /src/logic/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/logic/__init__.py -------------------------------------------------------------------------------- /src/logic/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/logic/base.py -------------------------------------------------------------------------------- /src/logic/glitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/logic/glitter.py -------------------------------------------------------------------------------- /src/logic/pusher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/logic/pusher.py -------------------------------------------------------------------------------- /src/logic/reducer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/logic/reducer.py -------------------------------------------------------------------------------- /src/logic/worker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/logic/worker.py -------------------------------------------------------------------------------- /src/police/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/police/__init__.py -------------------------------------------------------------------------------- /src/secret_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/secret_example.py -------------------------------------------------------------------------------- /src/state/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/__init__.py -------------------------------------------------------------------------------- /src/state/announcement_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/announcement_state.py -------------------------------------------------------------------------------- /src/state/board_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/board_state.py -------------------------------------------------------------------------------- /src/state/challenge_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/challenge_state.py -------------------------------------------------------------------------------- /src/state/flag_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/flag_state.py -------------------------------------------------------------------------------- /src/state/game_policy_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/game_policy_state.py -------------------------------------------------------------------------------- /src/state/game_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/game_state.py -------------------------------------------------------------------------------- /src/state/submission_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/submission_state.py -------------------------------------------------------------------------------- /src/state/trigger_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/trigger_state.py -------------------------------------------------------------------------------- /src/state/user_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/state/user_state.py -------------------------------------------------------------------------------- /src/store/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/__init__.py -------------------------------------------------------------------------------- /src/store/announcement_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/announcement_store.py -------------------------------------------------------------------------------- /src/store/challenge_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/challenge_store.py -------------------------------------------------------------------------------- /src/store/feedback_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/feedback_store.py -------------------------------------------------------------------------------- /src/store/game_policy_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/game_policy_store.py -------------------------------------------------------------------------------- /src/store/log_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/log_store.py -------------------------------------------------------------------------------- /src/store/submission_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/submission_store.py -------------------------------------------------------------------------------- /src/store/trigger_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/trigger_store.py -------------------------------------------------------------------------------- /src/store/user_profile_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/user_profile_store.py -------------------------------------------------------------------------------- /src/store/user_store.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/store/user_store.py -------------------------------------------------------------------------------- /src/token_signer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/token_signer.py -------------------------------------------------------------------------------- /src/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/src/utils.py -------------------------------------------------------------------------------- /stubs/sanic_ext/__init__.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PKU-GeekGame/gs-backend/HEAD/stubs/sanic_ext/__init__.pyi --------------------------------------------------------------------------------