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 update
|
||||||
- apk add python3 py3-pip npm go git
|
- apk add python3 py3-pip npm go git
|
||||||
- pip3 install requests lxml
|
- pip3 install requests lxml
|
||||||
- npm install -g pug-cli
|
- npm install -g pug-cli planktos
|
||||||
|
|
||||||
pages:
|
pages:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
|
@ -19,6 +19,7 @@ pages:
|
||||||
- cd ..
|
- cd ..
|
||||||
- git clone --depth 1 https://gitlab.com/octtspacc/staticoso
|
- git clone --depth 1 https://gitlab.com/octtspacc/staticoso
|
||||||
- Scripts/Deploy.GitLab.sh
|
- Scripts/Deploy.GitLab.sh
|
||||||
|
- Scripts/Deploy.BitTorrent.sh
|
||||||
- Scripts/Deploy.Gemini.sh
|
- Scripts/Deploy.Gemini.sh
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
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 {
|
#LeftBox, #RightBox {
|
||||||
Max-Width: 90vw;
|
Max-Width: 90vw;
|
||||||
Background: #300030;
|
|
||||||
Color: #fafaf0;
|
Color: #fafaf0;
|
||||||
|
Background: #300030;
|
||||||
}
|
}
|
||||||
#LeftBox A, #RightBox A, #BottomBox A {
|
#LeftBox A, #RightBox A, #BottomBox A {
|
||||||
Color: #eeddff;
|
Color: #eeddff;
|
||||||
|
@ -246,6 +246,20 @@ H3:hover {
|
||||||
Float: Right;
|
Float: Right;
|
||||||
Clear: Both;
|
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,
|
#MainBoxGlobalFooter,
|
||||||
#StatCounter,
|
#StatCounter,
|
||||||
.Center {
|
.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)
|
summary Lista di script client-side usati nel sito Web (Espandi)
|
||||||
div
|
div
|
||||||
ul
|
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 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.
|
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" \
|
--SiteDomain="https://sitoctt.octt.eu.org" \
|
||||||
--FolderRoots="{'*':'https://octtspacc.gitlab.io'}" \
|
--FolderRoots="{'*':'https://octtspacc.gitlab.io'}" \
|
||||||
--Minify="False" \
|
--Minify="False" \
|
||||||
|
--ContextParts="{'Head':'Privacy.html'}" \
|
||||||
--MarkdownExts="('attr_list', 'def_list', 'footnotes', 'md_in_html', 'tables')"
|
--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:description" content="[HTML:Page:Description]">
|
||||||
<meta property="og:url" content="https://sitoctt.octt.eu.org/[HTML:Page:Path]">
|
<meta property="og:url" content="https://sitoctt.octt.eu.org/[HTML:Page:Path]">
|
||||||
<meta property="og:image" content="[HTML:Page:Image]">
|
<meta property="og:image" content="[HTML:Page:Image]">
|
||||||
[HTML:ContextPart:*/Head]
|
|
||||||
<style>
|
<style>
|
||||||
[HTML:Page:Style]
|
[HTML:Page:Style]
|
||||||
</style>
|
</style>
|
||||||
|
[HTML:ContextPart:*/Head]
|
||||||
<script src="[HTML:Site:RelativeRoot]Assets/AVIF-Polyfill/index.js"></script>
|
<script src="[HTML:Site:RelativeRoot]Assets/AVIF-Polyfill/index.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body id="Body">
|
<body id="Body">
|
||||||
|
@ -71,6 +71,8 @@
|
||||||
[HTML:Part:Standard/BottomBox.html]
|
[HTML:Part:Standard/BottomBox.html]
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="PrivacyPopup">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in New Issue