Re: infocalypse: version control over Freenet mostly works again with Python 3
Hi, DC* writes: > Thanks for looking into this. This project is really cool and promising. > > Hope I can give it a try soon. Keep up the good work! Thank you for your answer! The full version tracking roundtrip over Freenet — including *pull-request* and *notifications* — works again! And there is now a doc/usage.org file with a full interaction example. And thanks to tactical enabling of the RealTimeFlag, it now needs 80% less time in my tests. If you want to try it, first install: - Mercurial https://www.mercurial-scm.org - pyFreenet3 (pip3 install --user pyFreenet3) Then get infocalypse and set it up: hg clone hg.sr.ht/~arnebab/infocalypse ~/infocalypse hg -R ~/infocalypse update py3 echo "[extensions] infocalypse = ~/infocalypse/infocalypse " >> ~/.hgrc For pull-requests, you need two Identities. None of them may be a prefix of the other. Both must have enabled Freemail in the web interface (set a non-empty password!) and stored the login settings via hg fn-setupfreemail --truster TestBab-2@ --mailhost 127.0.0.1 I use TestBab-1 and TestBab-2 in this example. Then try the roundtrip: # Variables for the run, choose two WoT IDs of your own, do not use # the same: you cannot message yourself yet. export WOT_ID1=TestBab-1 export WOT_ID2=TestBab-2 export N=$(uuidgen); # Cleanup rm -r /tmp/infocalypse-* cd /tmp # Prepare first repository hg init infocalypse-revived-${N} cd infocalypse-revived-${N} echo "Follow the white rabbit" > looking-glass.txt hg ci -Am "infocalypse" cd .. # Share the repo hg clone infocalypse-revived-${N} freenet://${WOT_ID1}/infocalypse-revived-${N} # Get a repo and add changes hg clone freenet://${WOT_ID1}/infocalypse-revived-${N} infocalypse-averted-${N} cd infocalypse-averted-${N} echo "One pill makes you larger" >> looking-glass.txt hg ci -m "And one pill makes you small, so you can roundtrip" # Share the repo and file a pull-request hg clone . freenet://${WOT_ID2}/infocalypse-averted-${N} # the . means "the current folder" hg fn-pull-request --wot ${WOT_ID1}/infocalypse-revived-${N} --mailhost 127.0.0.1 # enter a message cd .. # give the pull-request 5 minutes of time to propagate sleep 5m # Check for pull-requests, then pull and share the changes cd infocalypse-revived-${N} hg fn-check-notifications --wot ${WOT_ID1} --mailhost 127.0.0.1 hg pull -u freenet://${WOT_ID2}/infocalypse-averted-${N} hg push freenet://${WOT_ID1}/infocalypse-revived-${N} cd .. The result of hg fn-check-notifications --wot TestBab-1 --mailhost 127.0.0.1: Found pull request from 'testbab-2@4ev53r3crqpgc7yftwjl2qjtqfds6d4lipi7jbofw7qwksplm3na.freemail': testifoo bar baz To accept this request, pull from: freenet://USK@4Svdx2KMHmF-BZ2SvUEzgUcvD4tD0fSFxbfhZUnrZto,Qp2rRpMpSLFNEvMfcQCw5HH8vkDnhYu-eYLskXAMXdk,AQACAAE/infocalypse-averted-f494c10b-7ffd-403b-8e69-033fee4db12a.R1/1 To your repository: /tmp/infocalypse-revived-f494c10b-7ffd-403b-8e69-033fee4db12a hg -R /tmp/infocalypse-revived-f494c10b-7ffd-403b-8e69-033fee4db12a pull 'freenet://USK@4Svdx2KMHmF-BZ2SvUEzgUcvD4tD0fSFxbfhZUnrZto,Qp2rRpMpSLFNEvMfcQCw5HH8vkDnhYu-eYLskXAMXdk,AQACAAE/infocalypse-averted-f494c10b-7ffd-403b-8e69-033fee4db12a.R1/1' That’s it: a full, anonymous, decentralized, pull-request based workflow over Freenet. Please give it a try and write how it works for you: whether it breaks or whether it just works! I only tested it locally and there may be some dependencies on my local setup that we still need to prune. Best wishes, Arne PS: I also posted this to reddit: https://www.reddit.com/r/Freenet/comments/ymw6uf/infocalypse_truly_decentralized_version_control/ >> I’m really happy that infocalypse works again! >> >> This gets us one step closer to self-sufficient development: Freenet >> development could now be done by a group of pseudonymous people. We can >> already release updates when all our centralized infrastructure is down >> (if we decide to ship the old windows installer and let Windows boxes >> update over Freenet; Microsoft requires centralized signing), now we can >> actually do development over Freenet again. >> >> We don’t yet know whether it will work with larger repositories like >> fred (it used to, but back then the network was 3 times larger), and >> we’ll have to check and possibly fix hg fn-reinsert so all contributors >> can keep the repository working, but we finally have that in place >> again. >> >> >> A foundation of real information freedom in the internet — safe against >> censorship by threat and by harassment and by flooding with noise. >> >> >> Imagine a group of hackers living in remote or citybound meshnets, >> connecting with solar-powered nodes to their friends while using their >> pseudonymous developer IDs to check on pull-requests and merge their
Re: infocalypse: version control over Freenet mostly works again with Python 3
Hey Arne, Thanks for looking into this. This project is really cool and promising. Hope I can give it a try soon. Keep up the good work! Best regards On 2022-08-17 22:20, Dr. Arne Babenhauserheide wrote: > Hi, > > > infocalypse is the awesome code-over-freenet tool created by djk > and turned into an actual social coding tool by Steve (operhiem1), but > it has been broken in Python 3 for many years. > > Last weekend I bit the bullet and spent a day (well, an evening, a night, > and a day) to get the minimal roundtrip working again: clone your code > to Freenet, clone back to the local computer, commit, and push it back. > It was lots of annoying string-to-byte and byte-to-string handling, but > it got into a minimally working state! > > Then Debora took it up and fixed fn-setup which creates your local > infocalypse environment (I still had mine around so I didn’t hit that > while testing) and sent a bundle with the changes over FMS. Thank you! > > Infocalypse is not yet fixed completely, but its core workflow is > operational. (with WoT and without WoT) > > > We have a working code-over-freenet system again! > > > If you want to try it, first install: > - Mercurial https://www.mercurial-scm.org > - pyFreenet3 (pip3 install --user pyFreenet3) > > Then get infocalypse and set it up: > hg clone hg.sr.ht/~arnebab/infocalypse ~/infocalypse > hg -R ~/infocalypse update py3 > echo "[extensions] > infocalypse = ~/infocalypse/infocalypse > " >> ~/.hgrc > > > Then try the roundtrip: > > # variables for the run, choose a WoT ID of your own > export WOT_ID=ArneBab > export UUID=$(uuidgen); > > # create a new repository > rm -r /tmp/infocalypse-* > hg init /tmp/infocalypse-revived > cd /tmp/infocalypse-revived > echo "Follow the white rabbit" > looking-glass.txt > hg ci -Am "infocalypse" > > # clone to Freenet and get it back > hg clone . freenet:${WOT_ID}/infocalypse-revived-$UUID > hg clone freenet:${WOT_ID}/infocalypse-revived-$UUID > /tmp/infocalypse-averted > > # do a change and push it into Freenet again, this time without WOT > cd /tmp/infocalypse-averted > echo "One pill makes you larger" >> looking-glass.txt > hg ci -m "And one pill makes you small, so you can roundtrip" > hg clone . USK@/infocalypse-averted > > > I’m really happy that infocalypse works again! > > This gets us one step closer to self-sufficient development: Freenet > development could now be done by a group of pseudonymous people. We can > already release updates when all our centralized infrastructure is down > (if we decide to ship the old windows installer and let Windows boxes > update over Freenet; Microsoft requires centralized signing), now we can > actually do development over Freenet again. > > We don’t yet know whether it will work with larger repositories like > fred (it used to, but back then the network was 3 times larger), and > we’ll have to check and possibly fix hg fn-reinsert so all contributors > can keep the repository working, but we finally have that in place > again. > > > A foundation of real information freedom in the internet — safe against > censorship by threat and by harassment and by flooding with noise. > > > Imagine a group of hackers living in remote or citybound meshnets, > connecting with solar-powered nodes to their friends while using their > pseudonymous developer IDs to check on pull-requests and merge their > work until they have a release they can insert to auto-update. > > Known to the community for the good work they have been doing on Freenet > in the past, an unbound focus of Freenet development. > > > Best wishes, > Arne
infocalypse: version control over Freenet mostly works again with Python 3
Hi, infocalypse is the awesome code-over-freenet tool created by djk and turned into an actual social coding tool by Steve (operhiem1), but it has been broken in Python 3 for many years. Last weekend I bit the bullet and spent a day (well, an evening, a night, and a day) to get the minimal roundtrip working again: clone your code to Freenet, clone back to the local computer, commit, and push it back. It was lots of annoying string-to-byte and byte-to-string handling, but it got into a minimally working state! Then Debora took it up and fixed fn-setup which creates your local infocalypse environment (I still had mine around so I didn’t hit that while testing) and sent a bundle with the changes over FMS. Thank you! Infocalypse is not yet fixed completely, but its core workflow is operational. (with WoT and without WoT) We have a working code-over-freenet system again! If you want to try it, first install: - Mercurial https://www.mercurial-scm.org - pyFreenet3 (pip3 install --user pyFreenet3) Then get infocalypse and set it up: hg clone hg.sr.ht/~arnebab/infocalypse ~/infocalypse hg -R ~/infocalypse update py3 echo "[extensions] infocalypse = ~/infocalypse/infocalypse " >> ~/.hgrc Then try the roundtrip: # variables for the run, choose a WoT ID of your own export WOT_ID=ArneBab export UUID=$(uuidgen); # create a new repository rm -r /tmp/infocalypse-* hg init /tmp/infocalypse-revived cd /tmp/infocalypse-revived echo "Follow the white rabbit" > looking-glass.txt hg ci -Am "infocalypse" # clone to Freenet and get it back hg clone . freenet:${WOT_ID}/infocalypse-revived-$UUID hg clone freenet:${WOT_ID}/infocalypse-revived-$UUID /tmp/infocalypse-averted # do a change and push it into Freenet again, this time without WOT cd /tmp/infocalypse-averted echo "One pill makes you larger" >> looking-glass.txt hg ci -m "And one pill makes you small, so you can roundtrip" hg clone . USK@/infocalypse-averted I’m really happy that infocalypse works again! This gets us one step closer to self-sufficient development: Freenet development could now be done by a group of pseudonymous people. We can already release updates when all our centralized infrastructure is down (if we decide to ship the old windows installer and let Windows boxes update over Freenet; Microsoft requires centralized signing), now we can actually do development over Freenet again. We don’t yet know whether it will work with larger repositories like fred (it used to, but back then the network was 3 times larger), and we’ll have to check and possibly fix hg fn-reinsert so all contributors can keep the repository working, but we finally have that in place again. A foundation of real information freedom in the internet — safe against censorship by threat and by harassment and by flooding with noise. Imagine a group of hackers living in remote or citybound meshnets, connecting with solar-powered nodes to their friends while using their pseudonymous developer IDs to check on pull-requests and merge their work until they have a release they can insert to auto-update. Known to the community for the good work they have been doing on Freenet in the past, an unbound focus of Freenet development. Best wishes, Arne -- Unpolitisch sein heißt politisch sein, ohne es zu merken. draketo.de signature.asc Description: PGP signature