SkillAgentSearch skills...

TGCTF

๐Ÿšฉ ๅคฉๆ ผCTF - ๅผ€ๆบCTF็ซž่ต›ๅนณๅฐ | Open-source CTF Platform โš”๏ธ Jeopardy + AWD-F ใƒพ(โ—ยฐโˆ‡ยฐโ—)๏พ‰๏พž

Install / Use

/learn @NUDTTAN91/TGCTF
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <img src="TeamIco.svg" width="120" alt="TGCTF Logo"> </p> <h1 align="center">๐Ÿด TGCTF - ๅคฉๆ ผCTFๅนณๅฐ</h1> <p align="center"> <strong>โœจ ไธ€ไธช็ŽฐไปฃๅŒ–ใ€ๅŠŸ่ƒฝๅฎŒๅค‡็š„ CTF ็ซž่ต›ๅนณๅฐ โœจ</strong> </p> <p align="center"> <a href="#-็‰นๆ€งๅŠŸ่ƒฝ">็‰นๆ€ง</a> โ€ข <a href="#-ๆŠ€ๆœฏๆ ˆ">ๆŠ€ๆœฏๆ ˆ</a> โ€ข <a href="#-ๅฟซ้€Ÿๅผ€ๅง‹">ๅฟซ้€Ÿๅผ€ๅง‹</a> โ€ข <a href="#-้กน็›ฎ็ป“ๆž„">้กน็›ฎ็ป“ๆž„</a> โ€ข <a href="#%EF%B8%8F-้…็ฝฎ่ฏดๆ˜Ž">้…็ฝฎ</a> โ€ข <a href="#-ไฝœ่€…">ไฝœ่€…</a> </p> <p align="center"> <img src="https://img.shields.io/badge/Go-1.23-00ADD8?style=flat-square&logo=go" alt="Go"> <img src="https://img.shields.io/badge/Gin-Framework-00ADD8?style=flat-square&logo=go" alt="Gin"> <img src="https://img.shields.io/badge/PostgreSQL-16-336791?style=flat-square&logo=postgresql" alt="PostgreSQL"> <img src="https://img.shields.io/badge/Docker-Powered-2496ED?style=flat-square&logo=docker" alt="Docker"> <img src="https://img.shields.io/badge/License-AGPL--3.0-blue?style=flat-square" alt="License"> </p>

๐ŸŽฏ ้กน็›ฎ็ฎ€ไป‹

TGCTF๏ผˆๅคฉๆ ผCTF๏ผ‰ ๆ˜ฏไธ€ไธชๅŠŸ่ƒฝๅฎŒๅ–„็š„ CTF๏ผˆCapture The Flag๏ผ‰็ฝ‘็ปœๅฎ‰ๅ…จ็ซž่ต›ๅนณๅฐ๏ผŒๆ”ฏๆŒ Jeopardy ่งฃ้ข˜่ต› ๅ’Œ AWD-F ๆ”ป้˜ฒไฟฎๅค่ต› ไธค็งๆฏ”่ต›ๆจกๅผใ€‚

ๅนณๅฐไธ“ไธบ็ฝ‘็ปœๅฎ‰ๅ…จ็ซž่ต›่ฎพ่ฎก๏ผŒๅ…ทๅค‡ๅฎŒๆ•ด็š„ๆฏ”่ต›็ฎก็†ใ€้ข˜็›ฎ็ฎก็†ใ€้˜Ÿไผ็ฎก็†ใ€Docker ๅŠจๆ€้ถๆœบใ€้˜ฒไฝœๅผŠๆฃ€ๆต‹ๅ’Œๅฎžๆ—ถๅคงๅฑ็›‘ๆŽง็ญ‰ๅŠŸ่ƒฝใ€‚

  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
  โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ• โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•
     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘        โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  
     โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘        โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•”โ•โ•โ•  
     โ–ˆโ–ˆโ•‘   โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘     
     โ•šโ•โ•    โ•šโ•โ•โ•โ•โ•โ•  โ•šโ•โ•โ•โ•โ•โ•   โ•šโ•โ•   โ•šโ•โ•     
                    ๅคฉๆ ผCTFๅนณๅฐ

๐ŸŒŸ ็‰นๆ€งๅŠŸ่ƒฝ

๐ŸŽฎ ๆฏ”่ต›ๆจกๅผ

| ๆจกๅผ | ๆ่ฟฐ | |------|------| | ๐Ÿงฉ Jeopardy | ไผ ็ปŸ่งฃ้ข˜่ต›๏ผŒ้€‰ๆ‰‹่งฃ้ข˜่Žทๅ– Flag ๆไบคๅพ—ๅˆ†๏ผŒๆ”ฏๆŒไธดๆ—ถ้ข˜็›ฎ | | โš”๏ธ AWD-F | ๆ”ป้˜ฒไฟฎๅค่ต›๏ผŒ้€‰ๆ‰‹้˜ฒๅฎˆ่‡ชๅทฑ็š„้ถๆœบๅนถไฟฎๅคๆผๆดž |

๐Ÿ› ๏ธ ๆ ธๅฟƒๅŠŸ่ƒฝ

<table> <tr> <td width="50%">

๐Ÿ“‹ ๆฏ”่ต›็ฎก็†

  • ๐ŸŽฏ ๅคšๆฏ”่ต›ๅŒๆ—ถ่ฟ่กŒ
  • โฐ ่‡ชๅŠจ็Šถๆ€ๅˆ‡ๆข๏ผˆpending โ†’ running โ†’ ended๏ผ‰
  • ๐Ÿ† ไธ€ไบŒไธ‰่ก€ๅฅ–ๅŠฑ้…็ฝฎ
  • ๐Ÿ“ข ๆฏ”่ต›ๅ…ฌๅ‘Š็ณป็ปŸ
  • ๐Ÿ”’ ็ป„็ป‡้š”็ฆปไธŽ้˜Ÿไผๅฎกๆ ธ
</td> <td width="50%">

๐Ÿ“ ้ข˜็›ฎ็ณป็ปŸ

  • ๐Ÿ“š ้ข˜ๅบ“็ฎก็†๏ผŒ่ทจๆฏ”่ต›ๅค็”จ
  • ๐Ÿ“ ไธดๆ—ถ้ข˜็›ฎ๏ผŒๆฏ”่ต›ๅ†…ๅฟซ้€Ÿๅˆ›ๅปบ
  • โ˜‘๏ธ ไธๅฎš้กน้€‰ๆ‹ฉ้ข˜๏ผŒๆ”ฏๆŒๅคš้€‰ไธŽ็ญ”้ข˜ๆฌกๆ•ฐ้™ๅˆถ
  • ๐Ÿท๏ธ ๅคš็ฑปๅˆซๆ”ฏๆŒ๏ผˆWEB/PWN/REVERSE/CRYPTO/MISC...๏ผ‰
  • ๐Ÿ“Š ๅŠจๆ€่ฎกๅˆ†ๆจกๅž‹
  • โฑ๏ธ ๅฎšๆ—ถๆ”พ้ข˜
  • ๐Ÿ’ก ๅคšๆ็คบๆ”ฏๆŒ
</td> </tr> <tr> <td width="50%">

๐Ÿณ Docker ๅฎนๅ™จ

  • ๐Ÿš€ ๅŠจๆ€้ถๆœบไธ€้”ฎๅฏๅŠจ
  • ๐Ÿ”„ ้˜Ÿไผ็‹ฌ็ซ‹ Flag
  • โณ TTL ่‡ชๅŠจ้”€ๆฏไธŽ็ปญๆœŸ
  • ๐Ÿ“ฆ ็ซฏๅฃๆฑ ็ฎก็†
  • ๐Ÿ”ง ่ต„ๆบ้™ๅˆถ๏ผˆCPU/ๅ†…ๅญ˜๏ผ‰
</td> <td width="50%">

๐Ÿ” ้˜ฒไฝœๅผŠ็ณป็ปŸ

  • ๐ŸŒ ๅŒ IP ๅผ‚ๅธธๆฃ€ๆต‹
  • ๐Ÿšจ Flag ๅ…ฑไบซๆฃ€ๆต‹
  • ๐Ÿ“ก ๅฎžๆ—ถ WebSocket ๆŽจ้€
  • ๐Ÿ”’ ่‡ชๅŠจๅฐ็ฆๆœบๅˆถ
  • ๐Ÿ“Š IP ่ฝจ่ฟน่ฟฝ่ธช
</td> </tr> <tr> <td width="50%">

๐Ÿ“Š ๆŽ’่กŒๆฆœ & ๅคงๅฑ

  • ๐Ÿฅ‡ ๅฎžๆ—ถๆŽ’่กŒๆฆœ
  • ๐Ÿ“ˆ ๅˆ†ๆ•ฐ่ถ‹ๅŠฟๅ›พ
  • ๐Ÿ–ฅ๏ธ ๆฏ”่ต›ๅคงๅฑ็›‘ๆŽง
  • ๐Ÿฉธ ไธ€ไบŒไธ‰่ก€ๅ…ฌๅ‘Š
  • ๐Ÿ”„ WebSocket ๅฎžๆ—ถๆ›ดๆ–ฐ
</td> <td width="50%">

โš”๏ธ AWD-F ไธ“ๅฑž

  • ๐Ÿ›ก๏ธ ่กฅไธไธŠไผ ไธŽ้ชŒ่ฏ
  • ๐Ÿ”ฅ EXP ่‡ชๅŠจๆ”ปๅ‡ป่ฐƒๅบฆ
  • ๐Ÿ“Š ้˜ฒๅฎˆๅพ—ๅˆ†็ปŸ่ฎก
  • ๐Ÿ”„ ๅฎนๅ™จ้‡็ฝฎๅŠŸ่ƒฝ
  • โฑ๏ธ ๅ…จๅฑ€ๆ”ปๅ‡ปๅ€’่ฎกๆ—ถ
</td> </tr> </table>

๐Ÿ›ก๏ธ ๆŠ€ๆœฏๆ ˆ

<table> <tr> <td align="center" width="96"> <img src="https://go.dev/blog/go-brand/Go-Logo/PNG/Go-Logo_Blue.png" width="48" height="48" alt="Go"> <br><strong>Go 1.23</strong> </td> <td align="center" width="96"> <img src="https://raw.githubusercontent.com/gin-gonic/logo/master/color.png" width="48" height="48" alt="Gin"> <br><strong>Gin</strong> </td> <td align="center" width="96"> <img src="https://www.postgresql.org/media/img/about/press/elephant.png" width="48" height="48" alt="PostgreSQL"> <br><strong>PostgreSQL 16</strong> </td> <td align="center" width="96"> <img src="https://www.docker.com/wp-content/uploads/2022/03/vertical-logo-monochromatic.png" width="48" height="48" alt="Docker"> <br><strong>Docker</strong> </td> <td align="center" width="96"> <img src="https://jwt.io/img/pic_logo.svg" width="48" height="48" alt="JWT"> <br><strong>JWT</strong> </td> </tr> </table>

ๅŽ็ซฏ

  • ๐Ÿ”ง Go 1.23 - ้ซ˜ๆ€ง่ƒฝๅŽ็ซฏ่ฏญ่จ€
  • ๐ŸŒ Gin - ่ฝป้‡็บง Web ๆก†ๆžถ
  • ๐Ÿ—ƒ๏ธ pgx - PostgreSQL ้ฉฑๅŠจ
  • ๐Ÿ” golang-jwt - JWT ่ฎค่ฏ
  • ๐Ÿ”’ bcrypt - ๅฏ†็ ๅŠ ๅฏ†

ๆ•ฐๆฎๅบ“

  • ๐Ÿ’พ PostgreSQL 16 - ไธปๆ•ฐๆฎๅบ“

ๅฎนๅ™จๅŒ–

  • ๐Ÿณ Docker - ๅŠจๆ€้ถๆœบๅฎนๅ™จ
  • ๐Ÿ™ Docker Compose - ๆœๅŠก็ผ–ๆŽ’

ๅ‰็ซฏ

  • ๐ŸŽจ Tailwind CSS - ๅŽŸๅญๅŒ– CSS ๆก†ๆžถ
  • โšก Alpine.js - ่ฝป้‡็บง JS ๆก†ๆžถ
  • ๐Ÿ“ก WebSocket - ๅฎžๆ—ถ้€šไฟก

๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

๐Ÿ“‹ ๅ‰็ฝฎ่ฆๆฑ‚

  • Docker & Docker Compose
  • Git

โšก ไธ€้”ฎ้ƒจ็ฝฒ

# 1. ๅ…‹้š†ไป“ๅบ“
git clone https://github.com/NUDTTAN91/TGCTF.git
cd TGCTF

# 2. ไฟฎๆ”น้…็ฝฎ๏ผˆๅฏ้€‰๏ผ‰
vim docker-compose.yml

# 3. ๅฏๅŠจๆœๅŠก
docker-compose up -d

# 4. ่ฎฟ้—ฎๅนณๅฐ
# ๅ‰ๅฐ: http://localhost
# ๅŽๅฐ: http://localhost/admin/admin.html

๐Ÿ”‘ ้ป˜่ฎค่ดฆๅท

[!warning]

โš ๏ธ ็”Ÿไบง็Žฏๅขƒ่ฏทๅŠกๅฟ…ไฟฎๆ”น้ป˜่ฎคๅฏ†็ ๏ผ

| ่ดฆๅท | ๅฏ†็  | ่ฏดๆ˜Ž | |------|------|------| | tan91 | tan91 | ่ถ…็บง็ฎก็†ๅ‘˜๏ผˆ่ฏทไฟฎๆ”น๏ผ‰ |


๐Ÿ“ ้กน็›ฎ็ป“ๆž„

TGCTF/
โ”œโ”€โ”€ ๐Ÿ“‚ server/                # ๅŽ็ซฏไปฃ็ 
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ admin/             # ็ฎก็†ๅ‘˜็›ธๅ…ณๆŽฅๅฃ
โ”‚   โ”‚   โ”œโ”€โ”€ anti_cheat.go     # ๐Ÿ” ้˜ฒไฝœๅผŠ็ณป็ปŸ
โ”‚   โ”‚   โ”œโ”€โ”€ organization.go   # ๐Ÿข ็ป„็ป‡็ฎก็†
โ”‚   โ”‚   โ”œโ”€โ”€ settings.go       # โš™๏ธ ็ณป็ปŸ่ฎพ็ฝฎ
โ”‚   โ”‚   โ”œโ”€โ”€ team.go           # ๐Ÿ‘ฅ ้˜Ÿไผ็ฎก็†
โ”‚   โ”‚   โ””โ”€โ”€ user.go           # ๐Ÿ‘ค ็”จๆˆท็ฎก็†
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ awdf/              # AWD-F ๆจกๅผ
โ”‚   โ”‚   โ”œโ”€โ”€ container.go      # ๐Ÿณ ๅฎนๅ™จ็ฎก็†
โ”‚   โ”‚   โ”œโ”€โ”€ exp.go            # ๐Ÿ’ฅ EXP ๆ‰ง่กŒ
โ”‚   โ”‚   โ”œโ”€โ”€ patch.go          # ๐Ÿ”ง ่กฅไธ็ณป็ปŸ
โ”‚   โ”‚   โ””โ”€โ”€ scheduler.go      # โฐ ๆ”ปๅ‡ป่ฐƒๅบฆๅ™จ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ contest/           # ๆฏ”่ต›็ฎก็†
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ docker/            # Docker ๅฎนๅ™จ็ฎก็†
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ question/          # ้ข˜็›ฎ็ฎก็†
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ submission/        # Flag ๆไบคไธŽ่ฎกๅˆ†
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ monitor/           # ๅคงๅฑ็›‘ๆŽง
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ logs/              # ็ณป็ปŸๆ—ฅๅฟ—
โ”‚   โ”œโ”€โ”€ main.go               # ๐Ÿš€ ๅ…ฅๅฃๆ–‡ไปถ
โ”‚   โ”œโ”€โ”€ auth.go               # ๐Ÿ” ่ฎค่ฏ
โ”‚   โ””โ”€โ”€ middleware.go         # ๐Ÿ”— ไธญ้—ดไปถ
โ”œโ”€โ”€ ๐Ÿ“‚ web/                   # ๅ‰็ซฏไปฃ็ 
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ admin/             # ็ฎก็†ๅŽๅฐ้กต้ข
โ”‚   โ””โ”€โ”€ *.html                # ็”จๆˆท็ซฏ้กต้ข
โ”œโ”€โ”€ ๐Ÿ“‚ data/                  # ๆ•ฐๆฎ็›ฎๅฝ•
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ postgres/          # PostgreSQL ๆ•ฐๆฎ
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ uploads/           # ไธŠไผ ๆ–‡ไปถ
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ attachments/       # ้ข˜็›ฎ้™„ไปถ
โ”œโ”€โ”€ ๐Ÿณ Dockerfile             # Docker ้•œๅƒๆž„ๅปบ
โ”œโ”€โ”€ ๐Ÿ™ docker-compose.yml     # ๆœๅŠก็ผ–ๆŽ’
โ”œโ”€โ”€ ๐Ÿ“œ init.sql               # ๆ•ฐๆฎๅบ“ๅˆๅง‹ๅŒ–
โ”œโ”€โ”€ ๐Ÿ“ฆ go.mod                 # Go ไพ่ต–
โ””โ”€โ”€ ๐Ÿ“– README.md              # ๆœฌๆ–‡ๆกฃ

โš™๏ธ ้…็ฝฎ่ฏดๆ˜Ž

๐Ÿ”ง ็Žฏๅขƒๅ˜้‡

| ๅ˜้‡ๅ | ้ป˜่ฎคๅ€ผ | ่ฏดๆ˜Ž | |--------|--------|------| | DATABASE_URL | - | PostgreSQL ่ฟžๆŽฅไธฒ | | JWT_SECRET | change-this-secret | JWT ็ญพๅๅฏ†้’ฅ | | ADMIN_USERNAME | tan91 | ่ถ…็บง็ฎก็†ๅ‘˜็”จๆˆทๅ | | ADMIN_PASSWORD | - | ่ถ…็บง็ฎก็†ๅ‘˜ๅฏ†็  | | SERVER_PORT | 80 | ๆœๅŠก็ซฏๅฃ |

๐Ÿ“ docker-compose.yml ็คบไพ‹

services:
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: tgctf
      POSTGRES_USER: tgctf
      POSTGRES_PASSWORD: your-strong-password

  app:
    build: .
    environment:
      DATABASE_URL: postgres://tgctf:your-strong-password@db:5432/tgctf
      JWT_SECRET: "your-jwt-secret-key"
      ADMIN_USERNAME: admin
      ADMIN_PASSWORD: "your-admin-password"
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

๐Ÿ“Š ็ณป็ปŸๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ็”จๆˆทๆต่งˆๅ™จ                            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚ HTTP/WebSocket
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    TGCTF ๅบ”็”จๆœๅŠกๅ™จ                          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚  Gin Web Framework                                   โ”‚   โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ API Routes (/api/*)                            โ”‚   โ”‚
โ”‚  โ”‚  โ”œโ”€โ”€ Admin Routes (/api/admin/*)                    โ”‚   โ”‚
โ”‚  โ”‚  โ””โ”€โ”€ Static Files (web/*)                           โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚  โ”‚ ๆฏ”่ต›็ฎก็†  โ”‚ โ”‚ ้ข˜็›ฎ็ณป็ปŸ  โ”‚ โ”‚ Docker   โ”‚ โ”‚ ้˜ฒไฝœๅผŠ   โ”‚       โ”‚
โ”‚  โ”‚  Module  โ”‚ โ”‚  Module  โ”‚ โ”‚  Module  โ”‚ โ”‚  Module  โ”‚       โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚                             โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PostgreSQL   โ”‚           โ”‚   Docker Engine   โ”‚
โ”‚    Database   โ”‚           โ”‚   (ๅŠจๆ€้ถๆœบๅฎนๅ™จ)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŽจ ็•Œ้ข้ข„่งˆ

[!tip]

๐Ÿ’ก ๅนณๅฐ้‡‡็”จๆทฑ่‰ฒไธป้ข˜่ฎพ่ฎก๏ผŒๆฉ™้ป‘้…่‰ฒ๏ผŒ็ง‘ๆŠ€ๆ„Ÿๅ่ถณ๏ผ

็‰น่‰ฒ็•Œ้ข

  • ๐Ÿ  ้ฆ–้กต - ่ต›ๅšๆœ‹ๅ…‹้ฃŽๆ ผ็š„ๆฌข่ฟŽ้กต
  • ๐Ÿ” ็™ปๅฝ•/ๆณจๅ†Œ - ๆž็ฎ€่ฎพ่ฎก๏ผŒๅฟซ้€ŸไธŠๆ‰‹
  • ๐ŸŽฎ ๆฏ”่ต›้ข˜็›ฎ - ๅก็‰‡ๅผๅธƒๅฑ€๏ผŒๅˆ†็ฑปๆธ…ๆ™ฐ
  • ๐Ÿ“Š ๆŽ’่กŒๆฆœ - ๅฎžๆ—ถๆ›ดๆ–ฐ๏ผŒไธ€ไบŒไธ‰่ก€ๆ ‡่ฎฐ
  • ๐Ÿ–ฅ๏ธ ๅคงๅฑ็›‘ๆŽง - ๆฏ”่ต›ๅฎžๆ—ถๅŠจๆ€ๅฑ•็คบ
  • โš™๏ธ ็ฎก็†ๅŽๅฐ - ๅŠŸ่ƒฝๅฎŒๅค‡็š„็ฎก็†็•Œ้ข

๐Ÿ“ˆ ๅŠจๆ€่ฎกๅˆ†ๆจกๅž‹

TGCTF ้‡‡็”จ ๆŒ‡ๆ•ฐ่กฐๅ‡ๅŠจๆ€่ฎกๅˆ† ๆจกๅž‹๏ผš

S(N) = Smin + (Smax - Smin) ร— e^(-(N-1)/(10ร—D))

ๅ…ถไธญ๏ผš
- S(N)  = ๅฝ“ๅ‰ๅˆ†ๅ€ผ
- Smax  = ๅˆๅง‹ๅˆ†ๆ•ฐ
- Smin  = ๆœ€ไฝŽๅˆ†ๆ•ฐ
- N     = ๅทฒ่งฃๅ‡บ้˜Ÿไผๆ•ฐ
- D     = ้šพๅบฆ็ณปๆ•ฐ (1-10)

่ก€้‡ๅฅ–ๅŠฑ๏ผˆๅฏ้…็ฝฎ๏ผ‰๏ผš

  • ๐Ÿฉธ ไธ€่ก€๏ผšๅŸบ็ก€ๅˆ† +5%
  • ๐Ÿฉธ ไบŒ่ก€๏ผšๅŸบ็ก€ๅˆ† +3%
  • ๐Ÿฉธ ไธ‰่ก€๏ผšๅŸบ็ก€ๅˆ† +1%

๐Ÿค ่ดก็ŒฎๆŒ‡ๅ—

ๆฌข่ฟŽๆไบค Issue ๅ’Œ Pull Request๏ผ

  1. Fork ๆœฌไป“ๅบ“
  2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (git checkout -b feature/AmazingFeature)
  3. ๆไบคๆ›ดๆ”น (git commit -m 'Add some AmazingFeature')
  4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (git push origin feature/AmazingFeature)
  5. ๅผ€ๅฏ Pull Request

๐Ÿ“„ ๅผ€ๆบๅ่ฎฎ

ๆœฌ้กน็›ฎ้‡‡็”จ AGPL-3.0 License ๅผ€ๆบๅ่ฎฎใ€‚

[!warning]

ๅฆ‚ๆžœไฝ ไฟฎๆ”นไบ†ๆœฌ้กน็›ฎๅนถ้€š่ฟ‡็ฝ‘็ปœๆไพ›ๆœๅŠก๏ผŒไฝ ๅฟ…้กปๅ…ฌๅผ€ไฝ ็š„ไฟฎๆ”นๅŽ็š„ๆบไปฃ็ ใ€‚

่ฏฆ่ง LICENSE ๆ–‡ไปถใ€‚


๐Ÿ‘จโ€๐Ÿ’ป ไฝœ่€…

<table> <tr> <td align="center"> <a href="https://github.com/NUDTTAN91"> <img src="web/assets/hacker.png" width="100px;" alt="tan91"/> <br /> <sub><b>tan91</b></sub> </a> <br /> <a href="https://github.com/NUDTTAN91" title="GitHub">๐Ÿ™ GitHub</a> <br /> <a href="https://blog.csdn.net/ZXW_NUDT" title="Blog">๐Ÿ“ CSDN</a> </td> </tr> </table>
<p align="center"> <strong>Made with โค๏ธ by tan91</strong> </p> <p align="center"> Copyright ยฉ 2021-present tan91. All Rights Reserved. </p>

๐Ÿ“ธ ้กน็›ฎๆˆชๅ›พ

<details> <summary>๐Ÿ  <b>้ฆ–้กต & ็™ปๅฝ•</b></summary> <br>

้ฆ–้กต

็™ปๅฝ•

ๆณจๅ†Œ

</details> <details> <summary>๐ŸŽฏ <b>ๆฏ”่ต›็•Œ้ข</b></summary> <br>

ๆฏ”่ต›ๅˆ—่กจ

้ข˜็›ฎๅˆ—่กจ

้ข˜็›ฎ่ฏฆๆƒ…

ๅŠจๆ€้ถๆœบ

ๆŽ’่กŒๆฆœ

</details> <details> <summary>โš”๏ธ <b>AWD-F ๆ”ป้˜ฒๆจกๅผ</b></summary> <br>

AWD-F้ข˜็›ฎ

AWD-Fๅคงๅฑ็›‘ๆŽง

</details> <details> <summary>๐Ÿ› ๏ธ <b>็ฎก็†ๅŽๅฐ</b></summary> <br>

ไปช่กจ็›˜

ๆฏ”่ต›็ฎก็†

้ข˜็›ฎ็ฎก็†

็”จๆˆท็ฎก็†

้˜Ÿไผ็ฎก็†

้˜ฒไฝœๅผŠ็›‘ๆŽง

Docker็ฎก็†

![็ณป็ปŸ่ฎพ็ฝฎ](README_image

View on GitHub
GitHub Stars168
CategoryDevelopment
Updated10h ago
Forks17

Languages

HTML

Security Score

95/100

Audited on Apr 1, 2026

No findings