Skip to content

Commit

Permalink
implement
Browse files Browse the repository at this point in the history
  • Loading branch information
An0n-00 committed Feb 10, 2025
1 parent 587e3ef commit ae0e6a3
Show file tree
Hide file tree
Showing 7 changed files with 193 additions and 0 deletions.
14 changes: 14 additions & 0 deletions LICENSE
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.
25 changes: 25 additions & 0 deletions README.md
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).
67 changes: 67 additions & 0 deletions index.css
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;
}
29 changes: 29 additions & 0 deletions index.html
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>
56 changes: 56 additions & 0 deletions index.js
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;
});
}
1 change: 1 addition & 0 deletions pics/github-mark-white.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions pics/github-mark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ae0e6a3

Please sign in to comment.