Files
VoxVera/site/index.html
T

544 lines
39 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=850">
<title id="site-title">Vox Vera Printable Flyers</title>
<style>
body {
font-family: 'Courier New', Courier, 'Nimbus Mono L', 'Liberation Mono', 'Noto Sans Arabic', 'Noto Sans Hebrew', monospace;
margin: 0;
padding: 20px 0;
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: column;
min-height: 100vh;
box-sizing: border-box;
background-color: #ffffff;
}
/* RTL Layout Overrides */
[dir="rtl"] .container {
flex-direction: row-reverse;
}
[dir="rtl"] .left-tear-offs {
border-right: none;
border-left: 1px dashed #000;
}
[dir="rtl"] .tear-off {
flex-direction: row-reverse;
}
[dir="rtl"] .qr-code {
margin-left: 0;
margin-right: 10px;
}
[dir="rtl"] .qr-code-body {
flex-direction: row-reverse;
}
[dir="rtl"] .qr-code-url {
text-align: right;
margin-right: 0;
margin-left: 10px;
}
[dir="rtl"] .message {
text-align: right;
}
[dir="rtl"] .text-container {
text-align: right;
}
/* ... existing styles ... */
a {
color: #b80000;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.wrapper {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
height: 100%;
width: 100%;
}
.container {
display: flex;
flex-direction: row;
height: 11in;
width: 8.5in;
border: 1px solid #000;
box-sizing: border-box;
overflow: hidden;
page-break-inside: avoid;
}
.print-button-container {
margin-top: 20px;
}
.print-button, .download-button, .lang-select {
padding: 10px 20px;
font-size: 14px;
cursor: pointer;
background-color: #000;
color: #fff;
border: none;
border-radius: 0px;
font-family: 'Courier New', Courier, monospace;
}
.lang-select {
background-color: #f0f0f0;
color: #000;
border: 1px solid #000;
}
.print-button:hover, .download-button:hover {
background-color: #444;
}
.left-tear-offs {
width: 3.75in;
padding: 8px;
border-right: 1px dashed #000;
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 5px;
box-sizing: border-box;
}
.tear-off {
display: flex;
height: 1in; /* Fixed height for consistency */
padding: 5px;
border: 1px dashed #000;
font-size: 10px;
box-sizing: border-box;
page-break-inside: avoid;
align-items: flex-start;
overflow: hidden;
}
.tear-off-text {
flex: 1;
min-width: 0;
word-wrap: break-word;
overflow-wrap: break-word;
word-break: break-all;
}
.tear-off a {
color: #b80000;
text-decoration: none;
}
.tear-off a:hover {
text-decoration: underline;
}
.qr-code {
width: 80px;
height: 80px;
border: 0px solid #000;
margin-left: 10px;
flex-shrink: 0;
}
.qr-code img {
width: 100%;
height: 100%;
object-fit: contain;
}
.content {
width: calc(8.5in - 3.75in);
padding: 20px;
text-align: center;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: space-between;
page-break-inside: avoid;
overflow-wrap: break-word;
}
h1 {
margin: 0;
margin-bottom: 10px;
font-size: 24px;
letter-spacing: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
.distribute {
font-size: 18px;
letter-spacing: 6px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
.redacted {
text-decoration: line-through;
}
.message {
height: 6in; /* Fixed height to prevent footer push-out */
margin-top: 10px;
font-size: 14px;
line-height: 1.4;
text-align: left;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: flex-start;
white-space: pre-wrap;
box-sizing: border-box;
position: relative;
}
.text-container {
flex: 1;
width: 100%;
height: 100%;
border: none;
outline: none;
font-family: 'Courier New', Courier, monospace;
font-size: 14px;
line-height: 1.4;
white-space: pre-wrap;
overflow: hidden;
box-sizing: border-box;
}
.qr-code-body {
width: 100%;
height: auto;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 10px;
padding: 0;
box-sizing: border-box;
}
.qr-code-body img {
width: 80px;
height: 80px;
object-fit: contain;
flex-shrink: 0;
}
.qr-code-url {
font-size: 12px;
text-align: left;
word-wrap: break-word;
overflow-wrap: break-word;
hyphens: auto;
flex-grow: 1;
margin-right: 10px;
max-width: 60%;
}
hr {
border: none;
border-top: 1px solid #000;
width: 100%;
margin: 10px 0;
}
.footer {
font-size: 10px;
overflow-wrap: break-word;
text-align: center;
align-self: center;
width: 100%;
padding: 10px 0;
box-sizing: border-box;
border-top: 1px solid #000;
}
.footer p {
margin: 0;
padding: 0;
}
.footer .binary {
margin-bottom: 5px;
margin-top: 20px;
}
.footer .credit {
font-size: 12px;
margin-top: 5px;
}
@media print {
body, html {
width: 8.5in;
height: 11in;
margin: 0;
padding: 0;
overflow: hidden;
display: block;
}
.container {
box-shadow: none;
border: none;
page-break-inside: avoid;
margin: 0;
padding: 0;
width: 8.5in;
height: 11in;
overflow: hidden;
}
.print-button, .download-button, .lang-select, .button-bar {
display: none !important;
}
body {
transform: none;
}
}
.button-bar {
display: flex;
gap: 10px;
padding: 20px 0 30px;
}
</style>
<script>
// VoxVera Multi-Language Engine
const locales = {"ar": {"meta": {"language_name": "\u0627\u0644\u0639\u0631\u0628\u064a\u0629", "flag": "\ud83c\uddf8\ud83c\udde6", "direction": "rtl"}, "web": {"tear_off_tor_browser": "\u0627\u0633\u062a\u062e\u062f\u0645 \u0645\u062a\u0635\u0641\u062d Tor", "tear_off_desc": "\u0644\u0644\u0645\u0633\u0627\u0639\u062f\u0629 \u0641\u064a \u0646\u0634\u0631 \u0647\u0630\u0647 \u0627\u0644\u0631\u0633\u0627\u0644\u0629\u060c \u0627\u0646\u062a\u0642\u0644 \u0625\u0644\u0649", "tear_off_footer": "\u0627\u0646\u0642\u0631 \u0641\u0648\u0642 \u0627\u0644\u0632\u0631 \u0623\u062f\u0646\u0627\u0647 \u0644\u0644\u0637\u0628\u0627\u0639\u0629", "built_with": "\u0628\u0646\u064a \u0628\u0648\u0627\u0633\u0637\u0629", "print_button": "\u0627\u0637\u0628\u0639 \u0627\u0644\u0645\u0646\u0634\u0648\u0631", "download_button": "\u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0623\u062f\u0627\u0629 \u0648\u0627\u0644\u0643\u0648\u062f"}, "landing": {"title": "\u0633\u0631\u064a \u0644\u0644\u063a\u0627\u064a\u0629", "subtitle": "~~\u0644\u0627~~ \u0644\u0644\u0646\u0634\u0631", "headline": "\u0639\u0645\u0644\u064a\u0629 VOX VERA", "content": "\u062a\u062d\u0631\u0631 \u0645\u0646 \u0627\u0644\u0631\u0642\u0627\u0628\u0629 \u0645\u0639 VoxVera. \u0623\u062f\u0627\u0629 \u062a\u0633\u0648\u064a\u0642 \u0639\u0635\u0627\u0628\u0627\u062a \u0645\u062c\u0647\u0648\u0644\u0629 \u0648\u0646\u0634\u0631 \u0631\u0633\u0627\u0626\u0644. \u0633\u0648\u0627\u0621 \u0639\u0628\u0631 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0623\u0648 \u0641\u064a \u0627\u0644\u0639\u0627\u0644\u0645 \u0627\u0644\u0645\u0627\u062f\u064a\u060c \u064a\u0645\u0643\u0646\u0647\u0627 \u062a\u0645\u0643\u064a\u0646\u0643 \u0645\u0646 \u0646\u0634\u0631 \u0623\u0641\u0643\u0627\u0631\u0643 \u0628\u062c\u0631\u0623\u0629\u060c \u0645\u062d\u0645\u064a\u0629 \u0628\u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0643\u0627\u0645\u0644 (\u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0633\u062a\u0636\u064a\u0641 \u0639\u0628\u0631 Tor). \u0642\u0645 \u0628\u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0643\u0648\u062f\u060c \u0648\u0635\u0645\u0645 \u0645\u0648\u0642\u0639 \u0645\u0646\u0634\u0648\u0631\u060c \u0648\u0627\u0633\u062a\u0636\u064a\u0641\u0647 \u0639\u0628\u0631 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0648\u0642\u0645 \u0628\u062a\u0636\u062e\u064a\u0645 \u0631\u0633\u0627\u0644\u062a\u0643.\n\n\u0627\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0642\u0648\u0629 \u0627\u0644\u0645\u064a\u0645\u064a\u0629 \u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0623\u0641\u0643\u0627\u0631\u0643 \u0641\u064a \u0645\u062f\u0631\u0633\u062a\u0643\u060c \u0623\u0648 \u0645\u0643\u0627\u0646 \u0639\u0645\u0644\u0643\u060c \u0623\u0648 \u0645\u062c\u062a\u0645\u0639\u0627\u062a\u0643 \u0639\u0628\u0631 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\u060c \u0623\u0648 \u062d\u062a\u0649 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0639\u0627\u0644\u0645. \u062a\u0636\u0645\u0646 VoxVera \u062a\u0631\u062f\u062f \u0635\u062f\u0649 \u0631\u0633\u0627\u0644\u062a\u0643 \u0628\u0639\u064a\u062f\u0627\u064b \u0648\u0639\u0644\u0649 \u0646\u0637\u0627\u0642 \u0648\u0627\u0633\u0639\u060c \u0645\u0639 \u0623\u0642\u0633\u0627\u0645 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0646\u0632\u0639 \u062a\u062a\u0645\u064a\u0632 \u0628\u0631\u0648\u0627\u0628\u0637 \u0641\u0631\u064a\u062f\u0629 \u0648\u0623\u0643\u0648\u0627\u062f QR \u0644\u0633\u0647\u0648\u0644\u0629 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0637\u0628\u0627\u0639\u0629.\n\n\u064a\u0645\u0643\u0646 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629. \u064a\u0645\u0643\u0646 \u0645\u0634\u0627\u0631\u0643\u0629 \u0627\u0644\u0645\u0646\u0634\u0648\u0631\u0627\u062a \u0639\u0628\u0631 \u0634\u0628\u0643\u0629 Tor\u060c \u0645\u0645\u0627 \u064a\u062d\u0645\u064a \u0627\u0644\u0645\u0636\u064a\u0641 \u0648\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0645\u0646 \u0627\u0644\u0631\u0642\u0627\u0628\u0629.\n\n\u0627\u0646\u0636\u0645 \u0625\u0644\u064a\u0646\u0627 \u0641\u064a \u062b\u0648\u0631\u0629 \u062a\u0642\u062f\u0631 \u0627\u0644\u062d\u0642\u064a\u0642\u0629 \u0648\u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629. \u0645\u0639\u0627\u064b\u060c \u064a\u0645\u0643\u0646\u0646\u0627 \u0628\u0646\u0627\u0621 \u0634\u0628\u0643\u0629 \u0645\u0646 \u0627\u0644\u0645\u0648\u0627\u0637\u0646\u064a\u0646 \u0627\u0644\u0645\u0633\u062a\u0646\u064a\u0631\u064a\u0646 \u0627\u0644\u0630\u064a\u0646 \u0644\u0627 \u064a\u062e\u0634\u0648\u0646 \u0627\u0644\u062a\u062d\u062f\u062b.", "url_message": "\u0627\u062d\u0635\u0644 \u0639\u0644\u0649 VoxVera \u0648\u0627\u0628\u062f\u0623 \u0628\u0646\u0634\u0631 \u0631\u0633\u0627\u0644\u062a\u0643."}}, "de": {"meta": {"language_name": "Deutsch", "flag": "\ud83c\udde9\ud83c\uddea"}, "web": {"tear_off_tor_browser": "Tor-Browser verwenden", "tear_off_desc": "um diese Nachricht zu verbreiten, gehen Sie zu", "tear_off_footer": "Klicken Sie auf die Schaltfl\u00e4che unten zum Drucken", "built_with": "erstellt mit", "print_button": "Flyer drucken", "download_button": "Tool & Quellcode herunterladen"}, "landing": {"title": "STRENG GEHEIM", "subtitle": "~~NICHT~~ VERBREITEN", "headline": "OPERATION VOX VERA", "content": "Befreien Sie sich von Zensur mit VoxVera. Ein anonymes Guerilla-Marketing- und Nachrichtenverbreitungs-Tool. Ob online oder in der physischen Welt, es bef\u00e4higt Sie, Ihre Ideen mutig zu verbreiten, gesch\u00fctzt durch vollst\u00e4ndige Anonymit\u00e4t (wenn Sie \u00fcber Tor hosten). Laden Sie den Code herunter, entwerfen Sie eine Flyer-Website, hosten Sie diese online und verst\u00e4rken Sie Ihre Botschaft.\n\nNutzen Sie memetische Kraft, um Ihre Ideen in Ihrer Schule, an Ihrem Arbeitsplatz, in Online-Communities oder sogar weltweit zu teilen. VoxVera stellt sicher, dass Ihre Botschaft weit und breit Resonanz findet, mit Abrei\u00dfabschnitten, die \u00fcber einzigartige URLs und QR-Codes f\u00fcr einen einfachen Nachdruck verf\u00fcgen.\n\nPrivatsph\u00e4re kann gewahrt bleiben. Flyer k\u00f6nnen \u00fcber das Tor-Network geteilt werden, was Hoster und Nutzer vor Zensur sch\u00fctzt.\n\nSchlie\u00dfen Sie sich uns in einer Revolution an, die Wahrheit und Transparenz sch\u00e4tzt. Gemeinsam k\u00f6nnen wir ein Netzwerk informierter B\u00fcrger aufbauen, die keine Angst haben, ihre Meinung zu sagen.", "url_message": "Holen Sie sich VoxVera und beginnen Sie, Ihre Nachricht zu verbreiten."}}, "en": {"meta": {"language_name": "English", "flag": "\ud83c\uddfa\ud83c\uddf8"}, "web": {"tear_off_tor_browser": "Use Tor Browser", "tear_off_desc": "to help spread this message go to", "tear_off_footer": "click the button below to print", "built_with": "built with", "print_button": "Print this page", "download_button": "Download Tool & Source"}, "landing": {"title": "TOP SECRET", "subtitle": "DO ~~NOT~~ DISTRIBUTE", "headline": "OPERATION VOX VERA", "content": "Break free from censorship with VoxVera. An anonymous guerrilla marketing and message-spreading tool. Whether online or in the physical world, it can empower you to spread your ideas boldly, shielded by complete anonymity (if you host over Tor). Download the code, design a flyer site, host it online and amplify your message.\n\nUse memetic power to share your ideas in your school, workplace, online communities, or even globally. VoxVera ensures your message resonates far and wide, with tear-off sections featuring unique URLs and QR codes for easy reprinting.\n\nPrivacy can be maintained. Flyers can be shared via the Tor network, protecting hoster and users from censorship.\n\nJoin us in a revolution that values truth and transparency. Together, we can build a network of informed citizens who are unafraid to speak out.", "url_message": "Get VoxVera and start spreading your message."}}, "es": {"meta": {"language_name": "Espa\u00f1ol", "flag": "\ud83c\uddea\ud83c\uddf8"}, "web": {"tear_off_tor_browser": "Use el Navegador Tor", "tear_off_desc": "para ayudar a difundir este mensaje vaya a", "tear_off_footer": "haga clic en el bot\u00f3n de abajo para imprimir", "built_with": "construido con", "print_button": "Imprimir volante", "download_button": "Descargar Herramienta y C\u00f3digo"}, "landing": {"title": "ALTO SECRETO", "subtitle": "~~NO~~ DISTRIBUIR", "headline": "OPERACI\u00d3N VOX VERA", "content": "Lib\u00e9rese de la censura con VoxVera. Una herramienta an\u00f3nima de marketing de guerrilla y difusi\u00f3n de mensajes. Ya sea en l\u00ednea o en el mundo f\u00edsico, puede empoderarlo para difundir sus ideas con audacia, protegido por un anonimato completo (si hospeda a trav\u00e9s de Tor). Descargue el c\u00f3digo, dise\u00f1e un sitio de volantes, hosp\u00e9delo en l\u00ednea y amplifique su mensaje.\n\nUse el poder mem\u00e9tico para compartir sus ideas en su escuela, lugar de trabajo, comunidades en l\u00ednea o incluso globalmente. VoxVera asegura que su mensaje resuene a lo largo und ancho, con secciones desprendibles que cuentan con URLs y c\u00f3digos QR \u00fanicos para una f\u00e1cil reimpresi\u00f3n.\n\nLa privacidad puede mantenerse. Los volantes se pueden compartir a trav\u00e9s de la red Tor, protegiendo al anfitri\u00f3n y a los usuarios de la censura.\n\n\u00danase a nosotros en una revoluci\u00f3n que valora la verdad y la transparencia. Juntos, podemos construir una red de ciudadanos informados que no temen hablar.", "url_message": "Obtenga VoxVera y comience a difundir su mensaje."}}, "he": {"meta": {"language_name": "\u05e2\u05d1\u05e8\u05d9\u05ea", "flag": "\ud83c\uddee\ud83c\uddf1", "direction": "rtl"}, "web": {"tear_off_tor_browser": "\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05d3\u05e4\u05d3\u05e4\u05df Tor", "tear_off_desc": "\u05db\u05d3\u05d9 \u05dc\u05e2\u05d6\u05d5\u05e8 \u05dc\u05d4\u05e4\u05d9\u05e5 \u05d0\u05ea \u05d4\u05de\u05e1\u05e8 \u05d4\u05d6\u05d4 \u05e2\u05d1\u05d5\u05e8 \u05d0\u05dc", "tear_off_footer": "\u05dc\u05d7\u05e5 \u05e2\u05dc \u05d4\u05db\u05e4\u05ea\u05d5\u05e8 \u05dc\u05de\u05d8\u05d4 \u05dc\u05d4\u05d3\u05e4\u05e1\u05d4", "built_with": "\u05e0\u05d1\u05e0\u05d4 \u05e2\u05dd", "print_button": "\u05d4\u05d3\u05e4\u05e1 \u05e4\u05dc\u05d9\u05d9\u05e8", "download_button": "\u05d4\u05d5\u05e8\u05d3 \u05db\u05dc\u05d9 \u05d5\u05e7\u05d5\u05d3 \u05de\u05e7\u05d5\u05e8"}, "landing": {"title": "\u05e1\u05d5\u05d3\u05d9 \u05d1\u05d9\u05d5\u05ea\u05e8", "subtitle": "~~\u05dc\u05d0~~ \u05dc\u05d4\u05e4\u05e6\u05d4", "headline": "\u05de\u05d1\u05e6\u05e2 VOX VERA", "content": "\u05d4\u05e9\u05ea\u05d7\u05e8\u05e8 \u05de\u05d4\u05e6\u05e0\u05d6\u05d5\u05e8\u05d4 \u05e2\u05dd VoxVera. \u05db\u05dc\u05d9 \u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9 \u05dc\u05e9\u05d9\u05d5\u05d5\u05e7 \u05d2\u05e8\u05d9\u05dc\u05d4 \u05d5\u05d4\u05e4\u05e6\u05ea \u05de\u05e1\u05e8\u05d9\u05dd. \u05d1\u05d9\u05df \u05d0\u05dd \u05d1\u05d0\u05d9\u05e0\u05d8\u05e8\u05e0\u05d8 \u05d5\u05d1\u05d9\u05df \u05d0\u05dd \u05d1\u05e2\u05d5\u05dc\u05dd \u05d4\u05e4\u05d9\u05d6\u05d9, \u05d4\u05d5\u05d0 \u05d9\u05db\u05d5\u05dc \u05dc\u05d4\u05e2\u05e6\u05d9\u05dd \u05d0\u05d5\u05ea\u05da \u05dc\u05d4\u05e4\u05d9\u05e5 \u05d0\u05ea \u05d4\u05e8\u05e2\u05d9\u05d5\u05e0\u05d5\u05ea \u05e9\u05dc\u05da \u05d1\u05ea\u05e2\u05d5\u05d6\u05d4, \u05de\u05d5\u05d2\u05df \u05d1\u05d0\u05e0\u05d5\u05e0\u05d9\u05de\u05d9\u05d5\u05ea \u05de\u05dc\u05d0\u05d4 (\u05d0\u05dd \u05d0\u05ea\u05d4 \u05de\u05d0\u05e8\u05d7 \u05d3\u05e8\u05da Tor). \u05d4\u05d5\u05e8\u05d3 \u05d0\u05ea \u05d4\u05e7\u05d5\u05d3, \u05e2\u05e6\u05d1 \u05d0\u05ea\u05e8 \u05e4\u05dc\u05d9\u05d9\u05e8, \u05d0\u05e8\u05d7 \u05d0\u05d5\u05ea\u05d5 \u05d0\u05d5\u05e0\u05dc\u05d9\u05d9\u05df \u05d5\u05d4\u05d2\u05d1\u05e8 \u05d0\u05ea \u05d4\u05de\u05e1\u05e8 \u05e9\u05dc\u05da.\n\n\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05db\u05d5\u05d7 \u05d4\u05de\u05de\u05d8\u05d9 \u05db\u05d3\u05d9 \u05dc\u05e9\u05ea\u05e3 \u05d0\u05ea \u05d4\u05e8\u05e2\u05d9\u05d5\u05e0\u05d5\u05ea \u05e9\u05dc\u05da \u05d1\u05d1\u05d9\u05ea \u05d4\u05e1\u05e4\u05e8, \u05d1\u05de\u05e7\u05d5\u05dd \u05d4\u05e2\u05d1\u05d5\u05d3\u05d4, \u05d1\u05e7\u05d4\u05d9\u05dc\u05d5\u05ea \u05de\u05e7\u05d5\u05d5\u05e0\u05d5\u05ea \u05d0\u05d5 \u05d0\u05e4\u05d9\u05dc\u05d5 \u05d1\u05e8\u05de\u05d4 \u05e2\u05d5\u05dc\u05de\u05d9\u05ea. VoxVera \u05de\u05d1\u05d8\u05d9\u05d7\u05d4 \u05e9\u05d4\u05de\u05e1\u05e8 \u05e9\u05dc\u05da \u05d9\u05d4\u05d3\u05d4\u05d3 \u05dc\u05de\u05e8\u05d7\u05e7\u05d9\u05dd, \u05e2\u05dd \u05d7\u05dc\u05e7\u05d9\u05dd \u05e0\u05ea\u05dc\u05e9\u05d9\u05dd \u05d4\u05db\u05d5\u05dc\u05dc\u05d9\u05dd \u05db\u05ea\u05d5\u05d1\u05d5\u05ea URL \u05d9\u05d9\u05d7\u05d5\u05d3\u05d9\u05d5\u05ea \u05d5\u05e7\u05d5\u05d3\u05d9 QR \u05dc\u05d4\u05d3\u05e4\u05e1\u05d4 \u05d7\u05d5\u05d6\u05e8\u05ea \u05e7\u05dc\u05d4.\n\n\u05e0\u05d9\u05ea\u05df \u05dc\u05e9\u05de\u05d5\u05e8 \u05e2\u05dc \u05e4\u05e8\u05d8\u05d9\u05d5\u05ea. \u05e0\u05d9\u05ea\u05df \u05dc\u05e9\u05ea\u05e3 \u05e4\u05dc\u05d9\u05d9\u05e8\u05d9\u05dd \u05d3\u05e8\u05da \u05e8\u05e9\u05ea Tor, \u05d5\u05d1\u05db\u05da \u05dc\u05d4\u05d2\u05df \u05e2\u05dc \u05d4\u05de\u05d0\u05e8\u05d7 \u05d5\u05e2\u05dc \u05d4\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05de\u05e4\u05e0\u05d9 \u05e6\u05e0\u05d6\u05d5\u05e8\u05d4.\n\n\u05d4\u05e6\u05d8\u05e8\u05e4\u05d5 \u05d0\u05dc\u05d9\u05e0\u05d5 \u05dc\u05de\u05d4\u05e4\u05db\u05d4 \u05e9\u05de\u05e2\u05e8\u05d9\u05db\u05d4 \u05d0\u05de\u05ea \u05d5\u05e9\u05e7\u05d9\u05e4\u05d5\u05ea. \u05d9\u05d7\u05d3, \u05e0\u05d5\u05db\u05dc \u05dc\u05d1\u05e0\u05d5\u05ea \u05e8\u05e9\u05ea \u05e9\u05dc \u05d0\u05d6\u05e8\u05d7\u05d9\u05dd \u05de\u05d5\u05e9\u05db\u05dc\u05d9\u05dd \u05e9\u05d0\u05d9\u05e0\u05dd \u05e4\u05d5\u05d7\u05d3\u05d9\u05dd \u05dc\u05d4\u05ea\u05d1\u05d8\u05d0.", "url_message": "\u05e7\u05d1\u05dc\u05d5 \u05d0\u05ea VoxVera \u05d5\u05d4\u05ea\u05d7\u05d9\u05dc\u05d5 \u05dc\u05d4\u05e4\u05d9\u05e5 \u05d0\u05ea \u05d4\u05de\u05e1\u05e8 \u05e9\u05dc\u05db\u05dd."}}, "ru": {"meta": {"language_name": "\u0420\u0443\u0441\u0441\u043a\u0438\u0439", "flag": "\ud83c\uddf7\ud83c\uddfa", "direction": "ltr"}, "web": {"tear_off_tor_browser": "\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 Tor Browser", "tear_off_desc": "\u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043c\u043e\u0447\u044c \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043d\u0430", "tear_off_footer": "\u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u043d\u0438\u0436\u0435, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c", "built_with": "\u0441\u043e\u0437\u0434\u0430\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e", "print_button": "\u041f\u0435\u0447\u0430\u0442\u044c \u043b\u0438\u0441\u0442\u043e\u0432\u043a\u0438", "download_button": "\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438 \u043a\u043e\u0434"}, "landing": {"title": "\u0421\u041e\u0412\u0415\u0420\u0428\u0415\u041d\u041d\u041e \u0421\u0415\u041a\u0420\u0415\u0422\u041d\u041e", "subtitle": "~~\u041d\u0415~~ \u0420\u0410\u0421\u041f\u0420\u041e\u0421\u0422\u0420\u0410\u041d\u042f\u0422\u042c", "headline": "\u041e\u041f\u0415\u0420\u0410\u0426\u0418\u042f VOX VERA", "content": "\u041e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u0435\u0441\u044c \u043e\u0442 \u0446\u0435\u043d\u0437\u0443\u0440\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e VoxVera. \u0410\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u0430\u0440\u0442\u0438\u0437\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u0430 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u0411\u0443\u0434\u044c \u0442\u043e \u0432 \u0441\u0435\u0442\u0438 \u0438\u043b\u0438 \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043c\u0438\u0440\u0435, \u043e\u043d \u0434\u0430\u0435\u0442 \u0432\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043c\u0435\u043b\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0434\u0435\u0438, \u0431\u0443\u0434\u0443\u0447\u0438 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u043b\u043d\u043e\u0439 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0441\u0442\u044c\u044e (\u043f\u0440\u0438 \u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0435 \u0447\u0435\u0440\u0435\u0437 Tor). \u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u043a\u043e\u0434, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u0430\u0439\u0442-\u043b\u0438\u0441\u0442\u043e\u0432\u043a\u0443, \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u0435\u0433\u043e \u0432 \u0441\u0435\u0442\u0438 \u0438 \u0443\u0441\u0438\u043b\u044c\u0442\u0435 \u0441\u0432\u043e\u0439 \u0433\u043e\u043b\u043e\u0441.\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u0438\u043b\u0443 \u043c\u0435\u043c\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c\u0438 \u0438\u0434\u0435\u044f\u043c\u0438 \u0432 \u0448\u043a\u043e\u043b\u0435, \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435, \u0432 \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430\u0445 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443. VoxVera \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u0432\u0430\u0448\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\u0439\u0434\u0435\u0442 \u043e\u0442\u043a\u043b\u0438\u043a \u043f\u043e\u0432\u0441\u044e\u0434\u0443, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043e\u0442\u0440\u044b\u0432\u043d\u044b\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u043c \u0441 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 URL-\u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0438 QR-\u043a\u043e\u0434\u0430\u043c\u0438 \u0434\u043b\u044f \u043b\u0435\u0433\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u043f\u0435\u0447\u0430\u0442\u043a\u0438.\n\n\u041a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430. \u041b\u0438\u0441\u0442\u043e\u0432\u043a\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0442\u044c Tor, \u0437\u0430\u0449\u0438\u0449\u0430\u044f \u0445\u043e\u0441\u0442\u0435\u0440\u0430 \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043e\u0442 \u0446\u0435\u043d\u0437\u0443\u0440\u044b.\n\n\u041f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0439\u0442\u0435\u0441\u044c \u043a \u043d\u0430\u043c \u0432 \u0440\u0435\u0432\u043e\u043b\u044e\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0446\u0435\u043d\u0438\u0442 \u043f\u0440\u0430\u0432\u0434\u0443 \u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c. \u0412\u043c\u0435\u0441\u0442\u0435 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0433\u0440\u0430\u0436\u0434\u0430\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0431\u043e\u044f\u0442\u0441\u044f \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f.", "url_message": "\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 VoxVera \u0438 \u043d\u0430\u0447\u043d\u0438\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435."}}}; // Injected at build time
function t(path, lang) {
const parts = path.split('.');
let val = locales[lang];
for (const part of parts) {
if (!val) return path;
val = val[part];
}
return val || path;
}
function setLanguage(lang) {
if (!locales[lang]) lang = 'en';
localStorage.setItem('voxvera_lang', lang);
// Set text direction
const direction = locales[lang].meta.direction || 'ltr';
document.documentElement.dir = direction;
document.documentElement.lang = lang;
document.querySelectorAll('[data-i18n]').forEach(el => {
const path = el.getAttribute('data-i18n');
let translation = t(path, lang);
if (translation) {
// Support Markdown-style redaction ~~text~~ -> <span class="redacted">text</span>
translation = translation.replace(/~~(.*?)~~/g, '<span class="redacted">$1</span>');
if (path.startsWith('landing.') || path.includes('subtitle') || path.includes('content')) {
el.innerHTML = translation;
} else {
el.innerText = translation;
}
}
});
document.getElementById('lang-selector').value = lang;
document.documentElement.lang = lang;
}
window.onload = () => {
const selector = document.getElementById('lang-selector');
// Populate selector
Object.keys(locales).forEach(code => {
const opt = document.createElement('option');
opt.value = code;
opt.innerText = `${locales[code].meta.flag} ${locales[code].meta.language_name}`;
selector.appendChild(opt);
});
const savedLang = localStorage.getItem('voxvera_lang');
const browserLang = navigator.language.split('-')[0];
const defaultLang = savedLang || (locales[browserLang] ? browserLang : 'en');
setLanguage(defaultLang);
};
</script>
</head>
<body>
<div class="container">
<div class="left-tear-offs">
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<!-- Repeat for other tear-offs -->
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
<div class="tear-off">
<div class="tear-off-text">
<span data-i18n="web.tear_off_tor_browser">Use Tor Browser</span><br><br>
<span data-i18n="web.tear_off_desc">to help spread this message go to</span><br>
<a class="tear-off-link" href="https://voxvera.org/" target="_blank">https://voxvera.org/</a><br>
<span data-i18n="web.tear_off_footer">click the button below to print</span>
</div>
<div class="qr-code">
<img src="qrcode-tear-offs.png" alt="QR Code">
</div>
</div>
</div>
<div class="content">
<h1 id="top-secret-title" data-i18n="landing.title">TOP SECRET</h1>
<div class="distribute" id="do-not-distribute" data-i18n="landing.subtitle">DO <span class="redacted">NOT</span> DISTRIBUTE</div>
<h1 id="operation-title-2" data-i18n="landing.headline">OPERATION VOX VERA</h1>
<hr>
<div class="message">
<div class="text-container" id="main-content" contenteditable="false" data-i18n="landing.content">Break free from censorship with VoxVera. An anonymous guerrilla marketing and message-spreading tool. Whether online or in the physical world, it can empower you to spread your ideas boldly, shielded by complete anonymity (if you host over Tor). Download the code, design a flyer site, host it online and amplify your message.
Use memetic power to share your ideas in your school, workplace, online communities, or even globally. VoxVera ensures your message resonates far and wide, with tear-off sections featuring unique URLs and QR codes for easy reprinting.
Privacy can be maintained. Flyers can be shared via the Tor network, protecting hoster and users from censorship.
Join us in a revolution that values truth and transparency. Together, we can build a network of informed citizens who are unafraid to speak out.</div>
<div class="qr-code-body">
<div class="qr-code-url">
<span class="url-message" data-i18n="landing.url_message">Get VoxVera and start spreading your message.</span><br><br>
<a id="qr-link-2" href="https://github.com/PR0M3TH3AN/VoxVera" target="_blank">https://github.com/PR0M3TH3AN/VoxVera</a>
</div>
<img src="qrcode-content.png" alt="QR Code">
</div>
</div>
<hr>
<div class="footer">
<p class="credit"><span data-i18n="web.built_with">built with</span> <a href="https://github.com/PR0M3TH3AN/VoxVera">voxvera</a></p>
<p class="binary" id="binary-message">0110010 0101011 0110010 0111101 0110100</p>
</div>
</div>
</div>
<div class="button-bar">
<button class="print-button" onclick="window.print()" data-i18n="web.print_button">Print this page</button>
<a class="download-button" href="download/voxvera-portable.zip" download data-i18n="web.download_button">Download Tool & Source</a>
<select class="lang-select" id="lang-selector" onchange="setLanguage(this.value)"></select>
</div>
</body>
</html>