mirror of https://gitlab.com/octtspacc/sitoctt
Test BitTorrent
This commit is contained in:
parent
84da23b9f8
commit
8cb16c519d
|
@ -4,7 +4,7 @@ before_script:
|
|||
- apk update
|
||||
- apk add python3 py3-pip npm go git
|
||||
- pip3 install requests lxml
|
||||
- npm install -g pug-cli
|
||||
- npm install -g pug-cli planktos
|
||||
|
||||
pages:
|
||||
stage: deploy
|
||||
|
@ -19,6 +19,7 @@ pages:
|
|||
- cd ..
|
||||
- git clone --depth 1 https://gitlab.com/octtspacc/staticoso
|
||||
- Scripts/Deploy.GitLab.sh
|
||||
- Scripts/Deploy.BitTorrent.sh
|
||||
- Scripts/Deploy.Gemini.sh
|
||||
artifacts:
|
||||
paths:
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
function PlanktosInstall() {
|
||||
if (!('serviceWorker' in navigator)) return
|
||||
|
||||
let attributes = document.currentScript.attributes
|
||||
let sw = '/planktos.sw.js'
|
||||
if (attributes['sw']) sw = attributes['sw'].value
|
||||
if (attributes['data-sw']) sw = attributes['data-sw'].value
|
||||
|
||||
navigator.serviceWorker.register(sw)
|
||||
.catch(function (err) {
|
||||
console.log('Service worker registration failed with ' + err)
|
||||
})
|
||||
}
|
||||
|
||||
function PrivacyAccepted() {
|
||||
PlanktosInstall();
|
||||
}
|
||||
|
||||
function ShowPrivacyPopup() {
|
||||
PrivacyPopup.style.display = 'block';
|
||||
PrivacyPopup.style.visibility = 'visible';
|
||||
PrivacyPopup.innerHTML = `
|
||||
<p><b>ℹ️ Notifica sulla privacy</b></p>
|
||||
<p>Cliccando OK, dichiari di comprendere e accettare che il tuo indirizzo IP potrebbe essere condiviso con i computer di altri utenti del sito durante la tua navigazione.</p>
|
||||
<details>
|
||||
<summary>Ulteriori informazioni</summary>
|
||||
<p>Questo sito usa tecnologie per la distribuzione ottimizzata delle risorse, secondo il paradigma peer-to-peer e il protocollo BitTorrent.</p>
|
||||
<p>Per via del funzionamento tecnico di questa soluzione, il tuo indirizzo IP potrebbe essere rivelato ai computer di altri utenti, da cui il tuo browser scaricherà i dati anziché passare per il server principale. Il tuo computer e la tua linea Internet, inoltre, potrebbero essere utilizzati per permettere ad altri utenti di scaricare i dati del sito in maniera ottimizzata.</p>
|
||||
<p>
|
||||
Se ritieni che questo sia per te un rischio di privacy, e non hai interesse nell'avere accesso ottimizzato al sito, anche qualora il server pincipale dovesse andare offline, puoi non accettare.
|
||||
<br>
|
||||
Semplicemente, ignora questo pop-up o, dalle impostazioni del browser, disattiva JavaScript o i cookie per farlo sparire completamente.
|
||||
</p>
|
||||
</details>
|
||||
<br>
|
||||
<button id="AcceptPrivacy" onclick="AcceptPrivacy()"><big><b>✅ OK</b></big></button>
|
||||
`;
|
||||
}
|
||||
|
||||
function HidePrivacyPopup() {
|
||||
PrivacyPopup.style.display = 'none';
|
||||
PrivacyPopup.style.visibility = 'hidden';
|
||||
PrivacyPopup.innerHTML = '';
|
||||
}
|
||||
|
||||
function AcceptPrivacy() {
|
||||
document.cookie = "PrivacyAccepted=true; max-age=31536000";
|
||||
HidePrivacyPopup();
|
||||
PrivacyAccepted();
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
function CheckPrivacyCookie() {
|
||||
if (navigator.cookieEnabled) {
|
||||
if (document.cookie.search('PrivacyAccepted=true') != -1) {
|
||||
PrivacyAccepted();
|
||||
} else {
|
||||
ShowPrivacyPopup();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
document.body.onload = CheckPrivacyCookie();
|
|
@ -133,8 +133,8 @@ H3:hover {
|
|||
}
|
||||
#LeftBox, #RightBox {
|
||||
Max-Width: 90vw;
|
||||
Background: #300030;
|
||||
Color: #fafaf0;
|
||||
Background: #300030;
|
||||
}
|
||||
#LeftBox A, #RightBox A, #BottomBox A {
|
||||
Color: #eeddff;
|
||||
|
@ -246,6 +246,20 @@ H3:hover {
|
|||
Float: Right;
|
||||
Clear: Both;
|
||||
}
|
||||
#PrivacyPopup {
|
||||
Display: None;
|
||||
Visibility: Hidden;
|
||||
Position: Fixed;
|
||||
Z-Index: 16;
|
||||
Color: #fafaf0;
|
||||
Background: #300030;
|
||||
Max-Width: 60vw;
|
||||
Max-Height: 50vh;
|
||||
Overflow-Y: Scroll;
|
||||
Bottom: 64px;
|
||||
Right: Calc(Var(--ContentPadding) * 2);
|
||||
Padding: Var(--ContentPadding);
|
||||
}
|
||||
#MainBoxGlobalFooter,
|
||||
#StatCounter,
|
||||
.Center {
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<div id="PrivacyPopup">
|
||||
<h3>Notifica sulla privacy</h3>
|
||||
<p>Cliccando OK, dichiari di comprendere e accettare che il tuo indirizzo IP potrebbe essere condiviso con i computer di altri utenti del sito durante la tua navigazione.</p>
|
||||
<details>
|
||||
<summary>Ulteriori informazioni</summary>
|
||||
<p>Questo sito usa tecnologie per la distribuzione ottimizzata delle risorse, secondo il paradigma peer-to-peer e il protocollo BitTorrent.</p>
|
||||
<p>Per via del funzionamento tecnico di questa soluzione, il tuo indirizzo IP potrebbe essere rivelato a computer di altri utenti, da cui il tuo browser scaricherà i dati anziché passare per il server principale. Il tuo computer e la tua linea Internet, inoltre, potrebbero essere utilizzati per permettere ad altri utenti di scaricare i dati del sito in maniera ottimizzata.</p>
|
||||
<p>Se ritieni che questo sia per te un rischio di privacy, e non hai interesse nell'avere accesso ottimizzato al sito, anche qualora il server pincipale dovesse andare offline, puoi ignorare questo pop-up o disattivare JavaScript per farlo sparire completamente.</p>
|
||||
</details>
|
||||
<br>
|
||||
<button id="AcceptPrivacy">OK</button>
|
||||
</div>
|
|
@ -0,0 +1,2 @@
|
|||
<!-- <script src="[HTML:Site:RelativeRoot]planktos/install.js"></script> -->
|
||||
<script src="[HTML:Site:RelativeRoot]Assets/Privacy.js" defer></script>
|
|
@ -71,8 +71,9 @@ details
|
|||
summary Lista di script client-side usati nel sito Web (Espandi)
|
||||
div
|
||||
ul
|
||||
li Script interni scritti da me: per gestire la notifica sulla privacy
|
||||
li Polyfill per supportare le immagini AVIF su vecchi browser: #[a(href='https://github.com/Kagami/avif.js' target='_blank' rel='noopener') avif.js di Kagami] (#[i Non ancora attivato, lo sarà a breve])
|
||||
li Sistema di distribuzione P2P dei file del sito a carico dei visitatori: #[a(href='https://github.com/xuset/planktos' target='_blank' rel='noopener') Planktos di xuset] (#[i Non ancora attivato, lo sarà a breve])
|
||||
li Sistema di distribuzione P2P dei file del sito a carico dei visitatori: #[a(href='https://github.com/xuset/planktos' target='_blank' rel='noopener') Planktos di xuset] (#[i Attivo per la fase di test])
|
||||
|
||||
p Di seguito, metto la mia classifica dei possibili modi per visualizzare questo sito, dal migliore al peggiore. Per standardizzazione, tutti presuppongono supporto completo ai colori.
|
||||
|
||||
|
|
|
@ -6,4 +6,5 @@ python3 ../staticoso/Source/Build.py \
|
|||
--SiteDomain="https://sitoctt.octt.eu.org" \
|
||||
--FolderRoots="{'*':'https://octtspacc.gitlab.io'}" \
|
||||
--Minify="False" \
|
||||
--ContextParts="{'Head':'Privacy.html'}" \
|
||||
--MarkdownExts="('attr_list', 'def_list', 'footnotes', 'md_in_html', 'tables')"
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd public
|
||||
npx planktos .
|
|
@ -15,10 +15,10 @@
|
|||
<meta property="og:description" content="[HTML:Page:Description]">
|
||||
<meta property="og:url" content="https://sitoctt.octt.eu.org/[HTML:Page:Path]">
|
||||
<meta property="og:image" content="[HTML:Page:Image]">
|
||||
[HTML:ContextPart:*/Head]
|
||||
<style>
|
||||
[HTML:Page:Style]
|
||||
</style>
|
||||
[HTML:ContextPart:*/Head]
|
||||
<script src="[HTML:Site:RelativeRoot]Assets/AVIF-Polyfill/index.js"></script>
|
||||
</head>
|
||||
<body id="Body">
|
||||
|
@ -71,6 +71,8 @@
|
|||
[HTML:Part:Standard/BottomBox.html]
|
||||
</div>
|
||||
</div>
|
||||
<div id="PrivacyPopup">
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in New Issue