Status: Dead due to changes in browsers that prevent the access used here. Needs a new dedicated service to support it.
Decentral, Anonymous Comment-System for Static Websites to survive on the battlefield into which commercial spammers and censors turned the internet.
Use it by embedding a simple snippet in the body of your site.
Babcom provides Decentral, Anonymous, Spamresistant comments on Static Websites using Freenet with Sone and a bit of Javascript.
babcom is the internets last, best hope for peace.1
Babcom is a commenting system for static websites. It is decentral and enables anonymous and non-anonymous commenters to interact seamlessly without giving free reign to spammers.
Thanks go to digger3 with whom I bounced ideas back and forth which led to the current plan and to Sandy from OpenITP who was really enthusiastic when I told her about this idea.
One of my pages was hacked. Badly. So badly that I had to kill it. See its grave.
I decided to only use static pages for future projects: Unhackable (with a well-maintained host), Fast, Low-maintenance. Suited for the battlefield of the internet today.
But I still want comments. Without Spam. And without subjugating to a centralized service.
You already do! (see below)
Do you like it?
Reload Comments Use Node:
⚙ Babcom is trying to load the comments ⚙
This textbox will disappear when the comments have been loaded.
If the box below shows an error-page, you need to install Freenet with the Sone-Plugin or set the node-path to your freenet node and click the Reload Comments button (or return).
f you see something likeInvalid key: java.net.MalformedURLException: There is no @ in that URI! (Sone/search.html)
, you need to setup Sone and the Web of TrustIf you had Javascript enabled, you would see comments for this page instead of the Sone page of the sites author.
<iframe id="babcom-publicsoneid" src="http://127.0.0.1:8888/Sone/viewSone.html?sone=6~ZDYdvAgMoUfG6M5Kwi7SQqyS-gTcyFeaNN1Pf3FvY"></iframe>Note: To make a comment which isn’t a reply visible to others here, include a link to this site somewhere in the comment text.
Link to this site:
<script type="text/javascript"> /* @licstart The following is the entire license notice for the JavaScript code within this script block (script to /script). Copyright (C) 2014 Arne Babenhauserheide
The JavaScript code in this page is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
As additional permission under GNU GPL version 3 section 7,
you may use this code under any other free software license,
including permissive licenses like BSD and MIT.
@licend The above is the entire license notice
for the JavaScript code within these script block.
,*/
function loadcomments() { var freenetnode = document.getElementById("babcom-node").value var sonesearch = "/Sone/search.html?query=" var host = window.location.host; var path = window.location.pathname; var postsanchor = "post-results"; var searchquery = host + path + "#" + postsanchor; var comments = document.getElementById("babcom-comments"); var publicsone = document.getElementById("babcom-publicsoneid"); var nojswarning = document.getElementById("babcom-nojswarning"); var needsfreenet = document.getElementById("babcom-needsfreenet"); var sitelink = document.getElementById("babcom-sitelink"); /* when the function gets rerun, replace the realcomments instead of adding.*/ if (document.getElementById("babcom-realcomments")) { var cif = document.getElementById("babcom-realcomments"); cif.src = freenetnode + sonesearch + searchquery; } else { comments.innerHTML = "<iframe id="babcom-realcomments" src="" + freenetnode + sonesearch + searchquery + ""></iframe>"; } nojswarning.parentNode.replaceChild(document.createElement("p"), nojswarning); publicsone.parentNode.replaceChild(document.createElement("span"), publicsone); sitelink.innerHTML = "http://" + host + path; commentsiframe = document.getElementById("babcom-realcomments"); commentsiframe.onload = function(){ needsfreenet.parentNode.replaceChild(document.createElement("p"), needsfreenet); commentsiframe.style.width = "1024px"; commentsiframe.style.height = "400px"; } } loadcomments(); document.getElementById("babcom-node").onkeydown = function(e) { var keyCode = e.keyCode || e.which;
if (keyCode === 13) { loadcomments(); } } </script>
Footnotes
-
You might recognize this phrase from Babylon 5. There’s a reason for that: If we want all people to be able to publish online without having to succumb to the rules of centralized services, we have to use static websites: Only those can sustainably withstand the constant attacks from crackers. And to have comments in a free internet without subjugating our /visitors/ to centralized sites, we must to use local services. To enable our visitors to speak freely, we must provide anonymous comments. And to make the system resilient against censorship by denial-of-service, we must have a spam-filter. Babcom uses Freenet to provide all this. And it gets defended by many small, coordinated nodes. ↩