52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
|
|
import { Challenge, Team } from './types';
|
|
|
|
export const CATEGORIES = ['WEB', 'PWN', 'REV', 'CRY', 'MSC'];
|
|
export const DIFFICULTIES: ('Low' | 'Medium' | 'High')[] = ['Low', 'Medium', 'High'];
|
|
|
|
export const INITIAL_CHALLENGES: Challenge[] = [
|
|
{
|
|
id: '1',
|
|
title: 'algorave',
|
|
category: 'REV',
|
|
difficulty: 'Low',
|
|
description: 'The sound of the future is encrypted. Can you find the melody?',
|
|
initialPoints: 100,
|
|
flag: 'CTF{view_source_is_key}',
|
|
// Fix: Added missing 'files' property
|
|
files: [],
|
|
solves: []
|
|
},
|
|
{
|
|
id: '2',
|
|
title: 'shell(de)coding',
|
|
category: 'MSC',
|
|
difficulty: 'Medium',
|
|
description: 'Wait, this shellcode looks like a poem...',
|
|
initialPoints: 300,
|
|
flag: 'CTF{xor_is_not_encryption}',
|
|
// Fix: Added missing 'files' property
|
|
files: [],
|
|
solves: []
|
|
},
|
|
{
|
|
id: '3',
|
|
title: 'worrier',
|
|
category: 'CRY',
|
|
difficulty: 'High',
|
|
description: 'Anxious math leads to anxious flags.',
|
|
initialPoints: 500,
|
|
flag: 'CTF{worrier_not_warrior}',
|
|
// Fix: Added missing 'files' property
|
|
files: [],
|
|
solves: []
|
|
}
|
|
];
|
|
|
|
export const ADMIN_TEAM: Team = {
|
|
id: 'admin-0',
|
|
name: 'admin',
|
|
password: 'admin',
|
|
isAdmin: true
|
|
};
|