From ab25cea9c6502c6e923860665ee024f1ad0af1a5 Mon Sep 17 00:00:00 2001
From: Karl Semich <0xloem@gmail.com>
Date: Tue, 7 Jun 2016 05:07:30 -0400
Subject: added ZeroNet backend
---
backend/update.py | 37 ++++++++++++++++++++++++++++++++++++-
wiki/TODO.mdwn | 8 ++++++++
wiki/ZeroNet.mdwn | 7 +++++++
wiki/index.mdwn | 2 +-
4 files changed, 52 insertions(+), 2 deletions(-)
create mode 100644 wiki/ZeroNet.mdwn
diff --git a/backend/update.py b/backend/update.py
index 8af8fb3..ebf82bf 100755
--- a/backend/update.py
+++ b/backend/update.py
@@ -1,6 +1,10 @@
#!/usr/bin/env python2
import os
+import sys
+
+
+############### Enumerate dependencies
found_git = (os.system("git status --porcelain") == 0)
@@ -11,7 +15,11 @@ if not found_git:
found_ikiwiki = (os.system("ikiwiki --version") == 0)
found_gitocalypse = (os.system("git-remote-freenet") == 256)
found_freesitemgr = (os.system("freesitemgr --version") == 0)
-found_zeronetdir = 'ZERONETDIR' in os.environ
+found_zeronet = 'ZERONETDIR' in os.environ
+if found_zeronet:
+ zn_datadir = os.path.join(os.environ['ZERONETDIR'], 'ZeroNet/data')
+ zn_script = os.path.join(os.environ['ZERONETDIR'], 'ZeroNet.sh')
+ found_zeronet = (os.system("'%s' --version" % zn_script) == 0)
if not found_ikiwiki:
print("WARNING: ikiwiki not found, pages will not be built")
@@ -19,10 +27,15 @@ if not found_gitocalypse:
print("WARNING: gitocalypse not found, changes won't be synced with freenet")
if not found_freesitemgr:
print("WARNING: freesitemgr/pyFreenet not found, public freesite won't be updated")
+if not found_zeronet:
+ print("WARNING: ZeroNet not found in ZERONETDIR, public zeronet site won't be updated")
if not (found_ikiwiki or found_gitocalypse or found_freesitemgr):
print("Changes will still be propagated if branchable is working.")
+
+####################### Download from all
+
print(":: Pulling from simple repos ...")
os.environ["GIT_SSH_COMMAND"] = "ssh -F backend/auth/ssh-config"
@@ -41,6 +54,15 @@ if status != 0:
del os.environ["GIT_SSH_COMMAND"]
+
+# Pull from zeronet repos
+print(":: Pulling from zeronet repos ...")
+# public zeronet
+os.system("git pull http://127.0.0.1:43110/1GtQ8bkFkhYtKerSdXHKe1z4j9VTmFR5d4/.git master")
+# private zeronet
+os.system("git pull http://127.0.0.1:43110/1L363bqJnCG63SnV83kfV7izZXbmentctD/.git master")
+
+
# Pull from freenet repos
if found_gitocalypse:
print(":: Pulling from freenet repos ...")
@@ -50,6 +72,9 @@ if found_gitocalypse:
os.system("git pull freenet://USK@PSY0YngeDtGbj60hjEoilQiY9oKzVrptRC0rG4BEVPg,e6ZEjT4KvbsltPBJOeKNpIdty2oGzbLCdk4fsDA5Vdk,AQACAAE/Standing%20With%20Resilience.git.R1/0 master")
+
+######################### Upload to all
+
print(":: Pushing to simple repos ...")
os.environ["GIT_SSH_COMMAND"] = "ssh -F backend/auth/ssh-config"
@@ -84,6 +109,16 @@ if status != 0:
print (":: Exiting due to failure")
exit(status)
+if found_zeronet:
+ os.system('git update-server-info')
+ print (":: Publishing ZeroNet site ...")
+ zn_datadir = os.path.join(zn_datadir, '1GtQ8bkFkhYtKerSdXHKe1z4j9VTmFR5d4')
+ os.system('cp -r ../html/. %s/.' % zn_datadir)
+ os.system('mkdir -p %s/.git' % zn_datadir)
+ for file in ('objects', 'refs', 'HEAD', 'info', 'packed-refs'):
+ os.system('cp -a ../.git/%s %s/.git' % (file, zn_datadir))
+ os.system('%s siteSign 1GtQ8bkFkhYtKerSdXHKe1z4j9VTmFR5d4 5JzZACCELsT4bx66qmV9JDaWhEQ6Sx6j7LzeucsxJGA9H7nuoRr' % zn_script)
+
if found_freesitemgr:
print (":: Publishing freesite ...")
status += os.system("freesitemgr -c freesitemgr -v -l freesitemgr.log -r 1 update")
diff --git a/wiki/TODO.mdwn b/wiki/TODO.mdwn
index 7f2407f..7fd724f 100644
--- a/wiki/TODO.mdwn
+++ b/wiki/TODO.mdwn
@@ -2,8 +2,16 @@
[ ] Ensure branchable is pulling from other web mirror as well as pushing
[ ] Make a space for blogging in the wiki
[ ] Upload site to zeronet
+ [x] Upload private site
+ [x] Upload public site
+ [x] Add git syncing to update.py
+ [x] Add public upload to update.py
+ [ ] Add sites to public list, will need to register an id, perhaps via bitmessage
+ [ ] Add page in wiki regarding ZeroNet
[ ] Upload site to qora
[ ] Upload site to ipfs
[ ] Upload site to project maelstrom?
+[ ] Provide .bit domain name for ZeroNet
+[ ] Implement CGI in ZeroNet ??
[x] Link mirrors on index
[x] Upload site to freenet
diff --git a/wiki/ZeroNet.mdwn b/wiki/ZeroNet.mdwn
new file mode 100644
index 0000000..c2e76d3
--- /dev/null
+++ b/wiki/ZeroNet.mdwn
@@ -0,0 +1,7 @@
+ZeroNet is a network focused around providing a decentralized, uncensorable web using bittorrent.
+
+Once you have ZeroNet installed and running, you can visit Standing With Resilience on ZeroNet or Standing With Resilience Public.
+
+Viewing the website on ZeroNet helps the site survive if there is ever an issue with your normal access to the internet.
+
+If you are familiar with Git and Linux, the source of this website may be edited on ZeroNet. It may be fetched from either http://127.0.0.1:43110/1GtQ8bkFkhYtKerSdXHKe1z4j9VTmFR5d4/.git or http://127.0.0.1:43110/1L363bqJnCG63SnV83kfV7izZXbmentctD/.git and changes may be pushed with backend/update.py if ZERONETDIR is set to the path to the linux ZeroNet bundle.
diff --git a/wiki/index.mdwn b/wiki/index.mdwn
index 2015e6e..0d10632 100644
--- a/wiki/index.mdwn
+++ b/wiki/index.mdwn
@@ -11,6 +11,6 @@ This is a wiki, which anybody is free to [[edit, copy, or store|Editing]]. Plea
## Where to Find This Site
-These networks can help with isolation: [[Freenet]]
+These networks can help with isolation: [[Freenet]] [[ZeroNet]]
On the normal internet, this site is found at [branchable.com](https://standingwithresilience.branchable.com/) and [fairlystable.org](https://fairlystable.org/standingwithresilience/)
--
cgit v1.2.3