From 32fff1a82f5243cee0c8077c8519eca317de9efc Mon Sep 17 00:00:00 2001 From: dd060606 Date: Mon, 8 Dec 2025 09:00:49 +0100 Subject: [PATCH] feat: add ctf flag --- backend/main.go | 19 +++++++++++++++++++ frontend/static/script.js | 9 +++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/backend/main.go b/backend/main.go index acad935..c4d5448 100644 --- a/backend/main.go +++ b/backend/main.go @@ -61,6 +61,24 @@ func getDayAndLink(c *gin.Context) { c.JSON(200, LinkAndDate{Link: link, Date: date}) } +func getLegacyLink(c *gin.Context) { + requestedDate := c.Query("date") + currentDate := time.Now().Format("02-01-2006") + + // Si la date demandée n'est pas la date du jour -> FLAG + if requestedDate != "" && requestedDate != currentDate { + c.JSON(200, LinkAndDate{ + Link: "CTF{55460e0d0aec5088a008ce54e035e67f}", + Date: requestedDate, + }) + return + } + + // Sinon, comportement normal (on réutilise la logique de getDayAndLink ou on redirige) + // Pour faire simple ici, on appelle la même logique de récupération + getDayAndLink(c) +} + func main() { gin.SetMode(gin.ReleaseMode) router := gin.Default() @@ -73,6 +91,7 @@ func main() { // API route router.GET("/api/get_day", getDayAndLink) + router.GET("/api/get_link", getLegacyLink) // Serve the index.html file for all other routes router.NoRoute(func(c *gin.Context) { diff --git a/frontend/static/script.js b/frontend/static/script.js index 75ba61a..261b71e 100644 --- a/frontend/static/script.js +++ b/frontend/static/script.js @@ -4,6 +4,11 @@ const apiUrl = "https://calendrier.appen.fr/api/get_day"; // Fonction pour récupérer les données depuis l'API async function fetchDayData() { try { + /* Ancienne version + const dateAuj = new Date().toISOString().slice(0, 10).split("-").reverse().join("-"); + const apiUrlLegacy = "https://calendrier.appen.fr/api/get_link?date=" + dateAuj; + const response = await fetch(apiUrlLegacy); + */ const response = await fetch(apiUrl); if (!response.ok) { @@ -29,7 +34,7 @@ function initCalendar() { if (!dayData) return; // Si l'appel API échoue, on ne fait rien - + const todayDate = parseInt(dayData.date.split("-")[0], 10); // Extraire le jour de la date (ex : "27") const link = dayData.link; @@ -37,7 +42,7 @@ function initCalendar() { if (link) showModal(`Voici votre lien du jour : ${link}`); else - showModal("Ce lien n'existe pas. Si cela n'est pas normale, veuillez contacter Appen sur instagram."); + showModal("Ce lien n'existe pas. Si cela n'est pas normale, veuillez contacter Appen sur instagram."); } else { showModal("Ce lien n'est pas encore ou plus disponible !"); }