commit: 0b6316ea632b03fd93f2ebd71ebbf91d2df3c5f3
parent: 964a5c73133a8593a47409332a5145558d880d39
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Mon,  1 Oct 2018 16:38:44 +0200
Enhance Federation section with my nodeinfo transparency
Diffstat:
2 files changed, 49 insertions(+), 6 deletions(-)
diff --git a/about.html b/about.html
@@ -36,20 +36,26 @@
 			</section>
 			<section>
 				<h2>Federation</h2>
-				<h3>Unlisted</h3>
+				<p>Quarantined means the instance doesn’t send posts that aren’t public or unlisted to try to avoid privacy leaks.</p>
+				<h3>List of Federation Settings</h3>
+				<p class="noscript">You do not seem to have JavaScript enabled, sorry but for now either look in <a href="https://queer.hacktivis.me/nodeinfo/2.0.json">nodeinfo’s JSON</a> or enable JavaScript (the code is readable).</p>
+				<ul id="federation_list"></ul>
+				<script src="about.js"></script>
+				<h3>Reasons</h3>
+				<p>Federated Timeline Removal:
 				<ul>
 					<li><code>pl.smuglo.li</code>: This is simply to avoid legal issues and badpost spam in the federated timeline</li>
 					<li><code>mastodon.social</code>: Slow moderation and too big instance (Top 5 of Fediverse)</li>
-				</ul>
-				<h3>Rejected</h3>
+				</ul></p>
+				<p>Rejected:
 				<ul>
 					<li><code>arkham.cafe</code>: Anti-safe statement, violence towards non-binary people (Enbyphobia), lack of contact by e-mail (used to be none on AP either).</li>
 					<li><code>ltch.fr</code>: Admin/Host of <code>arkham.cafe</code> by looking at the WHOIS records (before RGPD was applied).</li>
-				</ul>
-				<h3>Quarantined</h3>
+				</ul></p>
+				<p>Quarantined:
 				<ul>
 					<li><code>pleroma.rareome.ga</code>: Because of code/settings removing the support of non-Public/Unlisted activities.</li>
-				</ul>
+				</ul></p>
 			</section>
 			<section>
 				<h2>Changelog</h2>
diff --git a/about.js b/about.js
@@ -0,0 +1,37 @@
+noscript        = document.getElementsByClassName("noscript");
+federation_list = document.getElementById("federation_list");
+
+request = new XMLHttpRequest();
+request.onload = function()
+{
+	res = JSON.parse(request.response);
+	federation_metadata = res.metadata.federation;
+
+	if(federation_metadata.mrf_policies) {
+		federation_html = "<li>MRF Policies: ";
+		federation_html += federation_metadata.mrf_policies.join(", ");
+		federation_html += "</li>";
+	}
+
+	if(federation_metadata.mrf_simple) {
+		federation_html += "<li>MRF Simple:<ul>";
+		Array.forEach(Object.entries(federation_metadata.mrf_simple), function(policy)
+		{
+			federation_html += "<li>"+policy[0]+": "+policy[1].join(", ")+"</li>"
+		});
+		federation_html += "</ul></li>";
+	}
+
+	if(federation_metadata.quarantined_instances) {
+		federation_html += "<li>Quarantined: ";
+		federation_html += federation_metadata.quarantined_instances.join(", ");
+		federation_html += "</li>";
+	}
+
+	federation_list.innerHTML = federation_html;
+};
+
+Array.forEach(noscript, function(e){e.hidden=true;});
+
+request.open('GET', "https://queer.hacktivis.me/nodeinfo/2.0.json", true);
+request.send();