-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
193 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://github.com/An0n-00/mentimeter-quiz-solutions">mentimeter-quiz-solutions</a> by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://github.com/An0n-00">An0n-00</a> is licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International | ||
<br><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg?ref=chooser-v1" alt=""><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg?ref=chooser-v1" alt=""><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/nc.svg?ref=chooser-v1" alt=""><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/sa.svg?ref=chooser-v1" alt=""></a></p> | ||
|
||
Meaning: | ||
|
||
### You are free to: | ||
- Share — copy and redistribute the material in any medium or format | ||
- Adapt — remix, transform, and build upon the material | ||
- The licensor cannot revoke these freedoms as long as you follow the license terms. | ||
### Under the following terms: | ||
- Attribution — You must give appropriate credit , provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. | ||
- NonCommercial — You may not use the material for commercial purposes . | ||
- ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. | ||
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,27 @@ | ||
# mentimeter-quiz-solutions | ||
|
||
A website that automatically gets the solutions of your mentimeter quiz. | ||
|
||
This project is merely a proof of concept and should not be used for any malicious purposes. | ||
|
||
## How to use | ||
|
||
1. Copy the link of the mentimeter quiz you want to get the solutions of. | ||
|
||
2. Go to the website: [https://an0n-00.github.io/mentimeter-quiz-solutions/](https://an0n-00.github.io/mentimeter-quiz-solutions/) and paste the link in the input field. | ||
|
||
3. Click on the "Get solutions" button. | ||
|
||
4. The solutions will be displayed on the screen. | ||
|
||
## How it works | ||
|
||
I noticed that the mentimeter all the data of the quiz are requested on page load. This means that the solutions are also requested and can be found in the response data. This website simply gets the data of the quiz and extracts the solutions from it. | ||
|
||
## Disclaimer | ||
|
||
This project is merely a proof of concept and should not be used for any malicious purposes. I am not responsible for any misuse of this project. | ||
|
||
## License | ||
|
||
License: mentimeter-quiz-solutions by An0n-00 is [licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](./LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
body { | ||
font-family: Arial, sans-serif; | ||
margin: 0; | ||
padding: 0; | ||
display: flex; | ||
flex-direction: column; | ||
min-height: 100vh; | ||
} | ||
|
||
header { | ||
background-color: #282c34; | ||
color: white; | ||
padding: 20px; | ||
display: flex; | ||
justify-content: space-between; | ||
align-items: center; | ||
} | ||
|
||
header h1 { | ||
margin: 0; | ||
} | ||
|
||
main { | ||
flex: 1; | ||
display: flex; | ||
flex-direction: column; | ||
align-items: center; | ||
justify-content: center; | ||
padding: 20px; | ||
} | ||
|
||
main input, main button { | ||
margin: 10px; | ||
padding: 10px; | ||
font-size: 16px; | ||
width: 70%; | ||
} | ||
|
||
#solution { | ||
width: 70%; | ||
margin-top: 20px; | ||
} | ||
|
||
#solution div { | ||
background-color: #f9f9f9; | ||
border: 1px solid #ddd; | ||
border-radius: 5px; | ||
padding: 15px; | ||
margin-bottom: 10px; | ||
} | ||
|
||
#solution h3 { | ||
margin: 0 0 10px 0; | ||
font-size: 18px; | ||
} | ||
|
||
#solution p { | ||
margin: 5px 0; | ||
font-size: 16px; | ||
} | ||
|
||
footer { | ||
background-color: #282c34; | ||
color: white; | ||
text-align: center; | ||
padding: 10px; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<meta name="description" content="Mentimeter Quiz Solution Provider"> | ||
<meta name="keywords" content="Mentimeter, Quiz, Solution, Provider"> | ||
<meta name="author" content="Mentimeter Quiz Solution Provider"> | ||
<title>Mentimeter Quiz Solution Provider</title> | ||
<script src="./index.js" defer></script> | ||
<link rel="stylesheet" href="./index.css"> | ||
</head> | ||
<body> | ||
<header> | ||
<h1>Mentimeter Quiz Solution Provider</h1> | ||
<a href="https://github.com/An0n-00" target="_blank"> | ||
<img src="./pics/github-mark-white.svg" alt="GitHub" width="30" height="30"> | ||
</a> | ||
</header> | ||
<main> | ||
<input type="text" id="mentiLink" placeholder="Enter the menti.com link from your browser"> | ||
<button id="getAnswers">Get Answers</button> | ||
<div id="solution"></div> | ||
</main> | ||
<footer> | ||
<p>Rights reserved An0n-00. Proof of concept work. For educational purposes only.</p> | ||
</footer> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
document.getElementById('getAnswers').addEventListener('click', async function() { | ||
let mentiLink = document.getElementById('mentiLink').value; | ||
let mentiSessionId = mentiLink.split('/').pop().substring(0, 10) + "?"; | ||
if (mentiSessionId) { | ||
document.getElementById('solution').innerText = `Fetching answers for MentiSession: ${mentiSessionId}...`; | ||
let data = await getData(`https://api.allorigins.win/raw?url=https://api.mentimeter.com/audience/slide-deck/${mentiSessionId}`); | ||
document.getElementById('solution').innerText = ''; | ||
if (data.series === undefined) { | ||
document.getElementById('solution').innerText = 'No questions found. Please check if this is a correct Menti link. ' + `(${data.message})`; | ||
} | ||
data.series.questions.forEach(question => { | ||
if (question.type === 'quiz_open') { | ||
let questionText = question.question; | ||
let correctAnswers = question.choices; | ||
let newQuestion = document.createElement('div'); | ||
newQuestion.innerHTML = `<h3>Question: ${questionText}</h3>`; | ||
correctAnswers.forEach(answer => { | ||
newQuestion.innerHTML += `<p>Answer: ${answer.label}</p>`; | ||
}); | ||
document.getElementById('solution').appendChild(newQuestion); | ||
} | ||
}); | ||
} else { | ||
alert('Please enter a valid menti.com link.'); | ||
} | ||
}); | ||
|
||
async function getData(link) { | ||
return await fetch(link, { | ||
headers: { | ||
'accept': '*/*', | ||
'accept-encoding': 'gzip, deflate, br, zstd', | ||
'accept-language': 'en-GB,en;q=0.8', | ||
'dnt': '1', | ||
'origin': 'https://www.menti.com', | ||
'referer': 'https://www.menti.com/', | ||
'sec-ch-ua': '"(Not(A:Brand";v="99", "Opera";v="116", "Chromium";v="131"', | ||
'sec-ch-ua-full-version-list': '"(Not(A:Brand";v="99.0.0.0", "Opera";v="116", "Chromium";v="131"', | ||
'sec-ch-ua-mobile': '?0', | ||
'sec-ch-ua-platform': '"Windows"', | ||
'sec-gpc': '1', | ||
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6779.75 Safari/537.36 OPR/116.0.5207.26' | ||
} | ||
}) | ||
.then(response => { | ||
if (response.status === 200) { | ||
return response.json(); | ||
} else { | ||
alert('Failed to fetch data. Something went wrong.'); | ||
throw new Error('Failed to fetch data'); | ||
} | ||
}) | ||
.then(data => { | ||
return data; | ||
}); | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.