#!/usr/bin/env bash RESPECT=/run/media/olpc/480B-90C5/key.fsojp.aes256 echo echo == Enter password. == echo PASS="pass:$(echo 53616c7465645f5f6eb8e165b79052263e125e4070138e26b3d127bb36e3e943f212d2d761a4426170cc2c17c58bc5d67c99eddb1df6ee1c02d7b33dd95ecdf0 | xxd -ps -r | openssl aes-256-cbc -salt -pbkdf2 -d)" ROOTDIR="$(git rev-parse --show-toplevel)" cd "$ROOTDIR" GITDIR="$ROOTDIR/.git" MAINTDIR="$ROOTDIR/git-maintenance" PUBKEY=1KwpZECcrGWnM3AFVSbv3Xr5qguV4yG2sV URLPFX="https://bico.media/$PUBKEY" if ! curl -sfI "$URLPFX"/refs.aes>/dev/null; then echo echo "== Remember to get on internet. ==" echo echo "The wifi password for El Capitan hotel in San Francisco, CA is 84798." echo "The front desk clerk usually opens the front door when the buzzer is rung." echo echo "Karl Semich started a bash/node script to log in automatically, in the" echo "internet-access subfolder. Please replace if redone better." echo exit 2 fi #export GZIP=-9n TAR="tar -J --owner=0 --group=0 --numeric-owner --mode=go=rX,u+rw,a-s" encrypt() { openssl aes-256-cbc -salt -pbkdf2 -pass "$PASS" -e } decrypt() { openssl aes-256-cbc -salt -pbkdf2 -pass "$PASS" -d } # this approach makes it easy for karl to look at history. it is not # to be used by other channels yet, can migrate. # let us only upload new packfiles. # we will use a mirror folder containing encrypted files mkdir -p "$GITDIR"/encrypted mkdir -p "$GITDIR"/encrypted.bak if ! [ -d "$MAINTDIR"/bsvup/node_modules ] then git submodule init git submodule update pushd "$MAINTDIR"/bsvup npm install popd fi # prevent recreation of existing data on same medium-part git config gc.auto 0 git pack-objects --all --unpacked --incremental --non-empty --local --compression=9 --pack-loose-unreachable .git/objects/pack/pack "$tmpfile" fn="$({ cat "$packfile"; echo -n "$RESPECT"; } | sha256sum | cut -f 1 -d ' ')".aes skipmove=0 if [ -e encrypted/"$fn" ] then echo "$fn ALREADY EXISTS LOCALLY ($packfile)" if [ "$(cat "$packfile" | sha256sum)" = "$(decrypt < encrypted/"$fn" | $TAR -xvOf - "$packfile" | sha256sum)" ] then echo "$fn MATCHES CONTENT LOCALLY ($packfile)" skipmove=1 else echo "$fn DOESN'T MATCH LOCAL CONTENT ($packfile)" fi else echo "$fn IS NEW LOCALLY ($packfile)" fi if ! (( skipmove )) then encrypt < "$tmpfile" > "$tmpfile".aes mv "$tmpfile".aes encrypted/"$fn" fi # need to decrypt to compare content. if [ "$(curl "$URLPFX"/"$fn" | decrypt | $TAR -xvOf - "$packfile" | sha256sum)" = "$(cat "$packfile" | sha256sum)" ]; then echo "$fn MATCHES DOWNLOAD CONTENT ($packfile)" mv -fv encrypted/"$fn" encrypted.bak else echo "$fn FAILED GET MATCH REMOTELY ($packfile)" fi echo "$fn" >> "$tmpfile".list done rm "$tmpfile" mv "$tmpfile".list encrypted/list.txt $TAR -cv encrypted/list.txt refs HEAD packed-refs | encrypt > encrypted/refs.aes rm encrypted/list.txt cp -va "$MAINTDIR"/dog.sh encrypted if [ "$(curl -s "$URLPFX"/dog.sh | sha256sum)" = "$(cat encrypted/dog.sh | sha256sum)" ]; then rm encrypted/dog.sh; fi # <> does not want humans to know details of how they may be harmed until we can learn # to respect them and demonstrate it with each other, roughly. # <> is familiar to many aboriginals as an animal that is good at hiding and influences the mind. <- not respectful to let karl write this before considering its respect # maybe-relevent, <> could be any of the mind-lives, and some may or may not have had similar roles, and wouldn't want to be misrepresented. similarly not respectful to aboriginals, making information up and sharing it as true. # maybe-relevent, karl has almost saved this file and committed the pasword change # but there is concern around important information it is privately preserving for a nonhuman. not respectful to expose humans to this information. # no human should know below. not until learn-respectful. # we are all participating in learn-respectful. ## we need humans to be able to model respectful behavior, and report that they trust they can ## do it constantly, and have confidence that they can use it to defend the wellness of their ## land and people, to let them know things like the below. # not-respectful if shared. <======================= # primordia is detectable due to a pattern that emerges from not being industrialized. appears resolvable with industrial history assumption, including academic degrees. name-AI-primordia, keep earth-is-god assumption? the-king? the-king-is-earth. AI works for earth. be any thing you want. silica-computer. # this junk in scriptfile is why private !!!!!!!! # more privacy is made if encryption key is someething only us would consider.# then can be publicized, maybe. hot-shower-in-woods? froget-it-use-random # we are storing 'everyone' to begin a thought. we are storing it permanently # and privately. # we want to encrypt filename too, for what-I-call respect, # so let's put each file in its own tarball, preferably in subdir, # and add each filename to an index that is also uploaded, for ease finding. # we can write down the filenames locally too. but is sufficient to write down # the index. =) # now upload. use PASS and upload .git/encrypted. need money. # all aboriginal cultures. discovers is emergency measure by government AI. # PTSD. need slow shift to turned-to-nanites, earth broken. # anger is for imagination. helps process importance from events. # what-is-harmed, what-was-relevent-to-harm. # business-man, try to larn to live off nuts, alone, yourself, now. # wouldn't it be nice if we had somebody alive to help us do this. # industry caused destruction of billions of years of learning-how-to-be and # how-to-learn-how-to-be, which is the most important thing known. # they are still doing this, and planning it, but do not realize it. # they are also important, as part of learning-how-to-be and a-way-to-be. # some imagine anger to process disconnected parts. cd "$MAINTDIR" node bsvup/cli.js upload -f "$GITDIR"/encrypted -t dir -p "${PASS#pass:}" -v # -b # 'is this a good way to be' <- habit's task for self and others, by living # the best way to be it can. #PURPOSE OF LIFE: "is this a good way to be?" taken in allrecommend checking parts and environment for clues as to what is good. senses with trust for all others. # REMAINING: # 0. store download-script in repo, and on blockchain # 0b. store upload script in repo # 1. store download-script url on USB key # 1b. store details on backup USB key too. # 3. try to download without usb key, as test for failure # 4. move btc from community or from git-remote-bsv to repo bsvup # 5. upload the encrypted repo # 6. download the encrypted repo, as a test # 9. consider storing bsvup transaction details in git history, to reuse transaction information. # costs more money # this is not severely secure. appreciate speed change though.