This commit is contained in:
Bob Mottram 2018-01-29 15:19:09 +00:00
commit 2c7e4df3de
26 changed files with 101 additions and 461 deletions

View File

@ -55,4 +55,4 @@ Destination: 10 0 8448 [yourmatrixsubdomain]
You may also want to make another entry with the same settings but replacing *tcp* with *udp*.
* Mobile app
If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the settings and changing *Sync request timeout* to 30 seconds and *Delay between two sync requests* to 600 seconds.
If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the *settings* and changing *Sync request timeout* to 30 seconds and *Delay between two sync requests* to 600 seconds. Also turning off *msgs in group chats* will help, since it will avoid getting a notification whenever a group chat event happens, which then wakes up the screen.

View File

@ -39,5 +39,5 @@ It may seem like a good idea and it may seem like you're doing a service to the
#+BEGIN_CENTER
This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
#+END_CENTER

View File

@ -153,5 +153,5 @@ man freedombone-image
#+end_src
#+BEGIN_CENTER
This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion
This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion
#+END_CENTER

View File

@ -42,5 +42,5 @@ If you find bugs, or want to add a new app to this system see the [[./devguide.h
Ready made disk images which can be copied onto USB or microSD drives are [[./downloads/current][available here]].
#+BEGIN_CENTER
This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion. This documentation is under the [[https://www.gnu.org/licenses/fdl-1.3.txt][GNU Free Documentation License version 1.3]]
#+END_CENTER

View File

@ -35,5 +35,5 @@ Systems only need to be within wifi range of each other for the mesh to be creat
Like [[https://libremesh.org][LibreMesh]], this system uses a combination of [[https://en.wikipedia.org/wiki/B.A.T.M.A.N.][batman-adv]] on network layer 2 and [[http://bmx6.net][BMX]] on layer 3. Routing protocols [[http://www.olsr.org][OLSR2]] and [[https://www.irif.fr/~jch/software/babel][Babel]] are also selectable.
#+BEGIN_CENTER
This site can also be accessed via a Tor browser at http://7ec7btgr6m7c5r3h.onion
This site can also be accessed via a Tor browser at http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion
#+END_CENTER

View File

@ -18,7 +18,7 @@
* Contact details
This site can also be accessed via a Tor browser at *http://7ec7btgr6m7c5r3h.onion*
This site can also be accessed via a Tor browser at *http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion*
*Email:* bob@freedombone.net

View File

@ -1,4 +0,0 @@
Since compiling Atheros drivers for use with a wifi dongle on the Beaglebone Black takes a long time pre-compiled drivers are also available here. These may be extracted into /lib/firmware/ before beginning the main installation via 'freedombone menuconfig'.
sha256:
7eb9324681f03c7630ed01e490ea447dfbd96c9b5389e45b64e4646d1be16ff1 ath9k_htc_driver_bbb.tar.gz

Binary file not shown.

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCAAGBQJVs+ZQAAoJEARSzHzqmC44O1oP+wfzs0SL/NjJbl3qtw1P3hSu
jpHZ9kqEibpFX1VSvFrLb9qiqHnyoBcfoz04kWQ+6uKKc8MC1cev14FUdtKiLl7h
9fESVSIx8VgzHmDNkcXj+nLKI5KMp/bORZxoFL0hM/JVNUQH09RT1/upLE6k5PxA
BBDF+lD0Ez9VGSa91FP5T+mDWXFtEZMwTajkzRyi+H38lSEsfMvhbWV1c5M+W7kQ
u2xf5Z1BTd5lH6HPN3LKf5sOWaLAUa+jkUXLJiDfULm1ylO3ckj2TMQDlriY1Cib
zvFjQ4l5NVmO4/L3HE2yIDtJpHxRCVExtzZk+iXLh8ep+avV1B0l2bf5ObahaK7q
hIxudj9eeTb6ZyIUH/tUYW8LjTwNMom1vN98mG7MGnaqMHDlSqrZv36M42SM9FMb
nSu6PdeFycqCM3O8h3HDuMrgBLckLRhubGVBpkE7XZXyhs8ahVGi8LwltfuVvWFz
NsPnmqI8vdSZDN/b3SAN/zBb47STGFhNY9tMgdaebS40IbJ5iD5KCRLarKTHyRTS
W10Q/Onno25UWbu/+ZIjfbuwaoboI8CNJRUI4YDhR4Huahh+s1v9kSjuXwMacO7R
+nZEXJkP0HOQUZY9g7OjrVEXHdKUw1Vlw3AyQt7Z4SUNjeEoRP1Bcr7LPBB8Y5pW
sTndAdLqpVzMBymfLGRS
=OOIn
-----END PGP SIGNATURE-----

Binary file not shown.

View File

@ -458,7 +458,7 @@ function install_fedwiki {
fi
echo '[Unit]' > /etc/systemd/system/fedwiki.service
echo 'Description=Fedwiki Decentralized video streaming platform' >> /etc/systemd/system/fedwiki.service
echo 'Description=Fedwiki federated wiki' >> /etc/systemd/system/fedwiki.service
echo 'After=syslog.target' >> /etc/systemd/system/fedwiki.service
echo 'After=network.target' >> /etc/systemd/system/fedwiki.service
echo '' >> /etc/systemd/system/fedwiki.service
@ -482,7 +482,7 @@ function install_fedwiki {
fedwiki_auth_file=${FEDWIKI_DATA}/status/owner.json
echo '{' > $fedwiki_auth_file
echo " \"name\": \"${MY_USERNAME}\"," >> $fedwiki_auth_file
echo ' \"friend\": {' >> $fedwiki_auth_file
echo ' "friend": {' >> $fedwiki_auth_file
echo " \"secret\": \"${FEDWIKI_COOKIE}\"" >> $fedwiki_auth_file
echo ' }' >> $fedwiki_auth_file
echo '}' >> $fedwiki_auth_file

View File

@ -649,6 +649,7 @@ function install_gogs {
fi
if ! grep -q "hidden_service_gogs" /etc/tor/torrc; then
echo 'HiddenServiceDir /var/lib/tor/hidden_service_gogs/' >> /etc/tor/torrc
echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
echo "HiddenServicePort 80 127.0.0.1:${GIT_ONION_PORT}" >> /etc/tor/torrc
echo "HiddenServicePort 9418 127.0.0.1:9418" >> /etc/tor/torrc
echo $'Added onion site for Gogs'

View File

@ -660,6 +660,7 @@ function install_keyserver {
if ! grep -q "hidden_service_sks" /etc/tor/torrc; then
echo 'HiddenServiceDir /var/lib/tor/hidden_service_sks/' >> /etc/tor/torrc
echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
echo "HiddenServicePort 11370 127.0.0.1:11370" >> /etc/tor/torrc
echo "HiddenServicePort 11373 127.0.0.1:11371" >> /etc/tor/torrc
echo "HiddenServicePort 11372 127.0.0.1:11372" >> /etc/tor/torrc

View File

@ -1,321 +0,0 @@
#!/bin/bash
#
# .---. . .
# | | |
# |--- .--. .-. .-. .-.| .-. .--.--. |.-. .-. .--. .-.
# | | (.-' (.-' ( | ( )| | | | )( )| | (.-'
# ' ' --' --' -' - -' ' ' -' -' -' ' - --'
#
# Freedom in the Cloud
#
# Librevault application
#
# License
# =======
#
# Copyright (C) 2014-2016 Bob Mottram <bob@freedombone.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
VARIANTS=''
IN_DEFAULT_INSTALL=0
SHOW_ON_ABOUT=0
PROTOBUF_REPO="https://github.com/google/protobuf"
PROTOBUF_COMMIT='b97a4a53cdd55be74c30badefeb132a091764f53'
LIBREVAULT_REPO="https://github.com/Librevault/librevault"
LIBREVAULT_COMMIT='86a6aefcb5cc458f4d42195368fbcff2871f98e3'
LIBREVAULT_PORT=42345
librevault_variables=(PROTOBUF_REPO
LIBREVAULT_REPO
LIBREVAULT_PORT)
function logging_on_librevault {
echo -n ''
}
function logging_off_librevault {
echo -n ''
}
function install_interactive_librevault {
echo -n ''
APP_INSTALLED=1
}
function reconfigure_librevault {
echo -n ''
# TODO
}
function upgrade_librevault {
CURR_LIBREVAULT_COMMIT=$(get_completion_param "librevault commit")
if [[ "$CURR_LIBREVAULT_COMMIT" == "$LIBREVAULT_COMMIT" ]]; then
return
fi
function_check set_repo_commit
if [ -d $INSTALL_DIR/protobuf ]; then
if ! grep -q "Protobuf commit:$PROTOBUF_COMMIT" $COMPLETION_FILE; then
set_repo_commit $INSTALL_DIR/protobuf "Protobuf commit" "$PROTOBUF_COMMIT" $PROTOBUF_REPO
cd $INSTALL_DIR/protobuf
./autogen.sh
./configure
make
make check
make install
ldconfig
fi
fi
if [ -d $INSTALL_DIR/librevault/build ]; then
if ! grep -q "librevault commit:$LIBREVAULT_COMMIT" $COMPLETION_FILE; then
set_repo_commit $INSTALL_DIR/librevault "librevault commit" "$LIBREVAULT_COMMIT" $LIBREVAULT_REPO
cd $INSTALL_DIR/librevault
git submodule update --init --recursive
cd $INSTALL_DIR/librevault/build
cmake ..
cmake --build .
make install
fi
fi
}
function backup_local_librevault {
echo -n ''
# TODO
}
function restore_local_librevault {
echo -n ''
# TODO
}
function backup_remote_librevault {
echo -n ''
# TODO
}
function restore_remote_librevault {
echo -n ''
# TODO
}
function remove_librevault {
firewall_remove ${LIBREVAULT_PORT}
systemctl stop librevault
systemctl disable librevault
rm /etc/systemd/system/librevault.service
systemctl daemon-reload
remove_completion_param install_librevault
remove_completion_param configure_firewall_for_librevault
}
function configure_firewall_for_librevault {
if [[ $(is_completed $FUNCNAME) == "1" ]]; then
return
fi
firewall_add Librevault ${LIBREVAULT_PORT}
mark_completed $FUNCNAME
}
function mesh_install_librevault {
install_tracker
install_cmake
install_cryptopp
chroot "$rootdir" apt-get -yq install bittornado nginx
chroot "$rootdir" apt-get -yq install build-essential
chroot "$rootdir" apt-get -yq install autoconf automake libtool curl make unzip
# A workaround which allows c++14 to be installed
chroot "$rootdir" apt-get -yq install g++ gcc-6 g++-6 libboost-all-dev libssl-dev
chroot "$rootdir" apt-get -yq install protobuf-compiler libprotobuf-dev
chroot "$rootdir" apt-get -yq install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev
chroot "$rootdir" apt-get -yq install libsqlite3-dev qttools5-dev qttools5-dev-tools libnatpmp-dev
if [ ! -d $rootdir$INSTALL_DIR ]; then
mkdir -p $rootdir$INSTALL_DIR
fi
git clone $PROTOBUF_REPO $rootdir$INSTALL_DIR/protobuf
cd $rootdir$INSTALL_DIR/protobuf
git checkout $PROTOBUF_COMMIT -b $PROTOBUF_COMMIT
cat <<EOF > $rootdir/root/install_protobuf
cd $INSTALL_DIR/protobuf
./autogen.sh
./configure
make
make install
ldconfig
EOF
chroot "$rootdir" chmod +x /root/install_protobuf
chroot "$rootdir" /root/install_protobuf
git clone $LIBREVAULT_REPO $rootdir$INSTALL_DIR/librevault
cd $rootdir$INSTALL_DIR/librevault
git checkout $LIBREVAULT_COMMIT -b $LIBREVAULT_COMMIT
git submodule update --init --recursive
# rabin seems particularly broken
rm -rf $rootdir$INSTALL_DIR/librevault/contrib/rabin
git clone https://github.com/bashrc/rabin $rootdir$INSTALL_DIR/librevault/contrib/rabin
cd $rootdir$INSTALL_DIR/librevault/contrib/rabin
git checkout bashrc/fixup2
mkdir $rootdir$INSTALL_DIR/librevault/build
cat <<EOF > $rootdir/root/install_librevault
cd $INSTALL_DIR/librevault/build
cmake -BUILD_UPDATER=OFF ..
which Meta_s.pb.cc
cmake --build $INSTALL_DIR/librevault/build
make install
EOF
chroot "$rootdir" chmod +x /root/install_librevault
chroot "$rootdir" /root/install_librevault
chroot "$rootdir" rm /root/install_librevault
LIBREVAULT_DAEMON=$rootdir/etc/systemd/system/librevault-daemon.service
echo '[Unit]' > $LIBREVAULT_DAEMON
echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (multi-instance-master)' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Service]' >> $LIBREVAULT_DAEMON
echo 'Type=oneshot' >> $LIBREVAULT_DAEMON
echo 'RemainAfterExit=yes' >> $LIBREVAULT_DAEMON
echo 'ExecStart=/bin/true' >> $LIBREVAULT_DAEMON
echo 'ExecReload=/bin/true' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Install]' >> $LIBREVAULT_DAEMON
echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
LIBREVAULT_DAEMON=$rootdir/etc/systemd/system/librevault-daemon@.service
echo '[Unit]' > $LIBREVAULT_DAEMON
echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (instance for %I)' >> $LIBREVAULT_DAEMON
echo 'After=network.target' >> $LIBREVAULT_DAEMON
echo 'PartOf=librevault-daemon.service' >> $LIBREVAULT_DAEMON
echo 'ReloadPropagatedFrom=librevault-daemon.service' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Service]' >> $LIBREVAULT_DAEMON
echo 'User=%i' >> $LIBREVAULT_DAEMON
echo 'ExecStart=/usr/bin/librevault-daemon' >> $LIBREVAULT_DAEMON
echo 'Restart=on-failure' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Install]' >> $LIBREVAULT_DAEMON
echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
chroot "$rootdir" systemctl enable librevault-daemon
}
function install_librevault {
if [ $INSTALLING_MESH ]; then
mesh_install_librevault
return
fi
install_tracker
install_cmake
install_cryptopp
apt-get -yq install build-essential
apt-get -yq install autoconf automake libtool curl make unzip
# A workaround which allows c++14 to be installed
apt-get -yq install protobuf-compiler libprotobuf-dev
apt-get -yq install g++ gcc-6 g++-6 libboost-all-dev libssl-dev
apt-get -yq install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev
apt-get -yq install libsqlite3-dev qttools5-dev qttools5-dev-tools libnatpmp-dev
apt-get -yq install gcc-6 g++-6 libboost-all-dev
if [ ! -d $INSTALL_DIR ]; then
mkdir -p $INSTALL_DIR
fi
git_clone $PROTOBUF_REPO $INSTALL_DIR/protobuf
cd $INSTALL_DIR/protobuf
git checkout $PROTOBUF_COMMIT -b $PROTOBUF_COMMIT
./autogen.sh
./configure
make
make check
make install
ldconfig
set_completion_param "Protobuf commit" "$PROTOBUF_COMMIT"
if [ -d /repos/librevault ]; then
mkdir $INSTALL_DIR/librevault
cp -r -p /repos/librevault/. $INSTALL_DIR/librevault
cd $INSTALL_DIR/librevault
git pull
else
git_clone $LIBREVAULT_REPO $INSTALL_DIR/librevault
fi
cd $INSTALL_DIR/librevault
git checkout $LIBREVAULT_COMMIT -b $LIBREVAULT_COMMIT
git submodule update --init --recursive
# rabin seems particularly broken
rm -rf $INSTALL_DIR/librevault/contrib/rabin
git clone https://github.com/bashrc/rabin $INSTALL_DIR/librevault/contrib/rabin
cd $INSTALL_DIR/librevault/contrib/rabin
git checkout bashrc/fixup2
mkdir $INSTALL_DIR/librevault/build
cd $INSTALL_DIR/librevault/build
cmake -BUILD_UPDATER=OFF ..
cmake --build .
make install
set_completion_param "librevault commit" "$LIBREVAULT_COMMIT"
LIBREVAULT_DAEMON=/etc/systemd/system/librevault-daemon.service
echo '[Unit]' > $LIBREVAULT_DAEMON
echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (multi-instance-master)' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Service]' >> $LIBREVAULT_DAEMON
echo 'Type=oneshot' >> $LIBREVAULT_DAEMON
echo 'RemainAfterExit=yes' >> $LIBREVAULT_DAEMON
echo 'ExecStart=/bin/true' >> $LIBREVAULT_DAEMON
echo 'ExecReload=/bin/true' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Install]' >> $LIBREVAULT_DAEMON
echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
LIBREVAULT_DAEMON=/etc/systemd/system/librevault-daemon@.service
echo '[Unit]' > $LIBREVAULT_DAEMON
echo 'Description=Librevault - Peer-to-peer, decentralized and open source file sync (instance for %I)' >> $LIBREVAULT_DAEMON
echo 'After=network.target' >> $LIBREVAULT_DAEMON
echo 'PartOf=librevault-daemon.service' >> $LIBREVAULT_DAEMON
echo 'ReloadPropagatedFrom=librevault-daemon.service' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Service]' >> $LIBREVAULT_DAEMON
echo 'User=%i' >> $LIBREVAULT_DAEMON
echo 'ExecStart=/usr/bin/librevault-daemon' >> $LIBREVAULT_DAEMON
echo 'Restart=on-failure' >> $LIBREVAULT_DAEMON
echo '' >> $LIBREVAULT_DAEMON
echo '[Install]' >> $LIBREVAULT_DAEMON
echo 'WantedBy=multi-user.target' >> $LIBREVAULT_DAEMON
systemctl enable librevault-daemon
systemctl start librevault-daemon
APP_INSTALLED=1
}
# NOTE: deliberately no exit 0

View File

@ -394,8 +394,6 @@ function install_rss_main {
RSS_MOBILE_READER_ONION_HOSTNAME=$(add_onion_service mobilerss 80 ${RSS_MOBILE_READER_ONION_PORT})
set_completion_param "rss_mobile onion domain" "$RSS_MOBILE_READER_ONION_HOSTNAME"
echo 'server {' > /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME
echo " listen 127.0.0.1:$RSS_MOBILE_READER_ONION_PORT;" >> /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME
echo " server_name $RSS_MOBILE_READER_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$RSS_READER_DOMAIN_NAME

View File

@ -586,6 +586,7 @@ function remove_xmpp {
function_check remove_onion_service
remove_onion_service xmpp 5222 5223 5269
sed -i '/HiddenServiceVersion 2/d' /etc/tor/torrc
apt-get -yq remove --purge prosody
rm /etc/cron.daily/prosody
@ -1029,6 +1030,7 @@ function install_xmpp {
fi
if ! grep -q "hidden_service_xmpp" /etc/tor/torrc; then
echo 'HiddenServiceDir /var/lib/tor/hidden_service_xmpp/' >> /etc/tor/torrc
echo 'HiddenServiceVersion 2' >> /etc/tor/torrc
echo "HiddenServicePort 5222 127.0.0.1:5222" >> /etc/tor/torrc
echo "HiddenServicePort 5269 127.0.0.1:5269" >> /etc/tor/torrc
echo $'Added onion site for xmpp chat'

View File

@ -437,7 +437,7 @@ function show_domains {
echo -n -e "$(pad_string "${icann_address}")"
echo "${onion_address}"
if grep -q "${app_name}_mobile onion domain" $COMPLETION_FILE; then
if grep -q "mobile${app_name} onion domain" $COMPLETION_FILE; then
onion_address=$(get_app_onion_address "${app_name}" "mobile")
echo -n -e "$(pad_string "${app_name} (mobile)")"
echo -n -e "$(pad_string "${icann_address}")"
@ -454,11 +454,11 @@ function show_domains {
echo -n "$(cat /var/lib/tor/hidden_service_ttrss/hostname)"
echo ''
fi
if [ -d /var/lib/tor/hidden_service_ttrss_mobile ]; then
if [ -d /var/lib/tor/hidden_service_mobilerss ]; then
echo -n -e "$(pad_string 'RSS mobile')"
RSSMOBILEDOM='-'
echo -n -e "$(pad_string ${RSSMOBILEDOM})"
echo -n "$(cat /var/lib/tor/hidden_service_ttrss_mobile/hostname)"
echo -n "$(cat /var/lib/tor/hidden_service_mobilerss/hostname)"
echo ''
fi
fi

View File

@ -496,18 +496,8 @@ atheros_wifi() {
return
fi
firmware_filename="open-ath9k-htc-firmware_1.3-1_all.deb"
firmware_hash='5fea58ffefdf0ef15b504db7fbe3bc078c03e0d927bba64085e4b6f2546102f5'
firmware_url="http://us.archive.trisquel.info/trisquel/pool/main/o/open-ath9k-htc-firmware/$firmware_filename"
firmware_tempfile="/tmp/$firmware_filename"
wget "$firmware_url" -O "$rootdir$firmware_tempfile"
downloaded_firmware_hash=$(sha256sum "$rootdir$firmware_tempfile" | awk -F ' ' '{print $1}')
if [[ "$downloaded_firmware_hash" == "$firmware_hash" ]]; then
chroot "$rootdir" dpkg -i "$firmware_tempfile"
else
echo 'WARNING: Atheros Wifi firmware hash does not match. The driver has not been installed.'
fi
chroot "$rootdir" dpkg -i /root/freedombone/drivers/firmware-ath9k-htc.deb
chroot "$rootdir" apt-get -yq install firmware-linux-free
}
configure_wifi() {
@ -1743,8 +1733,8 @@ function image_setup_utils {
chroot "$rootdir" connect-proxy
sed -i 's|#Log notice file.*|Log notice file /dev/null|g' $rootdir/etc/tor/torrc
sed -i 's|Log notice file.*|Log notice file /dev/null|g' $rootdir/etc/tor/torrc
sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" $rootdir/etc/tor/torrc
sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" $rootdir/etc/tor/torrc
sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" $rootdir/etc/tor/torrc
sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" $rootdir/etc/tor/torrc
if ! grep -q 'Host *.onion' $rootdir/root/.ssh/config; then
if [ ! -d $rootdir/root/.ssh ]; then
mkdir $rootdir/root/.ssh

View File

@ -29,7 +29,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# The maximum amount of traffic per day in gigabytes
TOR_MAX_TRAFFIC_PER_DAY_GB=3
TOR_MAX_TRAFFIC_PER_MONTH_GB=10
HIDDEN_SERVICE_PATH='/var/lib/tor/hidden_service_'
@ -124,7 +124,7 @@ function add_onion_service {
fi
if ! grep -q "hidden_service_${onion_service_name}" /etc/tor/torrc; then
echo "HiddenServiceDir ${HIDDEN_SERVICE_PATH}${onion_service_name}/" >> /etc/tor/torrc
#echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
echo 'HiddenServiceVersion 3' >> /etc/tor/torrc
echo "HiddenServicePort ${onion_service_port_from} 127.0.0.1:${onion_service_port_to}" >> /etc/tor/torrc
if [ ${#onion_stealth_name} -gt 0 ]; then
echo "HiddenServiceAuthorizeClient stealth ${onion_stealth_name}" >> /etc/tor/torrc
@ -284,8 +284,8 @@ function install_tor {
sed -i 's|Log notice file.*|Log notice file /dev/null|g' /etc/tor/torrc
# Restrict traffic
sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" /etc/tor/torrc
sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_DAY_GB GBytes|g" /etc/tor/torrc
sed -i "s|#AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" /etc/tor/torrc
sed -i "s|AccountingMax.*|AccountingMax $TOR_MAX_TRAFFIC_PER_MONTH_GB GBytes|g" /etc/tor/torrc
mark_completed $FUNCNAME
}
@ -427,11 +427,11 @@ function get_app_onion_address {
mobilestr="$2"
if [ ${#mobilestr} -gt 0 ]; then
mobilestr="_${mobilestr}"
app_name="mobile${app_name}"
fi
if grep -q "${app_name}${mobilestr} onion domain" $COMPLETION_FILE; then
if grep -q "${app_name}${mobilestr} onion domain" $COMPLETION_FILE; then
echo $(cat ${COMPLETION_FILE} | grep "${app_name}${mobilestr} onion domain" | head -n 1 | awk -F ':' '{print $2}')
if grep -q "${app_name} onion domain" $COMPLETION_FILE; then
if grep -q "${app_name} onion domain" $COMPLETION_FILE; then
echo $(cat ${COMPLETION_FILE} | grep "${app_name} onion domain" | head -n 1 | awk -F ':' '{print $2}')
return
fi
fi

View File

@ -13,7 +13,7 @@
# License
# =======
#
# Copyright (C) 2015-2016 Bob Mottram <bob@freedombone.net>
# Copyright (C) 2015-2018 Bob Mottram <bob@freedombone.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
@ -86,7 +86,9 @@ function setup_wifi_atheros {
return
fi
atheros_drivers_file=drivers/ath9k_htc_driver_bbb.tar.gz
apt-get -yq install firmware-linux-free
atheros_drivers_file=drivers/firmware-ath9k-htc.deb
if [ ! -f $atheros_drivers_file ]; then
if [ ! -f ~/freedombone/$atheros_drivers_file ]; then
return
@ -96,20 +98,8 @@ function setup_wifi_atheros {
else
atheros_drivers_file=$(pwd)/$atheros_drivers_file
fi
if [ ! -d /lib/firmware ]; then
mkdir /lib/firmware
if [ ! -d /lib/firmware ]; then
return
fi
fi
if [ -f /lib/firmware/htc_9271.fw ]; then
return
fi
curr_dir=$(pwd)
cd /lib/firmware
tar -xzvf $atheros_drivers_file
dpkg -i $atheros_drivers_file
reset_usb_devices
cd $curr_dir
update_wifi_adaptors
if [ $IFACE ]; then
wpa_action ${IFACE} stop

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-11-19 Sun 23:19 -->
<!-- 2018-01-26 Fri 16:34 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@ -264,9 +264,9 @@ Matrix is a federated communications system, typically for multi-user chat, with
Another consideration is that since matrix operates on the usual HTTPS port number (443) this may make it difficult for ISPs or governments to censor this type of communications via port blocking without significant blowback.
</p>
<div id="outline-container-orgd6cc689" class="outline-2">
<h2 id="orgd6cc689">Installation</h2>
<div class="outline-text-2" id="text-orgd6cc689">
<div id="outline-container-org32d6f79" class="outline-2">
<h2 id="org32d6f79">Installation</h2>
<div class="outline-text-2" id="text-org32d6f79">
<p>
Log into your system with:
</p>
@ -286,9 +286,9 @@ Select <b>Add/Remove Apps</b> then <b>matrix</b>. You will then be asked for a d
</div>
</div>
<div id="outline-container-org3292734" class="outline-2">
<h2 id="org3292734">Initial setup</h2>
<div class="outline-text-2" id="text-org3292734">
<div id="outline-container-orgd879b05" class="outline-2">
<h2 id="orgd879b05">Initial setup</h2>
<div class="outline-text-2" id="text-orgd879b05">
<p>
Go to the <b>Administrator control panel</b> and select <b>Passwords</b> then <b>matrix</b>. This will give you the password to initially log in to the system and you can change it later from a client app if needed.
</p>
@ -303,9 +303,9 @@ Other client apps are available but are currently mostly only at the alpha stage
</div>
</div>
<div id="outline-container-org82239c4" class="outline-2">
<h2 id="org82239c4">DNS setup</h2>
<div class="outline-text-2" id="text-org82239c4">
<div id="outline-container-org5dc94fc" class="outline-2">
<h2 id="org5dc94fc">DNS setup</h2>
<div class="outline-text-2" id="text-org5dc94fc">
<p>
It's recommended that you add an SRV record for Matrix to your DNS setup. How you do this will depend upon your dynamic DNS provider and their web interface. On FreeDNS on the subdomains settings in addition to the subdomain which you are using for the matrix server create an extra entry as follows:
</p>
@ -324,11 +324,11 @@ You may also want to make another entry with the same settings but replacing <b>
</div>
</div>
<div id="outline-container-org9568212" class="outline-2">
<h2 id="org9568212">Mobile app</h2>
<div class="outline-text-2" id="text-org9568212">
<div id="outline-container-org3819fd5" class="outline-2">
<h2 id="org3819fd5">Mobile app</h2>
<div class="outline-text-2" id="text-org3819fd5">
<p>
If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the settings and changing <b>Sync request timeout</b> to 30 seconds and <b>Delay between two sync requests</b> to 600 seconds.
If you're using the Riot mobile app to access your Matrix homeserver then you can significantly improve battery performance by going to the <b>settings</b> and changing <b>Sync request timeout</b> to 30 seconds and <b>Delay between two sync requests</b> to 600 seconds. Also turning off <b>msgs in group chats</b> will help, since it will avoid getting a notification whenever a group chat event happens, which then wakes up the screen.
</p>
</div>
</div>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2018-01-21 Sun 11:13 -->
<!-- 2018-01-29 Mon 10:19 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@ -252,54 +252,54 @@ for the JavaScript code in this tag.
Some things you might want to know about the Fediverse:
</p>
<div id="outline-container-org7ef0ae3" class="outline-2">
<h2 id="org7ef0ae3">Keep the number of users on each server small</h2>
<div class="outline-text-2" id="text-org7ef0ae3">
<div id="outline-container-org403f1ae" class="outline-2">
<h2 id="org403f1ae">Keep the number of users on each server small</h2>
<div class="outline-text-2" id="text-org403f1ae">
<p>
The importance of this can't be overstated. Servers with lots of users always eventually have problems where the interests of the users are not the same as the interests of the server administrator. If you are the server administrator, or if there are only a small squad-size group of people on the server, then it's a lot easier to resolve differences and everyone's interests are likely to be similar.
</p>
</div>
</div>
<div id="outline-container-orgb78d10c" class="outline-2">
<h2 id="orgb78d10c">Drama will happen</h2>
<div class="outline-text-2" id="text-orgb78d10c">
<div id="outline-container-org4b8c27b" class="outline-2">
<h2 id="org4b8c27b">Drama will happen</h2>
<div class="outline-text-2" id="text-org4b8c27b">
<p>
It's inevitable in any social network, but fortunately your options for dealing with it are better than they are in the giant proprietary monoliths. In the proprietary world Google or Facebook don't give a damn about the fate of individual users. On a server with a small number of users if you're getting griefed then the administrator is likely to care and be able to do something about it.
</p>
</div>
</div>
<div id="outline-container-orgac5dc10" class="outline-2">
<h2 id="orgac5dc10">Don't be afraid to block</h2>
<div class="outline-text-2" id="text-orgac5dc10">
<div id="outline-container-org6bb90e7" class="outline-2">
<h2 id="org6bb90e7">Don't be afraid to block</h2>
<div class="outline-text-2" id="text-org6bb90e7">
<p>
Especially if other servers are publishing content which may not be legal in your jurisdiction then don't be afraid to use domain or user blocking from the <b>Administrator control panel</b>. The same applies if users on other servers are trying to harass you. Blocking creates politics and drama but <span class="underline">this is a feature not a bug</span>. It allows you to craft your own distinct community and user experience while also existing in the wider federation. It's hard to do this on sites like Twitter or Facebook. Try to keep blocking to a minimum though and avoid doing it for insubstantial reasons. If you have other users on your server then publish the blocked domains list somewhere they can see. That avoids disappointment and enables you to have a discussion about the validity of blocking decisions.
</p>
</div>
</div>
<div id="outline-container-orgec4f5cf" class="outline-2">
<h2 id="orgec4f5cf">Network structure maps on to social structure</h2>
<div class="outline-text-2" id="text-orgec4f5cf">
<div id="outline-container-orgded15c7" class="outline-2">
<h2 id="orgded15c7">Network structure maps on to social structure</h2>
<div class="outline-text-2" id="text-orgded15c7">
<p>
Over time follows and blocking rules come to match the underlying social geography of affinity groups. Blocking will happen and users will move around or start new servers. Drama related to blocking will dissipate.
</p>
</div>
</div>
<div id="outline-container-org07b0224" class="outline-2">
<h2 id="org07b0224">Keep your follows under the Dunbar number</h2>
<div class="outline-text-2" id="text-org07b0224">
<div id="outline-container-orgd6823a8" class="outline-2">
<h2 id="orgd6823a8">Keep your follows under the Dunbar number</h2>
<div class="outline-text-2" id="text-orgd6823a8">
<p>
Keep the number of other users you're following and who are also active to under a couple of hundred. Any more than that and you'll just be overwhelmed by irrelevant stuff and whatever community you may have been part of will dissolve in a sea of entropy. There are no algorithmic timelines, and even if they're introduced then they create their own problems as an opaque form of censorship. <span class="underline">Real community happens at tribal scale</span>. It's something which people often don't like to admit because they get fixated upon bigger and bigger numbers, but it definitely seems to be true.
</p>
</div>
</div>
<div id="outline-container-org07a661a" class="outline-2">
<h2 id="org07a661a">Avoid big public servers</h2>
<div class="outline-text-2" id="text-org07a661a">
<div id="outline-container-org77ec195" class="outline-2">
<h2 id="org77ec195">Avoid big public servers</h2>
<div class="outline-text-2" id="text-org77ec195">
<p>
It may seem like a good idea and it may seem like you're doing a service to the community by allowing random strangers to register, but servers with thousands of users only cause problems - social, administrative, financial and possibly also legal. The financial strain of running a powerful server with high reliability may be enough to encourage the administrator to begin pushing advertising onto the system, or sell user content, and then before you know it you have identical problems to Twitter. Instead try to encourage people to set up their own servers. Follow this principle and a lot of arguments and stress will be more easily avoided.
</p>
@ -308,7 +308,7 @@ It may seem like a good idea and it may seem like you're doing a service to the
<div class="org-center">
<p>
This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
</p>
</div>
</div>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2018-01-21 Sun 11:15 -->
<!-- 2018-01-29 Mon 10:19 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@ -478,7 +478,7 @@ Of course, this is just one way in which you can install the Freedombone system.
<div class="org-center">
<p>
This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>
This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>
</p>
</div>
</div>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2018-01-21 Sun 11:15 -->
<!-- 2018-01-29 Mon 10:18 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@ -299,7 +299,7 @@ Ready made disk images which can be copied onto USB or microSD drives are <a hre
<div class="org-center">
<p>
This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>. This documentation is under the <a href="https://www.gnu.org/licenses/fdl-1.3.txt">GNU Free Documentation License version 1.3</a>
</p>
</div>
</div>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2018-01-21 Sun 11:15 -->
<!-- 2018-01-29 Mon 10:18 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@ -284,7 +284,7 @@ Like <a href="https://libremesh.org">LibreMesh</a>, this system uses a combinati
<div class="org-center">
<p>
This site can also be accessed via a Tor browser at <a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a>
This site can also be accessed via a Tor browser at <a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a>
</p>
</div>
</div>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2018-01-21 Sun 11:14 -->
<!-- 2018-01-29 Mon 10:18 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title>
@ -248,11 +248,11 @@ for the JavaScript code in this tag.
<h1>Support</h1>
</center>
<div id="outline-container-org3dddbf5" class="outline-2">
<h2 id="org3dddbf5">Contact details</h2>
<div class="outline-text-2" id="text-org3dddbf5">
<div id="outline-container-org4dbc811" class="outline-2">
<h2 id="org4dbc811">Contact details</h2>
<div class="outline-text-2" id="text-org4dbc811">
<p>
This site can also be accessed via a Tor browser at <b><a href="http://7ec7btgr6m7c5r3h.onion">http://7ec7btgr6m7c5r3h.onion</a></b>
This site can also be accessed via a Tor browser at <b><a href="http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion">http://yjxlc3imv7obva4grjae6u3qw527koaytrgjgdp364hmthrst3jodiid.onion</a></b>
</p>
<p>
@ -273,22 +273,22 @@ This site can also be accessed via a Tor browser at <b><a href="http://7ec7btgr6
</div>
</div>
<div id="outline-container-org654de23" class="outline-2">
<h2 id="org654de23">Things which would be nice to have</h2>
<div class="outline-text-2" id="text-org654de23">
<div id="outline-container-org0d8934f" class="outline-2">
<h2 id="org0d8934f">Things which would be nice to have</h2>
<div class="outline-text-2" id="text-org0d8934f">
</div>
<div id="outline-container-org9171145" class="outline-3">
<h3 id="org9171145">Ideas</h3>
<div class="outline-text-3" id="text-org9171145">
<div id="outline-container-orgb1770b0" class="outline-3">
<h3 id="orgb1770b0">Ideas</h3>
<div class="outline-text-3" id="text-orgb1770b0">
<p>
Know of some fabulous web system which could run on Freedombone, but currently doesn't? Contact the above, and be prepared to make a compelling argument for why it should be included.
</p>
</div>
</div>
<div id="outline-container-org71c7a97" class="outline-3">
<h3 id="org71c7a97">Money</h3>
<div class="outline-text-3" id="text-org71c7a97">
<div id="outline-container-orge46d165" class="outline-3">
<h3 id="orge46d165">Money</h3>
<div class="outline-text-3" id="text-orge46d165">
<p>
At the present time this project is not seeking any funding. There is no crowdfunding campaign and no slick marketing video. Those aren't ruled out as future possibilities, but for now they're just not needed.
</p>
@ -299,27 +299,27 @@ If you find this project useful then you may wish to consider donating to <a hre
</div>
</div>
<div id="outline-container-org012655b" class="outline-3">
<h3 id="org012655b">Testing and reporting bugs</h3>
<div class="outline-text-3" id="text-org012655b">
<div id="outline-container-orgde98a22" class="outline-3">
<h3 id="orgde98a22">Testing and reporting bugs</h3>
<div class="outline-text-3" id="text-orgde98a22">
<p>
Testing of the install on different hardware. Also pentesting on test installations to find vulnerabilities.
</p>
</div>
</div>
<div id="outline-container-org2ec5168" class="outline-3">
<h3 id="org2ec5168">Web design and artwork</h3>
<div class="outline-text-3" id="text-org2ec5168">
<div id="outline-container-org81b0012" class="outline-3">
<h3 id="org81b0012">Web design and artwork</h3>
<div class="outline-text-3" id="text-org81b0012">
<p>
A better design for this website would be nice to have. Photos, icons or other artwork are all welcome. I've always liked the cartoon artwork of the <a href="https://www.mediagoblin.org/">Mediagoblin</a> project, and attractive graphics can help to get people initially interested.
</p>
</div>
</div>
<div id="outline-container-org76b8351" class="outline-3">
<h3 id="org76b8351">More education and promotion</h3>
<div class="outline-text-3" id="text-org76b8351">
<div id="outline-container-orgbf8be41" class="outline-3">
<h3 id="orgbf8be41">More education and promotion</h3>
<div class="outline-text-3" id="text-orgbf8be41">
<div class="org-center">
<div class="figure">
@ -337,18 +337,18 @@ Raising awareness beyond the near zero current level, overcoming fear and parano
</div>
</div>
<div id="outline-container-org5332549" class="outline-3">
<h3 id="org5332549">Translations</h3>
<div class="outline-text-3" id="text-org5332549">
<div id="outline-container-orgfe4b6e1" class="outline-3">
<h3 id="orgfe4b6e1">Translations</h3>
<div class="outline-text-3" id="text-orgfe4b6e1">
<p>
To add translations modify the json files within the <b>locale</b> subdirectory. Then make a pull request on the <a href="https://github.com/bashrc/freedombone">Github site</a>.
</p>
</div>
</div>
<div id="outline-container-orgd4e3504" class="outline-3">
<h3 id="orgd4e3504">Packaging</h3>
<div class="outline-text-3" id="text-orgd4e3504">
<div id="outline-container-org5e6b66f" class="outline-3">
<h3 id="org5e6b66f">Packaging</h3>
<div class="outline-text-3" id="text-org5e6b66f">
<p>
Helping to package GNU Social and Hubzilla for Debian would be beneficial.
</p>