This commit is contained in:
Bob Mottram 2017-08-22 10:51:36 +01:00
commit 85757ed3ed
8 changed files with 107 additions and 49 deletions

View File

@ -32,21 +32,33 @@ When that's done select *About this system* from the control panel and see the I
* On each client system within your local network * On each client system within your local network
Make sure that you add the static IP address for the server to */etc/hosts*.
#+begin_src bash #+begin_src bash
STATIC_IP=[your server static IP]
sudo echo "$STATIC_IP [your domain name]" >> /etc/hosts
#+end_src
On Arch/Parabola:
#+begin_src bash
sudo pacman -S openresolv
sudo sed -i "s|#name_servers=.*|name_servers=$STATIC_IP|g" /etc/resolvconf.conf
sudo sed -i "s|name_servers=.*|name_servers=$STATIC_IP|g" /etc/resolvconf.conf
sudo chattr -i /etc/resolv.conf sudo chattr -i /etc/resolv.conf
sudo nano /etc/resolv.conf sudo resolvconf -u
#+end_src #+end_src
Comment out any existing entries with a # character and add: Or on a Debian based system:
#+begin_src bash #+begin_src bash
nameserver [IPv4 address from the About screen] sudo apt-get install resolvconf
#+end_src echo 'domain localdomain' > /tmp/resolvconf
echo 'search localdomain' >> /tmp/resolvconf
Normally /resolv.conf/ will be overwritten every time your reboot, but you can prevent this with: echo "nameserver $STATIC_IP" >> /tmp/resolvconf
sudo mv /tmp/resolvconf /etc/resolvconf/resolv.conf.d/head
#+begin_src bash sudo chattr -i /etc/resolv.conf
sudo chattr +i /etc/resolv.conf sudo resolvconf -u
#+end_src #+end_src
* On your internet router * On your internet router

View File

@ -37,7 +37,7 @@ SHOW_ICANN_ADDRESS_ON_ABOUT=0
CRYPTPAD_ONION_PORT=8119 CRYPTPAD_ONION_PORT=8119
CRYPTPAD_PORT=9003 CRYPTPAD_PORT=9003
CRYPTPAD_REPO="https://github.com/xwiki-labs/cryptpad" CRYPTPAD_REPO="https://github.com/xwiki-labs/cryptpad"
CRYPTPAD_COMMIT='0b69973c179efc6f770a1127f07f67de3d6724d1' CRYPTPAD_COMMIT='52d344c3d1404d75d2bf4ae8845e5c024e85ec7f'
CRYPTPAD_DIR=/etc/cryptpad CRYPTPAD_DIR=/etc/cryptpad
cryptpad_variables=(ONION_ONLY) cryptpad_variables=(ONION_ONLY)
@ -283,6 +283,26 @@ function install_cryptpad_main {
echo ' try_files $uri =404;' >> $cryptpad_nginx_site echo ' try_files $uri =404;' >> $cryptpad_nginx_site
echo ' }' >> $cryptpad_nginx_site echo ' }' >> $cryptpad_nginx_site
echo '' >> $cryptpad_nginx_site echo '' >> $cryptpad_nginx_site
echo ' location ^~ /login/ {' >> $cryptpad_nginx_site
echo ' try_files $uri =404;' >> $cryptpad_nginx_site
echo ' }' >> $cryptpad_nginx_site
echo '' >> $cryptpad_nginx_site
echo ' location ^~ /about.html {' >> $cryptpad_nginx_site
echo ' try_files $uri =404;' >> $cryptpad_nginx_site
echo ' }' >> $cryptpad_nginx_site
echo '' >> $cryptpad_nginx_site
echo ' location ^~ /contact.html {' >> $cryptpad_nginx_site
echo ' try_files $uri =404;' >> $cryptpad_nginx_site
echo ' }' >> $cryptpad_nginx_site
echo '' >> $cryptpad_nginx_site
echo ' location ^~ /contact.html {' >> $cryptpad_nginx_site
echo ' try_files $uri =404;' >> $cryptpad_nginx_site
echo ' }' >> $cryptpad_nginx_site
echo '' >> $cryptpad_nginx_site
echo ' location ^~ /what-is-cryptpad.html {' >> $cryptpad_nginx_site
echo ' try_files $uri =404;' >> $cryptpad_nginx_site
echo ' }' >> $cryptpad_nginx_site
echo '' >> $cryptpad_nginx_site
echo ' location ~ ^/(register|login|settings|user|pad|drive|poll|slide|code|whiteboard|file|media)$ {' >> $cryptpad_nginx_site echo ' location ~ ^/(register|login|settings|user|pad|drive|poll|slide|code|whiteboard|file|media)$ {' >> $cryptpad_nginx_site
echo ' rewrite ^(.*)$ $1/ redirect;' >> $cryptpad_nginx_site echo ' rewrite ^(.*)$ $1/ redirect;' >> $cryptpad_nginx_site
echo ' }' >> $cryptpad_nginx_site echo ' }' >> $cryptpad_nginx_site

View File

@ -34,6 +34,7 @@ VARIANTS="full full-vim writer"
IN_DEFAULT_INSTALL=0 IN_DEFAULT_INSTALL=0
SHOW_ON_ABOUT=1 SHOW_ON_ABOUT=1
GHOST_VERSION=1.6.2
GHOST_DOMAIN_NAME= GHOST_DOMAIN_NAME=
GHOST_CODE= GHOST_CODE=
GHOST_ONION_PORT=8104 GHOST_ONION_PORT=8104
@ -53,6 +54,9 @@ function ghost_bust {
kill_pid=$(ps aux | grep "ghost" | awk -F ' ' '{print $2}' | head -n 1) kill_pid=$(ps aux | grep "ghost" | awk -F ' ' '{print $2}' | head -n 1)
kill -9 $kill_pid kill -9 $kill_pid
kill_pid=$(ps aux | grep "ghost" | awk -F ' ' '{print $2}' | head -n 1)
kill -9 $kill_pid
} }
function logging_on_ghost { function logging_on_ghost {
@ -188,6 +192,11 @@ function reconfigure_ghost {
} }
function upgrade_ghost { function upgrade_ghost {
CURR_GHOST_VERSION=$(get_completion_param "ghost version")
if [[ "${CURR_GHOST_VERSION}" == "${GHOST_VERSION}" ]]; then
return
fi
read_config_param GHOST_DOMAIN_NAME read_config_param GHOST_DOMAIN_NAME
if [ ! -d /var/www/$GHOST_DOMAIN_NAME/htdocs ]; then if [ ! -d /var/www/$GHOST_DOMAIN_NAME/htdocs ]; then
@ -195,6 +204,7 @@ function upgrade_ghost {
fi fi
systemctl stop ghost systemctl stop ghost
ghost_bust
cd /var/www/$GHOST_DOMAIN_NAME/htdocs cd /var/www/$GHOST_DOMAIN_NAME/htdocs
@ -209,6 +219,7 @@ function upgrade_ghost {
chown -R root:root /usr/local/lib chown -R root:root /usr/local/lib
chown -R ghost: /var/www/${GHOST_DOMAIN_NAME}/htdocs chown -R ghost: /var/www/${GHOST_DOMAIN_NAME}/htdocs
systemctl restart ghost systemctl restart ghost
sed -i "s|ghost version.*|ghost version:${GHOST_VERSION}|g" ${COMPLETION_FILE}
} }
function backup_local_ghost { function backup_local_ghost {

View File

@ -37,7 +37,7 @@ GNUSOCIAL_DOMAIN_NAME=
GNUSOCIAL_CODE= GNUSOCIAL_CODE=
GNUSOCIAL_ONION_PORT=8087 GNUSOCIAL_ONION_PORT=8087
GNUSOCIAL_REPO="https://git.gnu.io/gnu/gnu-social.git" GNUSOCIAL_REPO="https://git.gnu.io/gnu/gnu-social.git"
GNUSOCIAL_COMMIT='05a9c11c476b384e5ef3f3cc83b66406fcf7a378' GNUSOCIAL_COMMIT='d61375cb7fd9e3ac2dbba2b22d0d6461fb753892'
GNUSOCIAL_ADMIN_PASSWORD= GNUSOCIAL_ADMIN_PASSWORD=
GNUSOCIAL_BACKGROUND_IMAGE_URL= GNUSOCIAL_BACKGROUND_IMAGE_URL=

View File

@ -312,18 +312,16 @@ function remove_user_matrix {
function add_user_matrix { function add_user_matrix {
new_username="$1" new_username="$1"
new_user_password="$2" new_user_password="$2"
is_admin_user='-a'
if [[ "$new_username" != "$MY_USERNAME" ]]; then read_config_param MY_USERNAME
is_admin_user='' read_config_param MATRIX_DOMAIN_NAME
fi
${PROJECT_NAME}-pass -u $new_username -a matrix -p "$new_user_password" ${PROJECT_NAME}-pass -u $new_username -a matrix -p "$new_user_password"
if [[ $ONION_ONLY == 'no' ]]; then if [[ "$new_username" != "$MY_USERNAME" ]]; then
retval=$(register_new_matrix_user -c ${MATRIX_DATA_DIR}/homeserver.yaml -u "${new_username}" -p "${new_user_password}" $is_admin_user https://${MATRIX_DOMAIN_NAME}) echo 'no' | register_new_matrix_user -c ${MATRIX_DATA_DIR}/homeserver.yaml -u "${new_username}" -p "${new_user_password}" http://localhost:${MATRIX_PORT}
else else
retval=$(register_new_matrix_user -c ${MATRIX_DATA_DIR}/homeserver.yaml -u "${new_username}" -p "${new_user_password}" $is_admin_user http://${MATRIX_DOMAIN_NAME}) echo 'yes' | register_new_matrix_user -c ${MATRIX_DATA_DIR}/homeserver.yaml -u "${new_username}" -p "${new_user_password}" -a http://localhost:${MATRIX_PORT}
fi fi
echo "0" echo "0"
} }

View File

@ -47,7 +47,7 @@ PIHOLE_BLACKLIST=$piholeDir/blacklist.txt
PIHOLE_WHITELIST=$piholeDir/whitelist.txt PIHOLE_WHITELIST=$piholeDir/whitelist.txt
PIHOLE_REPO="https://github.com/pi-hole/pi-hole" PIHOLE_REPO="https://github.com/pi-hole/pi-hole"
PIHOLE_COMMIT='bef0a2fef08b39780610b8885407b855edd3ba49' PIHOLE_COMMIT='2ceeac41fe8e493f9040b54a7c82f1183ecf5566'
pihole_variables=(ONION_ONLY pihole_variables=(ONION_ONLY
PIHOLE_IFACE PIHOLE_IFACE

View File

@ -33,7 +33,7 @@ QVITTER_THEME_REPO="https://git.postactiv.com/bob/Qvitter"
QVITTER_THEME_COMMIT='b5791cf935a6391c492cefa1ffa50cc3cea44c12' QVITTER_THEME_COMMIT='b5791cf935a6391c492cefa1ffa50cc3cea44c12'
PLEROMA_REPO="https://gitgud.io/lambadalambda/pleroma-fe" PLEROMA_REPO="https://gitgud.io/lambadalambda/pleroma-fe"
PLEROMA_COMMIT='7d59051fc5e93585d8d9858ac989d9ebf7aa3cf9' PLEROMA_COMMIT='cbe652f2d94d81fa54a37378b7ff014c4391ca5e'
ARMADILLO_REPO="https://git.postactiv.com/maiya/Armadillo" ARMADILLO_REPO="https://git.postactiv.com/maiya/Armadillo"
ARMADILLO_COMMIT='ec3938a678f373156c4cbf37926c9a5ab68222c4' ARMADILLO_COMMIT='ec3938a678f373156c4cbf37926c9a5ab68222c4'
@ -409,6 +409,7 @@ function install_pleroma_front_end {
npm install -g eslint-plugin-promise@3.5.0 npm install -g eslint-plugin-promise@3.5.0
npm install -g moment@2.18.1 npm install -g moment@2.18.1
npm install -g node-sass@4.5.2 npm install -g node-sass@4.5.2
npm install -g whatwg-fetch@2.0.3
yarn yarn
if [ -f $INSTALL_DIR/pleroma/dist/index.html ]; then if [ -f $INSTALL_DIR/pleroma/dist/index.html ]; then
rm -rf $INSTALL_DIR/pleroma/dist/* rm -rf $INSTALL_DIR/pleroma/dist/*
@ -452,6 +453,7 @@ function upgrade_pleroma {
if [ -d $INSTALL_DIR/pleroma ]; then if [ -d $INSTALL_DIR/pleroma ]; then
set_repo_commit $INSTALL_DIR/pleroma "${app_name} pleroma commit" "$PLEROMA_COMMIT" $PLEROMA_REPO set_repo_commit $INSTALL_DIR/pleroma "${app_name} pleroma commit" "$PLEROMA_COMMIT" $PLEROMA_REPO
cd $INSTALL_DIR/pleroma cd $INSTALL_DIR/pleroma
yarn
npm run build npm run build
if [ ! -d $INSTALL_DIR/pleroma/dist ]; then if [ ! -d $INSTALL_DIR/pleroma/dist ]; then
echo 'Unable to build pleroma' echo 'Unable to build pleroma'

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2016-11-12 Sat 23:53 --> <!-- 2017-08-22 Tue 10:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title></title> <title></title>
@ -71,6 +71,7 @@
pre.src-fortran:before { content: 'Fortran'; } pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; } pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; } pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; } pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; } pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; } pre.src-latex:before { content: 'LaTeX'; }
@ -188,7 +189,7 @@
@licstart The following is the entire license notice for the @licstart The following is the entire license notice for the
JavaScript code in this tag. JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc. Copyright (C) 2012-2017 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU redistribute it and/or modify it under the terms of the GNU
@ -263,9 +264,9 @@ You can block ads for any devices connected to your local network by installing
Also don't expect perfection. Though many ads may be blocked by this system some will still get through. It's a constant cat and mouse game between advertisers and blockers. Also don't expect perfection. Though many ads may be blocked by this system some will still get through. It's a constant cat and mouse game between advertisers and blockers.
</p> </p>
<div id="outline-container-org28ca84b" class="outline-2"> <div id="outline-container-org4f58654" class="outline-2">
<h2 id="org28ca84b">Set a static IP address</h2> <h2 id="org4f58654">Set a static IP address</h2>
<div class="outline-text-2" id="text-org28ca84b"> <div class="outline-text-2" id="text-org4f58654">
<p> <p>
Ensure that your system has a static local IP address (typically 192.168..) using the option on the control panel. You will also need to know the IP address of your internet router, which is usually <b>192.168.1.1</b> or <b>192.168.1.254</b>. Ensure that your system has a static local IP address (typically 192.168..) using the option on the control panel. You will also need to know the IP address of your internet router, which is usually <b>192.168.1.1</b> or <b>192.168.1.254</b>.
</p> </p>
@ -276,38 +277,52 @@ When that's done select <b>About this system</b> from the control panel and see
</div> </div>
</div> </div>
<div id="outline-container-org8d14e27" class="outline-2"> <div id="outline-container-orgc2fe39b" class="outline-2">
<h2 id="org8d14e27">On each client system within your local network</h2> <h2 id="orgc2fe39b">On each client system within your local network</h2>
<div class="outline-text-2" id="text-org8d14e27"> <div class="outline-text-2" id="text-orgc2fe39b">
<div class="org-src-container">
<pre class="src src-bash">sudo chattr -i /etc/resolv.conf
sudo nano /etc/resolv.conf
</pre>
</div>
<p> <p>
Comment out any existing entries with a # character and add: Make sure that you add the static IP address for the server to <b>/etc/hosts</b>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">nameserver [IPv4 address from the About screen] <pre><code class="src src-bash"><span class="org-variable-name">STATIC_IP</span>=[your server static IP]
</pre> sudo echo <span class="org-string">"$STATIC_IP [your domain name]"</span> &gt;&gt; /etc/hosts
</code></pre>
</div> </div>
<p> <p>
Normally <i>resolv.conf</i> will be overwritten every time your reboot, but you can prevent this with: On Arch/Parabola:
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo chattr +i /etc/resolv.conf <pre><code class="src src-bash">sudo pacman -S openresolv
</pre> sudo sed -i <span class="org-string">"s|#name_servers=.*|name_servers=$STATIC_IP|g"</span> /etc/resolvconf.conf
sudo sed -i <span class="org-string">"s|name_servers=.*|name_servers=$STATIC_IP|g"</span> /etc/resolvconf.conf
sudo chattr -i /etc/resolv.conf
sudo resolvconf -u
</code></pre>
</div>
<p>
Or on a Debian based system:
</p>
<div class="org-src-container">
<pre><code class="src src-bash">sudo apt-get install resolvconf
<span class="org-builtin">echo</span> <span class="org-string">'domain localdomain'</span> &gt; /tmp/resolvconf
<span class="org-builtin">echo</span> <span class="org-string">'search localdomain'</span> &gt;&gt; /tmp/resolvconf
<span class="org-builtin">echo</span> <span class="org-string">"nameserver $STATIC_IP"</span> &gt;&gt; /tmp/resolvconf
sudo mv /tmp/resolvconf /etc/resolvconf/resolv.conf.d/head
sudo chattr -i /etc/resolv.conf
sudo resolvconf -u
</code></pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgb95e44f" class="outline-2"> <div id="outline-container-org3124632" class="outline-2">
<h2 id="orgb95e44f">On your internet router</h2> <h2 id="org3124632">On your internet router</h2>
<div class="outline-text-2" id="text-orgb95e44f"> <div class="outline-text-2" id="text-org3124632">
<p> <p>
If you can access the settings on your local internet router then this is the simplest way to provide ad blocking for all devices which connect to it. Unfortunately some router models don't let you edit the DNS settings and if that's the case you might want to consider getting a different router. If you can access the settings on your local internet router then this is the simplest way to provide ad blocking for all devices which connect to it. Unfortunately some router models don't let you edit the DNS settings and if that's the case you might want to consider getting a different router.
</p> </p>
@ -317,9 +332,9 @@ Edit the DNS settings and add the IPv4 address which you got from the control pa
</p> </p>
</div> </div>
<div id="outline-container-orge5bdb7f" class="outline-3"> <div id="outline-container-org2c8b1c5" class="outline-3">
<h3 id="orge5bdb7f">LibreCMC</h3> <h3 id="org2c8b1c5">LibreCMC</h3>
<div class="outline-text-3" id="text-orge5bdb7f"> <div class="outline-text-3" id="text-org2c8b1c5">
<p> <p>
On a router running LibreCMC from the <b>Network</b> menu select <b>DHCP and DNS</b>. Enter the static IP address of your Freedombone system within <b>DNS Forwardings</b>, then at the bottom of the page click on <b>Save &amp; Apply</b>. Any devices which connect to your router will now have ad blocking. On a router running LibreCMC from the <b>Network</b> menu select <b>DHCP and DNS</b>. Enter the static IP address of your Freedombone system within <b>DNS Forwardings</b>, then at the bottom of the page click on <b>Save &amp; Apply</b>. Any devices which connect to your router will now have ad blocking.
</p> </p>
@ -327,9 +342,9 @@ On a router running LibreCMC from the <b>Network</b> menu select <b>DHCP and DNS
</div> </div>
</div> </div>
<div id="outline-container-org71dabfb" class="outline-2"> <div id="outline-container-orgff38fd6" class="outline-2">
<h2 id="org71dabfb">Configuring block lists</h2> <h2 id="orgff38fd6">Configuring block lists</h2>
<div class="outline-text-2" id="text-org71dabfb"> <div class="outline-text-2" id="text-orgff38fd6">
<p> <p>
You can configure the block lists which the system uses by going to the <b>administrator control panel</b>, selecting <b>App Settings</b> then choosing <b>pihole</b>. You can also add any extra domain names to the whitelist if they're being wrongly blocked or to the blacklist if they're not blocked by the current lists. You can configure the block lists which the system uses by going to the <b>administrator control panel</b>, selecting <b>App Settings</b> then choosing <b>pihole</b>. You can also add any extra domain names to the whitelist if they're being wrongly blocked or to the blacklist if they're not blocked by the current lists.
</p> </p>