itrefactor configuration, moved to src/extra - coffin - secure lan file storage on a device Err parazyd.org 70 hgit clone git://parazyd.org/coffin.git URL:git://parazyd.org/coffin.git parazyd.org 70 1Log /git/coffin/log.gph parazyd.org 70 1Files /git/coffin/files.gph parazyd.org 70 1Refs /git/coffin/refs.gph parazyd.org 70 1Submodules /git/coffin/file/.gitmodules.gph parazyd.org 70 1README /git/coffin/file/README.md.gph parazyd.org 70 1LICENSE /git/coffin/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 966866966ac2724313fe414e72899a4223d291b8 /git/coffin/commit/966866966ac2724313fe414e72899a4223d291b8.gph parazyd.org 70 1parent 9b059e9c831a05a416e9eb724e36f307c629d6db /git/coffin/commit/9b059e9c831a05a416e9eb724e36f307c629d6db.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Mon, 16 May 2016 17:16:32 +0200 Err parazyd.org 70 i Err parazyd.org 70 irefactor configuration, moved to src/extra Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i A src/extra/Makefile | 12 ++++++++++++ Err parazyd.org 70 i A src/extra/coffin.init | 39 +++++++++++++++++++++++++++++++ Err parazyd.org 70 i A src/extra/conf.sh | 74 +++++++++++++++++++++++++++++++ Err parazyd.org 70 i A src/extra/gen.sh | 32 +++++++++++++++++++++++++++++++ Err parazyd.org 70 i Err parazyd.org 70 i4 files changed, 157 insertions(+), 0 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/src/extra/Makefile b/src/extra/Makefile /git/coffin/file/src/extra/Makefile.gph parazyd.org 70 it@@ -0,0 +1,12 @@ Err parazyd.org 70 i+all: Err parazyd.org 70 i+ @./gen.sh Err parazyd.org 70 i+ Err parazyd.org 70 i+clean: Err parazyd.org 70 i+ rm -f coffin.key Err parazyd.org 70 i+ rm -f coffin.pem Err parazyd.org 70 i+ Err parazyd.org 70 i+install: Err parazyd.org 70 i+ @./conf.sh snowman Err parazyd.org 70 i+ Err parazyd.org 70 i+uninstall: Err parazyd.org 70 i+ @./conf.sh unsnowman Err parazyd.org 70 1diff --git a/src/extra/coffin.init b/src/extra/coffin.init /git/coffin/file/src/extra/coffin.init.gph parazyd.org 70 it@@ -0,0 +1,39 @@ Err parazyd.org 70 i+#!/bin/sh Err parazyd.org 70 i+### BEGIN INIT INFO Err parazyd.org 70 i+# Provides: coffin Err parazyd.org 70 i+# Required-Start: $all Err parazyd.org 70 i+# Short-Description: Starts the coffin daemon Err parazyd.org 70 i+### END INIT INFO Err parazyd.org 70 i+ Err parazyd.org 70 i+PATH=/usr/local/coffin/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin Err parazyd.org 70 i+DAEMON=/usr/local/coffin/bin/coffin Err parazyd.org 70 i+NAME=coffin Err parazyd.org 70 i+DESC="coffin daemon" Err parazyd.org 70 i+ Err parazyd.org 70 i+text -x $DAEMON || exit 0 Err parazyd.org 70 i+ Err parazyd.org 70 i+case "$1" in Err parazyd.org 70 i+ start) Err parazyd.org 70 i+ echo "Starting $DESC..." Err parazyd.org 70 i+ start-stop-daemon \ Err parazyd.org 70 i+ --start \ Err parazyd.org 70 i+ --background \ Err parazyd.org 70 i+ --stdout /var/run/coffin.out \ Err parazyd.org 70 i+ --make-pidfile \ Err parazyd.org 70 i+ --pidfile /var/run/coffin.pid \ Err parazyd.org 70 i+ --exec $DAEMON Err parazyd.org 70 i+ ;; Err parazyd.org 70 i+ stop) Err parazyd.org 70 i+ echo "Stopping $DESC..." Err parazyd.org 70 i+ start-stop-daemon \ Err parazyd.org 70 i+ --stop \ Err parazyd.org 70 i+ --pidfile /var/run/coffin.pid \ Err parazyd.org 70 i+ --exec $DAEMON Err parazyd.org 70 i+ ;; Err parazyd.org 70 i+ *) Err parazyd.org 70 i+ echo "Usage: $0 {start|stop}" >&2 Err parazyd.org 70 i+ exit 1 Err parazyd.org 70 i+ ;; Err parazyd.org 70 i+esac Err parazyd.org 70 i+ Err parazyd.org 70 i+exit 0 Err parazyd.org 70 1diff --git a/src/extra/conf.sh b/src/extra/conf.sh /git/coffin/file/src/extra/conf.sh.gph parazyd.org 70 it@@ -0,0 +1,74 @@ Err parazyd.org 70 i+#!/usr/bin/env zsh Err parazyd.org 70 i+# Err parazyd.org 70 i+# Copyright (c) 2016 Dyne.org Foundation Err parazyd.org 70 i+# coffin is written and maintained by parazyd Err parazyd.org 70 i+# Err parazyd.org 70 i+# This file is part of coffin Err parazyd.org 70 i+# Err parazyd.org 70 i+# This source code is free software: you can redistribute it and/or modify Err parazyd.org 70 i+# it under the terms of the GNU General Public License as published by Err parazyd.org 70 i+# the Free Software Foundation, either version 3 of the License, or Err parazyd.org 70 i+# (at your option) any later version. Err parazyd.org 70 i+# Err parazyd.org 70 i+# This software is distributed in the hope that it will be useful, Err parazyd.org 70 i+# but WITHOUT ANY WARRANTY; without even the implied warranty of Err parazyd.org 70 i+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Err parazyd.org 70 i+# GNU General Public License for more details. Err parazyd.org 70 i+# Err parazyd.org 70 i+# You should have received a copy of the GNU General Public License Err parazyd.org 70 i+# along with this source code. If not, see . Err parazyd.org 70 i+ Err parazyd.org 70 i+apachemods() { Err parazyd.org 70 i+ if [[ $1 == "on" ]]; then Err parazyd.org 70 i+ mods=(ssl dav dav_fs dav_lock auth_digest) Err parazyd.org 70 i+ for i in $mods; do Err parazyd.org 70 i+ a2enmod $i Err parazyd.org 70 i+ done Err parazyd.org 70 i+ elif [[ $1 == "off" ]]; then Err parazyd.org 70 i+ mods=(auth_digest dav_lock dav_fs dav ssl) Err parazyd.org 70 i+ for i in $mods; do Err parazyd.org 70 i+ a2dismod $i Err parazyd.org 70 i+ done Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ return 0 Err parazyd.org 70 i+} Err parazyd.org 70 i+ Err parazyd.org 70 i+edit-sudoers() { Err parazyd.org 70 i+ if [[ $1 == "add" ]]; then Err parazyd.org 70 i+ print "%coffin `hostname`=(ALL) NOPASSWD: ALL" | (EDITOR="tee -a" visudo) Err parazyd.org 70 i+ [[ $? = 0 ]] && print "Added coffin group to sudoers" Err parazyd.org 70 i+ elif [[ $1 == "del" ]]; then Err parazyd.org 70 i+ tmp=`sed '/^%coffin / d' /etc/sudoers` Err parazyd.org 70 i+ print $tmp | (EDITOR="tee" visudo) Err parazyd.org 70 i+ [[ $? = 0 ]] && print "####################\nRemoved coffin group from sudoers" Err parazyd.org 70 i+ fi Err parazyd.org 70 i+} Err parazyd.org 70 i+ Err parazyd.org 70 i+# because all cool software has snowmen in them: ☃ Err parazyd.org 70 i+[[ $1 == "snowman" ]] && { Err parazyd.org 70 i+ [[ `grep 'coffin' /etc/group` ]] || groupadd coffin Err parazyd.org 70 i+ gpasswd -a www-data coffin && \ Err parazyd.org 70 i+ print "Added www-data to coffin group!" Err parazyd.org 70 i+ Err parazyd.org 70 i+ [[ `grep '^DAVLockDB ' /etc/apache2/apache2.conf` ]] || { Err parazyd.org 70 i+ cat << EOF >> /etc/apache2/apache2.conf Err parazyd.org 70 i+ Err parazyd.org 70 i+ Options Indexes Err parazyd.org 70 i+ AllowOverride none Err parazyd.org 70 i+ Require all granted Err parazyd.org 70 i+ Err parazyd.org 70 i+DAVLockDB /etc/apache2/DAV/DAVLock Err parazyd.org 70 i+EOF Err parazyd.org 70 i+ } Err parazyd.org 70 i+ Err parazyd.org 70 i+ apachemods on Err parazyd.org 70 i+ edit-sudoers add Err parazyd.org 70 i+} Err parazyd.org 70 i+ Err parazyd.org 70 i+[[ $1 == "unsnowman" ]] && { Err parazyd.org 70 i+ gpasswd -d www-data coffin && \ Err parazyd.org 70 i+ print "Removed www-data from coffin group!" Err parazyd.org 70 i+ Err parazyd.org 70 i+ apachemods off Err parazyd.org 70 i+ edit-sudoers del Err parazyd.org 70 i+} Err parazyd.org 70 1diff --git a/src/extra/gen.sh b/src/extra/gen.sh /git/coffin/file/src/extra/gen.sh.gph parazyd.org 70 it@@ -0,0 +1,32 @@ Err parazyd.org 70 i+#!/bin/sh Err parazyd.org 70 i+# Err parazyd.org 70 i+# Copyright (c) 2016 Dyne.org Foundation Err parazyd.org 70 i+# coffin is written and maintained by parazyd Err parazyd.org 70 i+# Err parazyd.org 70 i+# This file is part of coffin Err parazyd.org 70 i+# Err parazyd.org 70 i+# This source code is free software: you can redistribute it and/or modify Err parazyd.org 70 i+# it under the terms of the GNU General Public License as published by Err parazyd.org 70 i+# the Free Software Foundation, either version 3 of the License, or Err parazyd.org 70 i+# (at your option) any later version. Err parazyd.org 70 i+# Err parazyd.org 70 i+# This software is distributed in the hope that it will be useful, Err parazyd.org 70 i+# but WITHOUT ANY WARRANTY; without even the implied warranty of Err parazyd.org 70 i+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Err parazyd.org 70 i+# GNU General Public License for more details. Err parazyd.org 70 i+# Err parazyd.org 70 i+# You should have received a copy of the GNU General Public License Err parazyd.org 70 i+# along with this source code. If not, see . Err parazyd.org 70 i+ Err parazyd.org 70 i+# generate ssl cert for webdav Err parazyd.org 70 i+openssl req -x509 -nodes -days 3650 -newkey rsa:4096 \ Err parazyd.org 70 i+ -keyout coffin.key -out coffin.pem Err parazyd.org 70 i+ Err parazyd.org 70 i+fprint=`openssl x509 -noout -in ./coffin.pem -fingerprint \ Err parazyd.org 70 i+ | awk -F\= '{print $2}'` Err parazyd.org 70 i+ Err parazyd.org 70 i+echo "#############################" Err parazyd.org 70 i+echo "Successfully generated coffin's SSL certificate!" Err parazyd.org 70 i+echo "The fingerprint is: $fprint" Err parazyd.org 70 i+echo "Compare it and/or set it as trusted when you connect to coffin." Err parazyd.org 70 i+echo "#############################" Err parazyd.org 70 .