diff --git a/.gitignore b/.gitignore index 8513235..6c33b32 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ roles/Node/files/*-vm.service roles/Nazara/files/dns roles/Nazara/files/dhcp +roles/Node/files/vm-definitions/** +roles/ShadowArch/files/mirrorlist venv/ **pkg.tar.zst diff --git a/bin/tmux-hosts b/bin/tmux-hosts index 049a942..d6ec465 100755 --- a/bin/tmux-hosts +++ b/bin/tmux-hosts @@ -38,7 +38,7 @@ function tmuxHosts() { host2="$2" host3="$3" host4="$4" - name="ansible-tmux-$offset" + name="$group-$offset" # If no TMUX session started, then add one with four panes. if [ -z "$TMUX" ]; then diff --git a/modules/netdetect.py b/modules/netdetect.py deleted file mode 100644 index 80ce23d..0000000 --- a/modules/netdetect.py +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env python3 - -# File: modules/net-detect -# -# Description: This module detects network hosts and creates an Ansible playbook for them. -# -# Package: AniNIX/Tenebrous -# Copyright: WTFPL -# -# Author: DarkFeather - -import os -import re -import nmap3 -import yaml - -prdre = re.compile('core*') -devre = re.compile('darknet*|maat*|sharingan*|') -gethre = re.compile('geth*|nazara*') -shadowfeedre = re.compile('shadowfeed*') -nmap = nmap3.Nmap() - -function main(): - """ - Main operation - """ - - - diff --git a/playbooks/vars-debugging.yml b/playbooks/vars-debugging.yml index f3c0c28..5207c3c 100644 --- a/playbooks/vars-debugging.yml +++ b/playbooks/vars-debugging.yml @@ -25,4 +25,4 @@ tasks: - debug: - msg: "{{ lookup('vars',variablename) }}" + msg: "{{ lookup('vars',variablename) | default('undefined') }}" diff --git a/roles/Geth-Hub/files/lirc_options.conf b/roles/Geth-Hub/files/lirc_options.conf new file mode 100644 index 0000000..7232cbd --- /dev/null +++ b/roles/Geth-Hub/files/lirc_options.conf @@ -0,0 +1,41 @@ +# These are the default options to lircd, if installed as +# /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8) +# manpages for info on the different options. +# +# Some tools including mode2 and irw uses values such as +# driver, device, plugindir and loglevel as fallback values +# in not defined elsewhere. + +[lircd] +nodaemon = False +driver = default +device = /dev/lirc0 +output = /var/run/lirc/lircd +pidfile = /var/run/lirc/lircd.pid +plugindir = /usr/lib/arm-linux-gnueabihf/lirc/plugins +permission = 666 +allow-simulate = No +repeat-max = 600 +#effective-user = +#listen = [address:]port +#connect = host[:port] +#loglevel = 6 +#release = true +#release_suffix = _EVUP +#logfile = ... +#driver-options = ... + +[lircmd] +uinput = False +nodaemon = False + +# [modinit] +# code = /usr/sbin/modprobe lirc_serial +# code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput +# code2 = ... + + +# [lircd-uinput] +# add-release-events = False +# release-timeout = 200 +# release-suffix = _EVUP diff --git a/roles/Geth-Hub/files/motion.conf/Geth-Hub-1 b/roles/Geth-Hub/files/motion.conf/Geth-Hub-1 index 99cc69e..3df3fdd 100644 --- a/roles/Geth-Hub/files/motion.conf/Geth-Hub-1 +++ b/roles/Geth-Hub/files/motion.conf/Geth-Hub-1 @@ -1,770 +1,174 @@ # Rename this distribution example file to motion.conf # -# This config file was generated by motion 4.0.1 - +# This config file was generated by motion 4.3.2 +# Documentation: /usr/share/doc/motion/motion_guide.html +# +# This file contains only the basic configuration options to get a +# system working. There are many more options available. Please +# consult the documentation for the complete list of all options. +# ############################################################ -# Daemon +# System control configuration parameters ############################################################ -# Start in daemon (background) mode and release terminal (default: off) -daemon on +# Start in daemon (background) mode and release terminal. +daemon off -# File to store the process ID, also called pid file. (default: not defined) -process_id_file /var/run/motion/motion.pid - -############################################################ -# Basic Setup Mode -############################################################ - -# Start in Setup-Mode, daemon disabled. (default: off) +# Start in Setup-Mode, daemon disabled. setup_mode off +# File to store the process ID. +; pid_file value -# Use a file to save logs messages, if not defined stderr and syslog is used. (default: not defined) -;logfile /tmp/motion.log +# File to write logs messages into. If not defined stderr and syslog is used. +log_file /var/log/motion/motion.log -# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL). (default: 6 / NTC) +# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL). log_level 6 -# Filter to log messages by type (COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL). (default: ALL) -log_type all +# Target directory for pictures, snapshots and movies +target_dir /var/lib/motion -########################################################### -# Capture device options -############################################################ - -# Videodevice to be used for capturing (default /dev/video0) -# for FreeBSD default is /dev/bktr0 +# Video device (e.g. /dev/video0) to be used for capturing. videodevice /dev/video0 -# v4l2_palette allows one to choose preferable palette to be use by motion -# to capture from those supported by your videodevice. (default: 17) -# E.g. if your videodevice supports both V4L2_PIX_FMT_SBGGR8 and -# V4L2_PIX_FMT_MJPEG then motion will by default use V4L2_PIX_FMT_MJPEG. -# Setting v4l2_palette to 2 forces motion to use V4L2_PIX_FMT_SBGGR8 -# instead. -# -# Values : -# V4L2_PIX_FMT_SN9C10X : 0 'S910' -# V4L2_PIX_FMT_SBGGR16 : 1 'BYR2' -# V4L2_PIX_FMT_SBGGR8 : 2 'BA81' -# V4L2_PIX_FMT_SPCA561 : 3 'S561' -# V4L2_PIX_FMT_SGBRG8 : 4 'GBRG' -# V4L2_PIX_FMT_SGRBG8 : 5 'GRBG' -# V4L2_PIX_FMT_PAC207 : 6 'P207' -# V4L2_PIX_FMT_PJPG : 7 'PJPG' -# V4L2_PIX_FMT_MJPEG : 8 'MJPEG' -# V4L2_PIX_FMT_JPEG : 9 'JPEG' -# V4L2_PIX_FMT_RGB24 : 10 'RGB3' -# V4L2_PIX_FMT_SPCA501 : 11 'S501' -# V4L2_PIX_FMT_SPCA505 : 12 'S505' -# V4L2_PIX_FMT_SPCA508 : 13 'S508' -# V4L2_PIX_FMT_UYVY : 14 'UYVY' -# V4L2_PIX_FMT_YUYV : 15 'YUYV' -# V4L2_PIX_FMT_YUV422P : 16 '422P' -# V4L2_PIX_FMT_YUV420 : 17 'YU12' -# -v4l2_palette 17 +# Parameters to control video device. See motion_guide.html +; vid_control_params value -# Tuner device to be used for capturing using tuner as source (default /dev/tuner0) -# This is ONLY used for FreeBSD. Leave it commented out for Linux -; tunerdevice /dev/tuner0 +# The full URL of the network camera stream. +; netcam_url value -# The video input to be used (default: -1) -# Should normally be set to 0 or 1 for video/TV cards, and -1 for USB cameras -# Set to 0 for uvideo(4) on OpenBSD -input -1 +# Name of mmal camera (e.g. vc.ril.camera for pi camera). +; mmalcam_name value -# The video norm to use (only for video capture and TV tuner cards) -# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL) -norm 0 +# Camera control parameters (see raspivid/raspistill tool documentation) +; mmalcam_control_params value -# The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0) -frequency 0 +############################################################ +# Image Processing configuration parameters +############################################################ -# Override the power line frequency for the webcam. (normally not necessary) -# Values: -# -1 : Do not modify device setting -# 0 : Power line frequency Disabled -# 1 : 50hz -# 2 : 60hz -# 3 : Auto -power_line_frequency -1 - -# Rotate image this number of degrees. The rotation affects all saved images as -# well as movies. Valid values: 0 (default = no rotation), 90, 180 and 270. -rotate 0 - -# Image width (pixels). Valid range: Camera dependent, default: 352 +# Image width in pixels. width 640 -# Image height (pixels). Valid range: Camera dependent, default: 288 +# Image height in pixels. height 480 # Maximum number of frames to be captured per second. -# Valid range: 2-100. Default: 100 (almost no limit). -framerate 100 +framerate 15 -# Minimum time in seconds between capturing picture frames from the camera. -# Default: 0 = disabled - the capture rate is given by the camera framerate. -# This option is used when you want to capture images at a rate lower than 2 per second. -minimum_frame_time 0 +# Rotate to fit +rotate 90 -# URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// mjpg:// rtsp:// mjpeg:// or file:///) -# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. A trailing slash may be required for some cameras. -# Default: Not defined -; netcam_url value +# Text to be overlayed in the lower left corner of images +text_left GETH-HUB-3 -# Username and password for network camera (only if required). Default: not defined -# Syntax is user:password -; netcam_userpass value - -# The setting for keep-alive of network socket, should improve performance on compatible net cameras. -# off: The historical implementation using HTTP/1.0, closing the socket after each http request. -# force: Use HTTP/1.0 requests with keep alive header to reuse the same connection. -# on: Use HTTP/1.1 requests that support keep alive as default. -# Default: off -netcam_keepalive off - -# URL to use for a netcam proxy server, if required, e.g. "http://myproxy". -# If a port number other than 80 is needed, use "http://myproxy:1234". -# Default: not defined -; netcam_proxy value - -# Set less strict jpeg checks for network cameras with a poor/buggy firmware. -# Default: off -netcam_tolerant_check off - -# RTSP connection uses TCP to communicate to the camera. Can prevent image corruption. -# Default: on -rtsp_uses_tcp on - -# Name of camera to use if you are using a camera accessed through OpenMax/MMAL -# Default: Not defined -; mmalcam_name vc.ril.camera - -# Camera control parameters (see raspivid/raspistill tool documentation) -# Default: Not defined -; mmalcam_control_params -hf - -# Let motion regulate the brightness of a video device (default: off). -# The auto_brightness feature uses the brightness option as its target value. -# If brightness is zero auto_brightness will adjust to average brightness value 128. -# Only recommended for cameras without auto brightness -auto_brightness off - -# Set the initial brightness of a video device. -# If auto_brightness is enabled, this value defines the average brightness level -# which Motion will try and adjust to. -# Valid range 0-255, default 0 = disabled -brightness 0 - -# Set the contrast of a video device. -# Valid range 0-255, default 0 = disabled -contrast 0 - -# Set the saturation of a video device. -# Valid range 0-255, default 0 = disabled -saturation 0 - -# Set the hue of a video device (NTSC feature). -# Valid range 0-255, default 0 = disabled -hue 0 - - -############################################################ -# Round Robin (multiple inputs on same video device name) -############################################################ - -# Number of frames to capture in each roundrobin step (default: 1) -roundrobin_frames 1 - -# Number of frames to skip before each roundrobin step (default: 1) -roundrobin_skip 1 - -# Try to filter out noise generated by roundrobin (default: off) -switchfilter off - - -############################################################ -# Motion Detection Settings: -############################################################ - -# Threshold for number of changed pixels in an image that -# triggers motion detection (default: 1500) -threshold 1500 - -# Automatically tune the threshold down if possible (default: off) -threshold_tune off - -# Noise threshold for the motion detection (default: 32) -noise_level 32 - -# Automatically tune the noise threshold (default: on) -noise_tune on - -# Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined) -# Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid. -# (l)abeling must only be used once and the 'l' must be the last letter. -# Comment out to disable -despeckle_filter EedDl - -# Detect motion in predefined areas (1 - 9). Areas are numbered like that: 1 2 3 -# A script (on_area_detected) is started immediately when motion is 4 5 6 -# detected in one of the given areas, but only once during an event. 7 8 9 -# One or more areas can be specified with this option. Take care: This option -# does NOT restrict detection to these areas! (Default: not defined) -; area_detect value - -# PGM file to use as a sensitivity mask. -# Full path name to. (Default: not defined) -; mask_file value - -# Dynamically create a mask file during operation (default: 0) -# Adjust speed of mask changes from 0 (off) to 10 (fast) -smart_mask_speed 0 - -# Ignore sudden massive light intensity changes given as a percentage of the picture -# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled -lightswitch 0 - -# Picture frames must contain motion at least the specified number of frames -# in a row before they are detected as true motion. At the default of 1, all -# motion is detected. Valid range: 1 to thousands, recommended 1-5 -minimum_motion_frames 1 - -# Specifies the number of pre-captured (buffered) pictures from before motion -# was detected that will be output at motion detection. -# Recommended range: 0 to 5 (default: 0) -# Do not use large values! Large values will cause Motion to skip video frames and -# cause unsmooth movies. To smooth movies use larger values of post_capture instead. -pre_capture 0 - -# Number of frames to capture after motion is no longer detected (default: 0) -post_capture 0 - -# Event Gap is the seconds of no motion detection that triggers the end of an event. -# An event is defined as a series of motion images taken within a short timeframe. -# Recommended value is 60 seconds (Default). The value -1 is allowed and disables -# events causing all Motion to be written to one single movie file and no pre_capture. -# If set to 0, motion is running in gapless mode. Movies don't have gaps anymore. An -# event ends right after no more motion is detected and post_capture is over. -event_gap 60 - -# Maximum length in seconds of a movie -# When value is exceeded a new movie file is created. (Default: 0 = infinite) -max_movie_time 0 - -# Always save images even if there was no motion (default: off) -emulate_motion off - - -############################################################ -# Image File Output -############################################################ - -# Output 'normal' pictures when motion is detected (default: on) -# Valid values: on, off, first, best, center -# When set to 'first', only the first picture of an event is saved. -# Picture with most motion of an event is saved when set to 'best'. -# Picture with motion nearest center of picture is saved when set to 'center'. -# Can be used as preview shot for the corresponding movie. -output_pictures off - -# Output pictures with only the pixels moving object (ghost images) (default: off) -output_debug_pictures off - -# The quality (in percent) to be used by the jpeg compression (default: 75) -quality 75 - -# Type of output images -# Valid values: jpeg, ppm (default: jpeg) -picture_type jpeg - -############################################################ -# FFMPEG related options -# Film (movies) file output, and deinterlacing of the video input -# The options movie_filename and timelapse_filename are also used -# by the ffmpeg feature -############################################################ - -# Use ffmpeg to encode movies in realtime (default: off) -ffmpeg_output_movies off - -# Use ffmpeg to make movies with only the pixels moving -# object (ghost images) (default: off) -ffmpeg_output_debug_movies off - -# Use ffmpeg to encode a timelapse movie -# Default value 0 = off - else save frame every Nth second -ffmpeg_timelapse 0 - -# The file rollover mode of the timelapse video -# Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual -ffmpeg_timelapse_mode daily - -# Bitrate to be used by the ffmpeg encoder (default: 400000) -# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled) -ffmpeg_bps 400000 - -# Enables and defines variable bitrate for the ffmpeg encoder. -# ffmpeg_bps is ignored if variable bitrate is enabled. -# Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps, -# or the range 1 - 100 where 1 means worst quality and 100 is best. -ffmpeg_variable_bitrate 0 - -# Codec to used by ffmpeg for the video compression. -# Timelapse videos have two options. -# mpg - Creates mpg file with mpeg-2 encoding. -# If motion is shutdown and restarted, new pics will be appended -# to any previously created file with name indicated for timelapse. -# mpeg4 - Creates avi file with the default encoding. -# If motion is shutdown and restarted, new pics will create a -# new file with the name indicated for timelapse. -# Supported formats are: -# mpeg4 or msmpeg4 - gives you files with extension .avi -# msmpeg4 is recommended for use with Windows Media Player because -# it requires no installation of codec on the Windows client. -# swf - gives you a flash film with extension .swf -# flv - gives you a flash video with extension .flv -# ffv1 - FF video codec 1 for Lossless Encoding -# mov - QuickTime -# mp4 - MPEG-4 Part 14 H264 encoding -# mkv - Matroska H264 encoding -# hevc - H.265 / HEVC (High Efficiency Video Coding) -ffmpeg_video_codec mpeg4 - -# When creating videos, should frames be duplicated in order -# to keep up with the requested frames per second -# (default: true) -ffmpeg_duplicate_frames true - -############################################################ -# SDL Window -############################################################ - -# Number of motion thread to show in SDL Window (default: 0 = disabled) -#sdl_threadnr 0 - -############################################################ -# External pipe to video encoder -# Replacement for FFMPEG builtin encoder for ffmpeg_output_movies only. -# The options movie_filename and timelapse_filename are also used -# by the ffmpeg feature -############################################################# - -# Bool to enable or disable extpipe (default: off) -use_extpipe off - -# External program (full path and opts) to pipe raw video to -# Generally, use '-' for STDIN... -;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:i420 -ovc x264 -x264encopts bframes=4:frameref=1:subq=1:scenecut=-1:nob_adapt:threads=1:keyint=1000:8x8dct:vbv_bufsize=4000:crf=24:partitions=i8x8,i4x4:vbv_maxrate=800:no-chroma-me -vf denoise3d=16:12:48:4,pp=lb -of avi -o %f.avi - -fps %fps -;extpipe x264 - --input-res %wx%h --fps %fps --bitrate 2000 --preset ultrafast --quiet -o %f.mp4 -;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:fps=%fps -ovc x264 -x264encopts preset=ultrafast -of lavf -o %f.mp4 - -fps %fps -;extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size %wx%h -framerate %fps -i pipe:0 -vcodec libx264 -preset ultrafast -f mp4 %f.mp4 - - -############################################################ -# Snapshots (Traditional Periodic Webcam File Output) -############################################################ - -# Make automated snapshot every N seconds (default: 0 = disabled) -snapshot_interval 0 - - -############################################################ -# Text Display -# %Y = year, %m = month, %d = date, -# %H = hour, %M = minute, %S = second, %T = HH:MM:SS, -# %v = event, %q = frame number, %t = camera id number, -# %D = changed pixels, %N = noise level, \n = new line, -# %i and %J = width and height of motion area, -# %K and %L = X and Y coordinates of motion center -# %C = value defined by text_event - do not use with text_event! -# You can put quotation marks around the text to allow -# leading spaces -############################################################ - -# Locate and draw a box around the moving object. -# Valid values: on, off, preview (default: off) -# Set to 'preview' will only draw a box in preview_shot pictures. -locate_motion_mode off - -# Set the look and style of the locate box if enabled. -# Valid values: box, redbox, cross, redcross (default: box) -# Set to 'box' will draw the traditional box. -# Set to 'redbox' will draw a red box. -# Set to 'cross' will draw a little cross to mark center. -# Set to 'redcross' will draw a little red cross to mark center. -locate_motion_style box - -# Draws the timestamp using same options as C function strftime(3) -# Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock -# Text is placed in lower right corner +# Text to be overlayed in the lower right corner of images. text_right %Y-%m-%d\n%T-%q -# Draw a user defined text on the images using same options as C function strftime(3) -# Default: Not defined = no text -# Text is placed in lower left corner -; text_left GETH-HUB-1 %t - -# Draw the number of changed pixed on the images (default: off) -# Will normally be set to off except when you setup and adjust the motion settings -# Text is placed in upper right corner -text_changes off - -# This option defines the value of the special event conversion specifier %C -# You can use any conversion specifier in this option except %C. Date and time -# values are from the timestamp of the first image in the current event. -# Default: %Y%m%d%H%M%S -# The idea is that %C can be used filenames and text_left/right for creating -# a unique identifier for each event. -text_event %Y%m%d%H%M%S - -# Draw characters at twice normal size on images. (default: off) -text_double off - - -# Text to include in a JPEG EXIF comment -# May be any text, including conversion specifiers. -# The EXIF timestamp is included independent of this text. -;exif_text %i%J/%K%L - ############################################################ -# Target Directories and filenames For Images And Films -# For the options snapshot_, picture_, movie_ and timelapse_filename -# you can use conversion specifiers -# %Y = year, %m = month, %d = date, -# %H = hour, %M = minute, %S = second, -# %v = event, %q = frame number, %t = camera id number, -# %D = changed pixels, %N = noise level, -# %i and %J = width and height of motion area, -# %K and %L = X and Y coordinates of motion center -# %C = value defined by text_event -# Quotation marks round string are allowed. +# Motion detection configuration parameters ############################################################ -# Target base directory for pictures and films -# Recommended to use absolute path. (Default: current working directory) -target_dir /var/run/motion/capture +# Always save pictures and movies even if there was no motion. +emulate_motion off -# File path for snapshots (jpeg or ppm) relative to target_dir -# Default: %v-%Y%m%d%H%M%S-snapshot -# Default value is equivalent to legacy oldlayout option -# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot -# File extension .jpg or .ppm is automatically added so do not include this. -# Note: A symbolic link called lastsnap.jpg created in the target_dir will always -# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap' -snapshot_filename %v-%Y%m%d%H%M%S-snapshot +# Threshold for number of changed pixels that triggers motion. +threshold 1500 -# File path for motion triggered images (jpeg or ppm) relative to target_dir -# Default: %v-%Y%m%d%H%M%S-%q -# Default value is equivalent to legacy oldlayout option -# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q -# File extension .jpg or .ppm is automatically added so do not include this -# Set to 'preview' together with best-preview feature enables special naming -# convention for preview shots. See motion guide for details -picture_filename %v-%Y%m%d%H%M%S-%q +# Noise threshold for the motion detection. +; noise_level 32 -# File path for motion triggered ffmpeg films (movies) relative to target_dir -# Default: %v-%Y%m%d%H%M%S -# File extensions(.mpg .avi) are automatically added so do not include them -movie_filename %v-%Y%m%d%H%M%S +# Despeckle the image using (E/e)rode or (D/d)ilate or (l)abel. +despeckle_filter EedDl -# File path for timelapse movies relative to target_dir -# Default: %Y%m%d-timelapse -# File extensions(.mpg .avi) are automatically added so do not include them -timelapse_filename %Y%m%d-timelapse +# Number of images that must contain motion to trigger an event. +minimum_motion_frames 1 + +# Gap in seconds of no motion detected that triggers the end of an event. +event_gap 60 + +# The number of pre-captured (buffered) pictures from before motion. +pre_capture 3 + +# Number of frames to capture after motion is no longer detected. +post_capture 0 ############################################################ -# Global Network Options -############################################################ -# Enable IPv6 (default: off) -ipv6_enabled off - -############################################################ -# Live Stream Server +# Script execution configuration parameters ############################################################ -# The mini-http server listens to this port for requests (default: 0 = disabled) -stream_port 8081 - -# Quality of the jpeg (in percent) images produced (default: 50) -stream_quality 50 - -# Output frames at 1 fps when no motion is detected and increase to the -# rate given by stream_maxrate when motion is detected (default: off) -stream_motion off - -# Maximum framerate for stream streams (default: 1) -stream_maxrate 1 - -# Restrict stream connections to localhost only (default: on) -stream_localhost off - -# Limits the number of images per connection (default: 0 = unlimited) -# Number can be defined by multiplying actual stream rate by desired number of seconds -# Actual stream rate is the smallest of the numbers framerate and stream_maxrate -stream_limit 0 - -# Set the authentication method (default: 0) -# 0 = disabled -# 1 = Basic authentication -# 2 = MD5 digest (the safer authentication) -stream_auth_method 0 - -# Authentication for the stream. Syntax username:password -# Default: not defined (Disabled) -; stream_authentication username:password - -# Percentage to scale the stream image for preview -# Default: 25 -; stream_preview_scale 25 - -# Have stream preview image start on a new line -# Default: no -; stream_preview_newline no - -############################################################ -# HTTP Based Control -############################################################ - -# TCP/IP port for the http server to listen on (default: 0 = disabled) -webcontrol_port 8080 - -# Restrict control connections to localhost only (default: on) -webcontrol_localhost on - -# Output for http server, select off to choose raw text plain (default: on) -webcontrol_html_output on - -# Authentication for the http based control. Syntax username:password -# Default: not defined (Disabled) -; webcontrol_authentication username:password - - -############################################################ -# Tracking (Pan/Tilt) -############################################################# - -# Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc, 4=generic, 5=uvcvideo, 6=servo) -# The generic type enables the definition of motion center and motion size to -# be used with the conversion specifiers for options like on_motion_detected -track_type 0 - -# Enable auto tracking (default: off) -track_auto off - -# Serial port of motor (default: none) -;track_port /dev/ttyS0 - -# Motor number for x-axis (default: 0) -;track_motorx 0 - -# Set motorx reverse (default: 0) -;track_motorx_reverse 0 - -# Motor number for y-axis (default: 0) -;track_motory 1 - -# Set motory reverse (default: 0) -;track_motory_reverse 0 - -# Maximum value on x-axis (default: 0) -;track_maxx 200 - -# Minimum value on x-axis (default: 0) -;track_minx 50 - -# Maximum value on y-axis (default: 0) -;track_maxy 200 - -# Minimum value on y-axis (default: 0) -;track_miny 50 - -# Center value on x-axis (default: 0) -;track_homex 128 - -# Center value on y-axis (default: 0) -;track_homey 128 - -# ID of an iomojo camera if used (default: 0) -track_iomojo_id 0 - -# Angle in degrees the camera moves per step on the X-axis -# with auto-track (default: 10) -# Currently only used with pwc type cameras -track_step_angle_x 10 - -# Angle in degrees the camera moves per step on the Y-axis -# with auto-track (default: 10) -# Currently only used with pwc type cameras -track_step_angle_y 10 - -# Delay to wait for after tracking movement as number -# of picture frames (default: 10) -track_move_wait 10 - -# Speed to set the motor to (stepper motor option) (default: 255) -track_speed 255 - -# Number of steps to make (stepper motor option) (default: 40) -track_stepsize 40 - - -############################################################ -# External Commands, Warnings and Logging: -# You can use conversion specifiers for the on_xxxx commands -# %Y = year, %m = month, %d = date, -# %H = hour, %M = minute, %S = second, -# %v = event, %q = frame number, %t = camera id number, -# %D = changed pixels, %N = noise level, -# %i and %J = width and height of motion area, -# %K and %L = X and Y coordinates of motion center -# %C = value defined by text_event -# %f = filename with full path -# %n = number indicating filetype -# Both %f and %n are only defined for on_picture_save, -# on_movie_start and on_movie_end -# Quotation marks round string are allowed. -############################################################ - -# Do not sound beeps when detecting motion (default: on) -# Note: Motion never beeps when running in daemon mode. -quiet on - -# Command to be executed when an event starts. (default: none) -# An event starts at first motion detected after a period of no motion defined by event_gap +# Command to be executed when an event starts. ; on_event_start value -# Command to be executed when an event ends after a period of no motion -# (default: none). The period of no motion is defined by option event_gap. +# Command to be executed when an event ends. ; on_event_end value -# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) -# To give the filename as an argument to a command append it with %f -; on_picture_save value - -# Command to be executed when a motion frame is detected (default: none) -; on_motion_detected value - -# Command to be executed when motion in a predefined area is detected -# Check option 'area_detect'. (default: none) -; on_area_detected value - -# Command to be executed when a movie file (.mpg|.avi) is created. (default: none) -# To give the filename as an argument to a command append it with %f -; on_movie_start value - -# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) -# To give the filename as an argument to a command append it with %f +# Command to be executed when a movie file is closed. ; on_movie_end value -# Command to be executed when a camera can't be opened or if it is lost -# NOTE: There is situations when motion don't detect a lost camera! -# It depends on the driver, some drivers dosn't detect a lost camera at all -# Some hangs the motion thread. Some even hangs the PC! (default: none) -; on_camera_lost value - -##################################################################### -# Common Options for database features. -# Options require database options to be active also. -##################################################################### - -# Log to the database when creating motion triggered picture file (default: on) -; sql_log_picture on - -# Log to the database when creating a snapshot image file (default: on) -; sql_log_snapshot on - -# Log to the database when creating motion triggered movie file (default: off) -; sql_log_movie off - -# Log to the database when creating timelapse movies file (default: off) -; sql_log_timelapse off - -# SQL query string that is sent to the database -# Use same conversion specifiers has for text features -# Additional special conversion specifiers are -# %n = the number representing the file_type -# %f = filename with full path -# Default value: -# Create tables : -## -# Mysql -# CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp(14), event_time_stamp timestamp(14)); -# -# Postgresql -# CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp without time zone, event_time_stamp timestamp without time zone); -# -# insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') -; sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') - - ############################################################ -# Database Options +# Picture output configuration parameters ############################################################ -# database type : mysql, postgresql, sqlite3 (default : not defined) -; database_type value - -# database to log to (default: not defined) -# for sqlite3, the full path and name for the database. -; database_dbname value - -# The host on which the database is located (default: localhost) -; database_host value - -# User account name for database (default: not defined) -; database_user value - -# User password for database (default: not defined) -; database_password value - -# Port on which the database is located -# mysql 3306 , postgresql 5432 (default: not defined) -; database_port value - -# Database wait time in milliseconds for locked database to -# be unlocked before returning database locked error (default 0) -; database_busy_timeout 0 - +# Output pictures when motion is detected +picture_output off +# File name(without extension) for pictures relative to target directory +picture_filename %Y%m%d%H%M%S-%q ############################################################ -# Video Loopback Device (vloopback project) +# Movie output configuration parameters ############################################################ -# Output images to a video4linux loopback device -# The value '-' means next available (default: not defined) -; video_pipe value +# Create movies of motion events. +movie_output on -# Output motion images to a video4linux loopback device -# The value '-' means next available (default: not defined) -; motion_video_pipe value +# Maximum length of movie in seconds. +movie_max_time 60 +# The encoding quality of the movie. (0=use bitrate. 1=worst quality, 100=best) +movie_quality 45 + +# Container/Codec to used for the movie. See motion_guide.html +movie_codec mkv + +# File name(without extension) for movies relative to target directory +movie_filename %t-%v-%Y%m%d%H%M%S + +############################################################ +# Webcontrol configuration parameters +############################################################ + +# Port number used for the webcontrol. +webcontrol_port 8080 + +# Restrict webcontrol connections to the localhost. +webcontrol_localhost on + +# Type of configuration options to allow via the webcontrol. +webcontrol_parms 0 + +############################################################ +# Live stream configuration parameters +############################################################ + +# The port number for the live stream. +stream_port 8081 + +# Restrict stream connections to the localhost. +stream_localhost off ############################################################## -# camera config files - One for each camera. -# Except if only one camera - You only need this config file. -# If you have more than one camera you MUST define one camera -# config file for each camera in addition to this config file. +# Camera config files - One for each camera. ############################################################## - -# Remember: If you have more than one camera you must have one -# camera file for each camera. E.g. 2 cameras requires 3 files: -# This motion.conf file AND camera1.conf and camera2.conf. -# Only put the options that are unique to each camera in the -# camera config files. -; camera /etc/motion/camera1.conf -; camera /etc/motion/camera2.conf -; camera /etc/motion/camera3.conf -; camera /etc/motion/camera4.conf - +; camera /usr/etc/motion/camera1.conf +; camera /usr/etc/motion/camera2.conf +; camera /usr/etc/motion/camera3.conf +; camera /usr/etc/motion/camera4.conf ############################################################## -# Camera config directory - One for each camera. +# Directory to read '.conf' files for cameras. ############################################################## -# -; camera_dir /etc/motion/conf.d +; camera_dir /usr/etc/motion/conf.d diff --git a/roles/Geth-Hub/files/motion.conf/Geth-Hub-2 b/roles/Geth-Hub/files/motion.conf/Geth-Hub-2 index de6073e..3df3fdd 100644 --- a/roles/Geth-Hub/files/motion.conf/Geth-Hub-2 +++ b/roles/Geth-Hub/files/motion.conf/Geth-Hub-2 @@ -1,770 +1,174 @@ # Rename this distribution example file to motion.conf # -# This config file was generated by motion 4.0.1 - +# This config file was generated by motion 4.3.2 +# Documentation: /usr/share/doc/motion/motion_guide.html +# +# This file contains only the basic configuration options to get a +# system working. There are many more options available. Please +# consult the documentation for the complete list of all options. +# ############################################################ -# Daemon +# System control configuration parameters ############################################################ -# Start in daemon (background) mode and release terminal (default: off) -daemon on +# Start in daemon (background) mode and release terminal. +daemon off -# File to store the process ID, also called pid file. (default: not defined) -process_id_file /var/run/motion/motion.pid - -############################################################ -# Basic Setup Mode -############################################################ - -# Start in Setup-Mode, daemon disabled. (default: off) +# Start in Setup-Mode, daemon disabled. setup_mode off +# File to store the process ID. +; pid_file value -# Use a file to save logs messages, if not defined stderr and syslog is used. (default: not defined) -;logfile /tmp/motion.log +# File to write logs messages into. If not defined stderr and syslog is used. +log_file /var/log/motion/motion.log -# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL). (default: 6 / NTC) +# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL). log_level 6 -# Filter to log messages by type (COR, STR, ENC, NET, DBL, EVT, TRK, VID, ALL). (default: ALL) -log_type all +# Target directory for pictures, snapshots and movies +target_dir /var/lib/motion -########################################################### -# Capture device options -############################################################ - -# Videodevice to be used for capturing (default /dev/video0) -# for FreeBSD default is /dev/bktr0 +# Video device (e.g. /dev/video0) to be used for capturing. videodevice /dev/video0 -# v4l2_palette allows one to choose preferable palette to be use by motion -# to capture from those supported by your videodevice. (default: 17) -# E.g. if your videodevice supports both V4L2_PIX_FMT_SBGGR8 and -# V4L2_PIX_FMT_MJPEG then motion will by default use V4L2_PIX_FMT_MJPEG. -# Setting v4l2_palette to 2 forces motion to use V4L2_PIX_FMT_SBGGR8 -# instead. -# -# Values : -# V4L2_PIX_FMT_SN9C10X : 0 'S910' -# V4L2_PIX_FMT_SBGGR16 : 1 'BYR2' -# V4L2_PIX_FMT_SBGGR8 : 2 'BA81' -# V4L2_PIX_FMT_SPCA561 : 3 'S561' -# V4L2_PIX_FMT_SGBRG8 : 4 'GBRG' -# V4L2_PIX_FMT_SGRBG8 : 5 'GRBG' -# V4L2_PIX_FMT_PAC207 : 6 'P207' -# V4L2_PIX_FMT_PJPG : 7 'PJPG' -# V4L2_PIX_FMT_MJPEG : 8 'MJPEG' -# V4L2_PIX_FMT_JPEG : 9 'JPEG' -# V4L2_PIX_FMT_RGB24 : 10 'RGB3' -# V4L2_PIX_FMT_SPCA501 : 11 'S501' -# V4L2_PIX_FMT_SPCA505 : 12 'S505' -# V4L2_PIX_FMT_SPCA508 : 13 'S508' -# V4L2_PIX_FMT_UYVY : 14 'UYVY' -# V4L2_PIX_FMT_YUYV : 15 'YUYV' -# V4L2_PIX_FMT_YUV422P : 16 '422P' -# V4L2_PIX_FMT_YUV420 : 17 'YU12' -# -v4l2_palette 17 +# Parameters to control video device. See motion_guide.html +; vid_control_params value -# Tuner device to be used for capturing using tuner as source (default /dev/tuner0) -# This is ONLY used for FreeBSD. Leave it commented out for Linux -; tunerdevice /dev/tuner0 +# The full URL of the network camera stream. +; netcam_url value -# The video input to be used (default: -1) -# Should normally be set to 0 or 1 for video/TV cards, and -1 for USB cameras -# Set to 0 for uvideo(4) on OpenBSD -input -1 +# Name of mmal camera (e.g. vc.ril.camera for pi camera). +; mmalcam_name value -# The video norm to use (only for video capture and TV tuner cards) -# Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL) -norm 0 +# Camera control parameters (see raspivid/raspistill tool documentation) +; mmalcam_control_params value -# The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0) -frequency 0 +############################################################ +# Image Processing configuration parameters +############################################################ -# Override the power line frequency for the webcam. (normally not necessary) -# Values: -# -1 : Do not modify device setting -# 0 : Power line frequency Disabled -# 1 : 50hz -# 2 : 60hz -# 3 : Auto -power_line_frequency -1 - -# Rotate image this number of degrees. The rotation affects all saved images as -# well as movies. Valid values: 0 (default = no rotation), 90, 180 and 270. -rotate 0 - -# Image width (pixels). Valid range: Camera dependent, default: 352 +# Image width in pixels. width 640 -# Image height (pixels). Valid range: Camera dependent, default: 288 +# Image height in pixels. height 480 # Maximum number of frames to be captured per second. -# Valid range: 2-100. Default: 100 (almost no limit). -framerate 100 +framerate 15 -# Minimum time in seconds between capturing picture frames from the camera. -# Default: 0 = disabled - the capture rate is given by the camera framerate. -# This option is used when you want to capture images at a rate lower than 2 per second. -minimum_frame_time 0 +# Rotate to fit +rotate 90 -# URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// mjpg:// rtsp:// mjpeg:// or file:///) -# Must be a URL that returns single jpeg pictures or a raw mjpeg stream. A trailing slash may be required for some cameras. -# Default: Not defined -; netcam_url value +# Text to be overlayed in the lower left corner of images +text_left GETH-HUB-3 -# Username and password for network camera (only if required). Default: not defined -# Syntax is user:password -; netcam_userpass value - -# The setting for keep-alive of network socket, should improve performance on compatible net cameras. -# off: The historical implementation using HTTP/1.0, closing the socket after each http request. -# force: Use HTTP/1.0 requests with keep alive header to reuse the same connection. -# on: Use HTTP/1.1 requests that support keep alive as default. -# Default: off -netcam_keepalive off - -# URL to use for a netcam proxy server, if required, e.g. "http://myproxy". -# If a port number other than 80 is needed, use "http://myproxy:1234". -# Default: not defined -; netcam_proxy value - -# Set less strict jpeg checks for network cameras with a poor/buggy firmware. -# Default: off -netcam_tolerant_check off - -# RTSP connection uses TCP to communicate to the camera. Can prevent image corruption. -# Default: on -rtsp_uses_tcp on - -# Name of camera to use if you are using a camera accessed through OpenMax/MMAL -# Default: Not defined -; mmalcam_name vc.ril.camera - -# Camera control parameters (see raspivid/raspistill tool documentation) -# Default: Not defined -; mmalcam_control_params -hf - -# Let motion regulate the brightness of a video device (default: off). -# The auto_brightness feature uses the brightness option as its target value. -# If brightness is zero auto_brightness will adjust to average brightness value 128. -# Only recommended for cameras without auto brightness -auto_brightness off - -# Set the initial brightness of a video device. -# If auto_brightness is enabled, this value defines the average brightness level -# which Motion will try and adjust to. -# Valid range 0-255, default 0 = disabled -brightness 0 - -# Set the contrast of a video device. -# Valid range 0-255, default 0 = disabled -contrast 0 - -# Set the saturation of a video device. -# Valid range 0-255, default 0 = disabled -saturation 0 - -# Set the hue of a video device (NTSC feature). -# Valid range 0-255, default 0 = disabled -hue 0 - - -############################################################ -# Round Robin (multiple inputs on same video device name) -############################################################ - -# Number of frames to capture in each roundrobin step (default: 1) -roundrobin_frames 1 - -# Number of frames to skip before each roundrobin step (default: 1) -roundrobin_skip 1 - -# Try to filter out noise generated by roundrobin (default: off) -switchfilter off - - -############################################################ -# Motion Detection Settings: -############################################################ - -# Threshold for number of changed pixels in an image that -# triggers motion detection (default: 1500) -threshold 1500 - -# Automatically tune the threshold down if possible (default: off) -threshold_tune off - -# Noise threshold for the motion detection (default: 32) -noise_level 32 - -# Automatically tune the noise threshold (default: on) -noise_tune on - -# Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined) -# Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid. -# (l)abeling must only be used once and the 'l' must be the last letter. -# Comment out to disable -despeckle_filter EedDl - -# Detect motion in predefined areas (1 - 9). Areas are numbered like that: 1 2 3 -# A script (on_area_detected) is started immediately when motion is 4 5 6 -# detected in one of the given areas, but only once during an event. 7 8 9 -# One or more areas can be specified with this option. Take care: This option -# does NOT restrict detection to these areas! (Default: not defined) -; area_detect value - -# PGM file to use as a sensitivity mask. -# Full path name to. (Default: not defined) -; mask_file value - -# Dynamically create a mask file during operation (default: 0) -# Adjust speed of mask changes from 0 (off) to 10 (fast) -smart_mask_speed 0 - -# Ignore sudden massive light intensity changes given as a percentage of the picture -# area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled -lightswitch 0 - -# Picture frames must contain motion at least the specified number of frames -# in a row before they are detected as true motion. At the default of 1, all -# motion is detected. Valid range: 1 to thousands, recommended 1-5 -minimum_motion_frames 1 - -# Specifies the number of pre-captured (buffered) pictures from before motion -# was detected that will be output at motion detection. -# Recommended range: 0 to 5 (default: 0) -# Do not use large values! Large values will cause Motion to skip video frames and -# cause unsmooth movies. To smooth movies use larger values of post_capture instead. -pre_capture 0 - -# Number of frames to capture after motion is no longer detected (default: 0) -post_capture 0 - -# Event Gap is the seconds of no motion detection that triggers the end of an event. -# An event is defined as a series of motion images taken within a short timeframe. -# Recommended value is 60 seconds (Default). The value -1 is allowed and disables -# events causing all Motion to be written to one single movie file and no pre_capture. -# If set to 0, motion is running in gapless mode. Movies don't have gaps anymore. An -# event ends right after no more motion is detected and post_capture is over. -event_gap 60 - -# Maximum length in seconds of a movie -# When value is exceeded a new movie file is created. (Default: 0 = infinite) -max_movie_time 0 - -# Always save images even if there was no motion (default: off) -emulate_motion off - - -############################################################ -# Image File Output -############################################################ - -# Output 'normal' pictures when motion is detected (default: on) -# Valid values: on, off, first, best, center -# When set to 'first', only the first picture of an event is saved. -# Picture with most motion of an event is saved when set to 'best'. -# Picture with motion nearest center of picture is saved when set to 'center'. -# Can be used as preview shot for the corresponding movie. -output_pictures off - -# Output pictures with only the pixels moving object (ghost images) (default: off) -output_debug_pictures off - -# The quality (in percent) to be used by the jpeg compression (default: 75) -quality 75 - -# Type of output images -# Valid values: jpeg, ppm (default: jpeg) -picture_type jpeg - -############################################################ -# FFMPEG related options -# Film (movies) file output, and deinterlacing of the video input -# The options movie_filename and timelapse_filename are also used -# by the ffmpeg feature -############################################################ - -# Use ffmpeg to encode movies in realtime (default: off) -ffmpeg_output_movies off - -# Use ffmpeg to make movies with only the pixels moving -# object (ghost images) (default: off) -ffmpeg_output_debug_movies off - -# Use ffmpeg to encode a timelapse movie -# Default value 0 = off - else save frame every Nth second -ffmpeg_timelapse 0 - -# The file rollover mode of the timelapse video -# Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual -ffmpeg_timelapse_mode daily - -# Bitrate to be used by the ffmpeg encoder (default: 400000) -# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled) -ffmpeg_bps 400000 - -# Enables and defines variable bitrate for the ffmpeg encoder. -# ffmpeg_bps is ignored if variable bitrate is enabled. -# Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps, -# or the range 1 - 100 where 1 means worst quality and 100 is best. -ffmpeg_variable_bitrate 0 - -# Codec to used by ffmpeg for the video compression. -# Timelapse videos have two options. -# mpg - Creates mpg file with mpeg-2 encoding. -# If motion is shutdown and restarted, new pics will be appended -# to any previously created file with name indicated for timelapse. -# mpeg4 - Creates avi file with the default encoding. -# If motion is shutdown and restarted, new pics will create a -# new file with the name indicated for timelapse. -# Supported formats are: -# mpeg4 or msmpeg4 - gives you files with extension .avi -# msmpeg4 is recommended for use with Windows Media Player because -# it requires no installation of codec on the Windows client. -# swf - gives you a flash film with extension .swf -# flv - gives you a flash video with extension .flv -# ffv1 - FF video codec 1 for Lossless Encoding -# mov - QuickTime -# mp4 - MPEG-4 Part 14 H264 encoding -# mkv - Matroska H264 encoding -# hevc - H.265 / HEVC (High Efficiency Video Coding) -ffmpeg_video_codec mpeg4 - -# When creating videos, should frames be duplicated in order -# to keep up with the requested frames per second -# (default: true) -ffmpeg_duplicate_frames true - -############################################################ -# SDL Window -############################################################ - -# Number of motion thread to show in SDL Window (default: 0 = disabled) -#sdl_threadnr 0 - -############################################################ -# External pipe to video encoder -# Replacement for FFMPEG builtin encoder for ffmpeg_output_movies only. -# The options movie_filename and timelapse_filename are also used -# by the ffmpeg feature -############################################################# - -# Bool to enable or disable extpipe (default: off) -use_extpipe off - -# External program (full path and opts) to pipe raw video to -# Generally, use '-' for STDIN... -;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:i420 -ovc x264 -x264encopts bframes=4:frameref=1:subq=1:scenecut=-1:nob_adapt:threads=1:keyint=1000:8x8dct:vbv_bufsize=4000:crf=24:partitions=i8x8,i4x4:vbv_maxrate=800:no-chroma-me -vf denoise3d=16:12:48:4,pp=lb -of avi -o %f.avi - -fps %fps -;extpipe x264 - --input-res %wx%h --fps %fps --bitrate 2000 --preset ultrafast --quiet -o %f.mp4 -;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:fps=%fps -ovc x264 -x264encopts preset=ultrafast -of lavf -o %f.mp4 - -fps %fps -;extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size %wx%h -framerate %fps -i pipe:0 -vcodec libx264 -preset ultrafast -f mp4 %f.mp4 - - -############################################################ -# Snapshots (Traditional Periodic Webcam File Output) -############################################################ - -# Make automated snapshot every N seconds (default: 0 = disabled) -snapshot_interval 0 - - -############################################################ -# Text Display -# %Y = year, %m = month, %d = date, -# %H = hour, %M = minute, %S = second, %T = HH:MM:SS, -# %v = event, %q = frame number, %t = camera id number, -# %D = changed pixels, %N = noise level, \n = new line, -# %i and %J = width and height of motion area, -# %K and %L = X and Y coordinates of motion center -# %C = value defined by text_event - do not use with text_event! -# You can put quotation marks around the text to allow -# leading spaces -############################################################ - -# Locate and draw a box around the moving object. -# Valid values: on, off, preview (default: off) -# Set to 'preview' will only draw a box in preview_shot pictures. -locate_motion_mode off - -# Set the look and style of the locate box if enabled. -# Valid values: box, redbox, cross, redcross (default: box) -# Set to 'box' will draw the traditional box. -# Set to 'redbox' will draw a red box. -# Set to 'cross' will draw a little cross to mark center. -# Set to 'redcross' will draw a little red cross to mark center. -locate_motion_style box - -# Draws the timestamp using same options as C function strftime(3) -# Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock -# Text is placed in lower right corner +# Text to be overlayed in the lower right corner of images. text_right %Y-%m-%d\n%T-%q -# Draw a user defined text on the images using same options as C function strftime(3) -# Default: Not defined = no text -# Text is placed in lower left corner -; text_left GETH-HUB-2 %t - -# Draw the number of changed pixed on the images (default: off) -# Will normally be set to off except when you setup and adjust the motion settings -# Text is placed in upper right corner -text_changes off - -# This option defines the value of the special event conversion specifier %C -# You can use any conversion specifier in this option except %C. Date and time -# values are from the timestamp of the first image in the current event. -# Default: %Y%m%d%H%M%S -# The idea is that %C can be used filenames and text_left/right for creating -# a unique identifier for each event. -text_event %Y%m%d%H%M%S - -# Draw characters at twice normal size on images. (default: off) -text_double off - - -# Text to include in a JPEG EXIF comment -# May be any text, including conversion specifiers. -# The EXIF timestamp is included independent of this text. -;exif_text %i%J/%K%L - ############################################################ -# Target Directories and filenames For Images And Films -# For the options snapshot_, picture_, movie_ and timelapse_filename -# you can use conversion specifiers -# %Y = year, %m = month, %d = date, -# %H = hour, %M = minute, %S = second, -# %v = event, %q = frame number, %t = camera id number, -# %D = changed pixels, %N = noise level, -# %i and %J = width and height of motion area, -# %K and %L = X and Y coordinates of motion center -# %C = value defined by text_event -# Quotation marks round string are allowed. +# Motion detection configuration parameters ############################################################ -# Target base directory for pictures and films -# Recommended to use absolute path. (Default: current working directory) -target_dir /var/run/motion/capture +# Always save pictures and movies even if there was no motion. +emulate_motion off -# File path for snapshots (jpeg or ppm) relative to target_dir -# Default: %v-%Y%m%d%H%M%S-snapshot -# Default value is equivalent to legacy oldlayout option -# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot -# File extension .jpg or .ppm is automatically added so do not include this. -# Note: A symbolic link called lastsnap.jpg created in the target_dir will always -# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap' -snapshot_filename %v-%Y%m%d%H%M%S-snapshot +# Threshold for number of changed pixels that triggers motion. +threshold 1500 -# File path for motion triggered images (jpeg or ppm) relative to target_dir -# Default: %v-%Y%m%d%H%M%S-%q -# Default value is equivalent to legacy oldlayout option -# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q -# File extension .jpg or .ppm is automatically added so do not include this -# Set to 'preview' together with best-preview feature enables special naming -# convention for preview shots. See motion guide for details -picture_filename %v-%Y%m%d%H%M%S-%q +# Noise threshold for the motion detection. +; noise_level 32 -# File path for motion triggered ffmpeg films (movies) relative to target_dir -# Default: %v-%Y%m%d%H%M%S -# File extensions(.mpg .avi) are automatically added so do not include them -movie_filename %v-%Y%m%d%H%M%S +# Despeckle the image using (E/e)rode or (D/d)ilate or (l)abel. +despeckle_filter EedDl -# File path for timelapse movies relative to target_dir -# Default: %Y%m%d-timelapse -# File extensions(.mpg .avi) are automatically added so do not include them -timelapse_filename %Y%m%d-timelapse +# Number of images that must contain motion to trigger an event. +minimum_motion_frames 1 + +# Gap in seconds of no motion detected that triggers the end of an event. +event_gap 60 + +# The number of pre-captured (buffered) pictures from before motion. +pre_capture 3 + +# Number of frames to capture after motion is no longer detected. +post_capture 0 ############################################################ -# Global Network Options -############################################################ -# Enable IPv6 (default: off) -ipv6_enabled off - -############################################################ -# Live Stream Server +# Script execution configuration parameters ############################################################ -# The mini-http server listens to this port for requests (default: 0 = disabled) -stream_port 8081 - -# Quality of the jpeg (in percent) images produced (default: 50) -stream_quality 50 - -# Output frames at 1 fps when no motion is detected and increase to the -# rate given by stream_maxrate when motion is detected (default: off) -stream_motion off - -# Maximum framerate for stream streams (default: 1) -stream_maxrate 1 - -# Restrict stream connections to localhost only (default: on) -stream_localhost off - -# Limits the number of images per connection (default: 0 = unlimited) -# Number can be defined by multiplying actual stream rate by desired number of seconds -# Actual stream rate is the smallest of the numbers framerate and stream_maxrate -stream_limit 0 - -# Set the authentication method (default: 0) -# 0 = disabled -# 1 = Basic authentication -# 2 = MD5 digest (the safer authentication) -stream_auth_method 0 - -# Authentication for the stream. Syntax username:password -# Default: not defined (Disabled) -; stream_authentication username:password - -# Percentage to scale the stream image for preview -# Default: 25 -; stream_preview_scale 25 - -# Have stream preview image start on a new line -# Default: no -; stream_preview_newline no - -############################################################ -# HTTP Based Control -############################################################ - -# TCP/IP port for the http server to listen on (default: 0 = disabled) -webcontrol_port 8080 - -# Restrict control connections to localhost only (default: on) -webcontrol_localhost on - -# Output for http server, select off to choose raw text plain (default: on) -webcontrol_html_output on - -# Authentication for the http based control. Syntax username:password -# Default: not defined (Disabled) -; webcontrol_authentication username:password - - -############################################################ -# Tracking (Pan/Tilt) -############################################################# - -# Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc, 4=generic, 5=uvcvideo, 6=servo) -# The generic type enables the definition of motion center and motion size to -# be used with the conversion specifiers for options like on_motion_detected -track_type 0 - -# Enable auto tracking (default: off) -track_auto off - -# Serial port of motor (default: none) -;track_port /dev/ttyS0 - -# Motor number for x-axis (default: 0) -;track_motorx 0 - -# Set motorx reverse (default: 0) -;track_motorx_reverse 0 - -# Motor number for y-axis (default: 0) -;track_motory 1 - -# Set motory reverse (default: 0) -;track_motory_reverse 0 - -# Maximum value on x-axis (default: 0) -;track_maxx 200 - -# Minimum value on x-axis (default: 0) -;track_minx 50 - -# Maximum value on y-axis (default: 0) -;track_maxy 200 - -# Minimum value on y-axis (default: 0) -;track_miny 50 - -# Center value on x-axis (default: 0) -;track_homex 128 - -# Center value on y-axis (default: 0) -;track_homey 128 - -# ID of an iomojo camera if used (default: 0) -track_iomojo_id 0 - -# Angle in degrees the camera moves per step on the X-axis -# with auto-track (default: 10) -# Currently only used with pwc type cameras -track_step_angle_x 10 - -# Angle in degrees the camera moves per step on the Y-axis -# with auto-track (default: 10) -# Currently only used with pwc type cameras -track_step_angle_y 10 - -# Delay to wait for after tracking movement as number -# of picture frames (default: 10) -track_move_wait 10 - -# Speed to set the motor to (stepper motor option) (default: 255) -track_speed 255 - -# Number of steps to make (stepper motor option) (default: 40) -track_stepsize 40 - - -############################################################ -# External Commands, Warnings and Logging: -# You can use conversion specifiers for the on_xxxx commands -# %Y = year, %m = month, %d = date, -# %H = hour, %M = minute, %S = second, -# %v = event, %q = frame number, %t = camera id number, -# %D = changed pixels, %N = noise level, -# %i and %J = width and height of motion area, -# %K and %L = X and Y coordinates of motion center -# %C = value defined by text_event -# %f = filename with full path -# %n = number indicating filetype -# Both %f and %n are only defined for on_picture_save, -# on_movie_start and on_movie_end -# Quotation marks round string are allowed. -############################################################ - -# Do not sound beeps when detecting motion (default: on) -# Note: Motion never beeps when running in daemon mode. -quiet on - -# Command to be executed when an event starts. (default: none) -# An event starts at first motion detected after a period of no motion defined by event_gap +# Command to be executed when an event starts. ; on_event_start value -# Command to be executed when an event ends after a period of no motion -# (default: none). The period of no motion is defined by option event_gap. +# Command to be executed when an event ends. ; on_event_end value -# Command to be executed when a picture (.ppm|.jpg) is saved (default: none) -# To give the filename as an argument to a command append it with %f -; on_picture_save value - -# Command to be executed when a motion frame is detected (default: none) -; on_motion_detected value - -# Command to be executed when motion in a predefined area is detected -# Check option 'area_detect'. (default: none) -; on_area_detected value - -# Command to be executed when a movie file (.mpg|.avi) is created. (default: none) -# To give the filename as an argument to a command append it with %f -; on_movie_start value - -# Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) -# To give the filename as an argument to a command append it with %f +# Command to be executed when a movie file is closed. ; on_movie_end value -# Command to be executed when a camera can't be opened or if it is lost -# NOTE: There is situations when motion don't detect a lost camera! -# It depends on the driver, some drivers dosn't detect a lost camera at all -# Some hangs the motion thread. Some even hangs the PC! (default: none) -; on_camera_lost value - -##################################################################### -# Common Options for database features. -# Options require database options to be active also. -##################################################################### - -# Log to the database when creating motion triggered picture file (default: on) -; sql_log_picture on - -# Log to the database when creating a snapshot image file (default: on) -; sql_log_snapshot on - -# Log to the database when creating motion triggered movie file (default: off) -; sql_log_movie off - -# Log to the database when creating timelapse movies file (default: off) -; sql_log_timelapse off - -# SQL query string that is sent to the database -# Use same conversion specifiers has for text features -# Additional special conversion specifiers are -# %n = the number representing the file_type -# %f = filename with full path -# Default value: -# Create tables : -## -# Mysql -# CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp(14), event_time_stamp timestamp(14)); -# -# Postgresql -# CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp without time zone, event_time_stamp timestamp without time zone); -# -# insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') -; sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') - - ############################################################ -# Database Options +# Picture output configuration parameters ############################################################ -# database type : mysql, postgresql, sqlite3 (default : not defined) -; database_type value - -# database to log to (default: not defined) -# for sqlite3, the full path and name for the database. -; database_dbname value - -# The host on which the database is located (default: localhost) -; database_host value - -# User account name for database (default: not defined) -; database_user value - -# User password for database (default: not defined) -; database_password value - -# Port on which the database is located -# mysql 3306 , postgresql 5432 (default: not defined) -; database_port value - -# Database wait time in milliseconds for locked database to -# be unlocked before returning database locked error (default 0) -; database_busy_timeout 0 - +# Output pictures when motion is detected +picture_output off +# File name(without extension) for pictures relative to target directory +picture_filename %Y%m%d%H%M%S-%q ############################################################ -# Video Loopback Device (vloopback project) +# Movie output configuration parameters ############################################################ -# Output images to a video4linux loopback device -# The value '-' means next available (default: not defined) -; video_pipe value +# Create movies of motion events. +movie_output on -# Output motion images to a video4linux loopback device -# The value '-' means next available (default: not defined) -; motion_video_pipe value +# Maximum length of movie in seconds. +movie_max_time 60 +# The encoding quality of the movie. (0=use bitrate. 1=worst quality, 100=best) +movie_quality 45 + +# Container/Codec to used for the movie. See motion_guide.html +movie_codec mkv + +# File name(without extension) for movies relative to target directory +movie_filename %t-%v-%Y%m%d%H%M%S + +############################################################ +# Webcontrol configuration parameters +############################################################ + +# Port number used for the webcontrol. +webcontrol_port 8080 + +# Restrict webcontrol connections to the localhost. +webcontrol_localhost on + +# Type of configuration options to allow via the webcontrol. +webcontrol_parms 0 + +############################################################ +# Live stream configuration parameters +############################################################ + +# The port number for the live stream. +stream_port 8081 + +# Restrict stream connections to the localhost. +stream_localhost off ############################################################## -# camera config files - One for each camera. -# Except if only one camera - You only need this config file. -# If you have more than one camera you MUST define one camera -# config file for each camera in addition to this config file. +# Camera config files - One for each camera. ############################################################## - -# Remember: If you have more than one camera you must have one -# camera file for each camera. E.g. 2 cameras requires 3 files: -# This motion.conf file AND camera1.conf and camera2.conf. -# Only put the options that are unique to each camera in the -# camera config files. -; camera /etc/motion/camera1.conf -; camera /etc/motion/camera2.conf -; camera /etc/motion/camera3.conf -; camera /etc/motion/camera4.conf - +; camera /usr/etc/motion/camera1.conf +; camera /usr/etc/motion/camera2.conf +; camera /usr/etc/motion/camera3.conf +; camera /usr/etc/motion/camera4.conf ############################################################## -# Camera config directory - One for each camera. +# Directory to read '.conf' files for cameras. ############################################################## -# -; camera_dir /etc/motion/conf.d +; camera_dir /usr/etc/motion/conf.d diff --git a/roles/Geth-Hub/tasks/main.yml b/roles/Geth-Hub/tasks/main.yml index a5e0da3..92fd201 100644 --- a/roles/Geth-Hub/tasks/main.yml +++ b/roles/Geth-Hub/tasks/main.yml @@ -20,8 +20,8 @@ - name: Copy the motion config become: yes register: motion_config - copy: - src: "motion.conf/{{ inventory_hostname }}" + template: + src: "motion.conf.j2" dest: "/etc/motion/motion.conf" - name: Create motion log folder @@ -41,7 +41,7 @@ when: motion_config.changed and motion_enabled service: name: motion - state: restarted + state: started enabled: yes - name: Allow override of motion service @@ -64,6 +64,15 @@ block: | dtoverlay=gpio-ir,gpio_pin={{ gpio_in_pin | default('18') }} dtoverlay=gpio-ir-tx,gpio_pin={{ gpio_out_pin | default('17') }} + start_x=1 + + - name: Unset camera autodetect + become: yes + register: camera_autodetect + lineinfile: + path: "/boot/config.txt" + regexp: "camera_auto_detect" + line: "# camera_auto_detect=1" - name: Set the dtparam become: yes @@ -89,7 +98,7 @@ - name: Reboot if needed become: yes - when: modules_config.changed or dtparam.changed or dtoverlay.changed or modules_config_2.changed + when: modules_config.changed or dtparam.changed or dtoverlay.changed or modules_config_2.changed or camera_autodetect.changed reboot: - name: Wait if needed @@ -101,15 +110,18 @@ register: lircd_supp_config become: yes copy: - src: "hardware.conf" - dest: "/etc/lirc/hardware.conf" + src: "{{ item }}" + dest: "/etc/lirc/{{ item }}" + loop: + - hardware.conf + - lirc_options.conf - name: Copy lircd remote config register: lircd_remote_config become: yes copy: src: "lircd.conf/{{ inventory_hostname }}" - dest: /etc/lircd.conf + dest: /etc/lirc/lircd.conf - name: Start the services when: lircd_supp_config.changed or lircd_remote_config.changed diff --git a/roles/Geth-Hub/templates/modules.j2 b/roles/Geth-Hub/templates/modules.j2 index 97b9669..074952d 100644 --- a/roles/Geth-Hub/templates/modules.j2 +++ b/roles/Geth-Hub/templates/modules.j2 @@ -3,8 +3,8 @@ # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. -lirc_dev -lirc_rpi gpio_in_pin={{ gpio_in_pin | default('18') }} gpio_out_pin={{ gpio_out_pin | default('17') }} +# lirc_dev +# lirc_rpi gpio_in_pin={{ gpio_in_pin | default('18') }} gpio_out_pin={{ gpio_out_pin | default('17') }} bcm2835-v4l2 r8188eu diff --git a/roles/Geth-Hub/templates/motion.conf.j2 b/roles/Geth-Hub/templates/motion.conf.j2 new file mode 100644 index 0000000..b13c1a5 --- /dev/null +++ b/roles/Geth-Hub/templates/motion.conf.j2 @@ -0,0 +1,176 @@ +# Rename this distribution example file to motion.conf +# +# This config file was generated by motion 4.3.2 +# Documentation: /usr/share/doc/motion/motion_guide.html +# +# This file contains only the basic configuration options to get a +# system working. There are many more options available. Please +# consult the documentation for the complete list of all options. +# + +############################################################ +# System control configuration parameters +############################################################ + +# Start in daemon (background) mode and release terminal. +daemon off + +# Start in Setup-Mode, daemon disabled. +setup_mode off + +# File to store the process ID. +; pid_file value + +# File to write logs messages into. If not defined stderr and syslog is used. +log_file /var/log/motion/motion.log + +# Level of log messages [1..9] (EMG, ALR, CRT, ERR, WRN, NTC, INF, DBG, ALL). +log_level 6 + +# Target directory for pictures, snapshots and movies +target_dir /var/lib/motion + +# Video device (e.g. /dev/video0) to be used for capturing. +videodevice /dev/video0 + +# Parameters to control video device. See motion_guide.html +; vid_control_params value + +# The full URL of the network camera stream. +; netcam_url value + +# Name of mmal camera (e.g. vc.ril.camera for pi camera). +; mmalcam_name value +mmalcam_name vc.ril.camera +mmalcam_use_still off + +# Camera control parameters (see raspivid/raspistill tool documentation) +; mmalcam_control_params value + +############################################################ +# Image Processing configuration parameters +############################################################ + +# Image width in pixels. +width 1296 + +# Image height in pixels. +height 972 + +# Maximum number of frames to be captured per second. +framerate 15 + +# Rotate to fit +rotate {{ rotate }} + +# Text to be overlayed in the lower left corner of images +text_left {{ inventory_hostname }} + +# Text to be overlayed in the lower right corner of images. +text_right %Y-%m-%d\n%T-%q + +############################################################ +# Motion detection configuration parameters +############################################################ + +# Always save pictures and movies even if there was no motion. +emulate_motion off + +# Threshold for number of changed pixels that triggers motion. +threshold 1500 + +# Noise threshold for the motion detection. +; noise_level 32 + +# Despeckle the image using (E/e)rode or (D/d)ilate or (l)abel. +despeckle_filter EedDl + +# Number of images that must contain motion to trigger an event. +minimum_motion_frames 1 + +# Gap in seconds of no motion detected that triggers the end of an event. +event_gap 60 + +# The number of pre-captured (buffered) pictures from before motion. +pre_capture 3 + +# Number of frames to capture after motion is no longer detected. +post_capture 0 + +############################################################ +# Script execution configuration parameters +############################################################ + +# Command to be executed when an event starts. +; on_event_start value + +# Command to be executed when an event ends. +; on_event_end value + +# Command to be executed when a movie file is closed. +; on_movie_end value + +############################################################ +# Picture output configuration parameters +############################################################ + +# Output pictures when motion is detected +picture_output off + +# File name(without extension) for pictures relative to target directory +picture_filename %Y%m%d%H%M%S-%q + +############################################################ +# Movie output configuration parameters +############################################################ + +# Create movies of motion events. +movie_output off + +# Maximum length of movie in seconds. +movie_max_time 60 + +# The encoding quality of the movie. (0=use bitrate. 1=worst quality, 100=best) +movie_quality 45 + +# Container/Codec to used for the movie. See motion_guide.html +movie_codec mkv + +# File name(without extension) for movies relative to target directory +movie_filename %t-%v-%Y%m%d%H%M%S + +############################################################ +# Webcontrol configuration parameters +############################################################ + +# Port number used for the webcontrol. +webcontrol_port 8080 + +# Restrict webcontrol connections to the localhost. +webcontrol_localhost on + +# Type of configuration options to allow via the webcontrol. +webcontrol_parms 0 + +############################################################ +# Live stream configuration parameters +############################################################ + +# The port number for the live stream. +stream_port 8081 + +# Restrict stream connections to the localhost. +stream_localhost off + +############################################################## +# Camera config files - One for each camera. +############################################################## +; camera /usr/etc/motion/camera1.conf +; camera /usr/etc/motion/camera2.conf +; camera /usr/etc/motion/camera3.conf +; camera /usr/etc/motion/camera4.conf + +############################################################## +# Directory to read '.conf' files for cameras. +############################################################## +; camera_dir /usr/etc/motion/conf.d diff --git a/roles/Geth/tasks/main.yml b/roles/Geth/tasks/main.yml index 5210a0a..a6b36c0 100644 --- a/roles/Geth/tasks/main.yml +++ b/roles/Geth/tasks/main.yml @@ -5,3 +5,4 @@ name: - openhab2 + - name: diff --git a/roles/ShadowArch/files/mirrorlist b/roles/ShadowArch/files/mirrorlist deleted file mode 100644 index 54258b7..0000000 --- a/roles/ShadowArch/files/mirrorlist +++ /dev/null @@ -1,7 +0,0 @@ -# Server list generated by rankmirrors on 2022-01-25 -Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch -Server = http://arch.hu.fo/archlinux/$repo/os/$arch -Server = http://il.us.mirror.archlinux-br.org/$repo/os/$arch -Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch -Server = http://mirror.pit.teraswitch.com/archlinux/$repo/os/$arch -Server = http://mirrors.gigenet.com/archlinux/$repo/os/$arch diff --git a/roles/ShadowArch/tasks/archlinux-network.yml b/roles/ShadowArch/tasks/archlinux-network.yml index 5213e1c..dea47f7 100644 --- a/roles/ShadowArch/tasks/archlinux-network.yml +++ b/roles/ShadowArch/tasks/archlinux-network.yml @@ -9,14 +9,21 @@ - name: Static ArchLinux network config become: yes - when: static + when: static and not tap template: src: netctl-static.j2 dest: "/etc/netctl/{{ ipinterface }}" + - name: Tap ArchLinux network config + become: yes + when: tap and not static + template: + src: netctl-tap.j2 + dest: "/etc/netctl/{{ ipinterface }}" + - name: Dynamic ArchLinux network config become: yes - when: static + when: not static and not tap template: src: netctl-dhcp.j2 dest: "/etc/netctl/{{ ipinterface }}" diff --git a/roles/ShadowArch/tasks/main.yml b/roles/ShadowArch/tasks/main.yml index f721281..09c85c6 100644 --- a/roles/ShadowArch/tasks/main.yml +++ b/roles/ShadowArch/tasks/main.yml @@ -19,6 +19,7 @@ - iotop - lsof - rsync + - xfsprogs state: present update_cache: yes @@ -107,9 +108,10 @@ become: yes copy: content: | - deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi - # deb-src http://archive.raspbian.org/raspbian/ stretch main contrib non-free rpi - dest: /etc/apt/sources.list + deb http://archive.raspberrypi.org/debian/ bullseye main + # Uncomment line below then 'apt-get update' to enable 'apt-get source' + #deb-src http://archive.raspberrypi.org/debian/ bullseye main + dest: /etc/apt/sources.list.d/raspi.list owner: root group: root mode: 0644 diff --git a/roles/ShadowArch/templates/netctl-tap.j2 b/roles/ShadowArch/templates/netctl-tap.j2 new file mode 100644 index 0000000..e4a56f8 --- /dev/null +++ b/roles/ShadowArch/templates/netctl-tap.j2 @@ -0,0 +1,4 @@ +Description='A basic static ethernet connection' +Interface={{ ipinterface }} +Connection=ethernet +IP=no diff --git a/roles/Sharingan-IDS/tasks/main.yml b/roles/Sharingan-IDS/tasks/main.yml deleted file mode 100644 index ef33230..0000000 --- a/roles/Sharingan-IDS/tasks/main.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - name: Sharingan IDS/IPS Packages - become: yes - package: - name: - - clamav - - suricata - - oinkmaster - - sshguard - - ossec-local diff --git a/roles/Sharingan/files/clamav/clamscan.service b/roles/Sharingan/files/clamav/clamscan.service index 46e2a26..704ba98 100644 --- a/roles/Sharingan/files/clamav/clamscan.service +++ b/roles/Sharingan/files/clamav/clamscan.service @@ -6,7 +6,7 @@ Nice=19 IOSchedulingClass=best-effort IOSchedulingPriority=7 Type=simple -ExecStart=clamscan -r / -i --exclude-dir="/srv/ygddrasil" --exclude-dir="/dev" --exclude-dir="/sys" --exclude-dir="/proc" --exclude-dir="/media/Infected/" --exclude-dir="/etc/snort/rules" --exclude-dir="/etc/suricata/rules" +ExecStart=-clamscan -r / -i --exclude-dir="/srv/ygddrasil" --exclude-dir="/dev" --exclude-dir="/sys" --exclude-dir="/proc" --exclude-dir="/media/Infected/" --exclude-dir="/etc/snort/rules" --exclude-dir="/etc/suricata/rules" TimeoutSec=3600 User=root Group=root diff --git a/roles/Sharingan/files/monit/checks/system b/roles/Sharingan/files/monit/checks/system index 1ca4c2b..967b4be 100644 --- a/roles/Sharingan/files/monit/checks/system +++ b/roles/Sharingan/files/monit/checks/system @@ -6,9 +6,9 @@ ## usage. Each test specifies a resource, conditions and the action to be ## performed should a test fail. check system $HOST - if loadavg (1min) per core > 2 for 5 cycles then exec "/etc/monit.d/scripts/critical Load average is high" - if memory usage > 75% then exec "/etc/monit.d/scripts/critical Memory is overused." - if swap usage > 25% then exec "/etc/monit.d/scripts/critical Swap is overused." + if loadavg (1min) per core > 2 for 25 times within 30 cycles then exec "/etc/monit.d/scripts/critical Load average is high" + if memory usage > 75% for 8 times within 10 cycles then exec "/etc/monit.d/scripts/critical Memory is overused." + if swap usage > 25% for 8 times within 10 cycles then exec "/etc/monit.d/scripts/critical Swap is overused." group system # ## Check filesystem permissions, uid, gid, space usage, inode usage and disk I/O. diff --git a/roles/Sharingan/files/monit/checks/vips b/roles/Sharingan/files/monit/checks/vips index dbfb775..227c049 100644 --- a/roles/Sharingan/files/monit/checks/vips +++ b/roles/Sharingan/files/monit/checks/vips @@ -1,29 +1,29 @@ -check program https_aninix with path "/usr/lib/monitoring-plugins/check_http --ssl -H aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical aninix.net not reporting OK" +check program https_aninix with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical aninix.net not reporting OK" -check program https_foundation with path "/usr/lib/monitoring-plugins/check_http --ssl -H foundation.aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical foundation.aninix.net not reporting OK" +check program https_foundation with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H foundation.aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical foundation.aninix.net not reporting OK" -check program https_geth with path "/usr/lib/monitoring-plugins/check_http --ssl -H geth.aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical geth.aninix.net not reporting OK" +check program https_geth with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H geth.aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical geth.aninix.net not reporting OK" -check program https_lykos with path "/usr/lib/monitoring-plugins/check_http --ssl -H lykos.aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical lykos.aninix.net not reporting OK" +check program https_lykos with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H lykos.aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical lykos.aninix.net not reporting OK" -check program https_maat with path "/usr/lib/monitoring-plugins/check_http --ssl -H maat.aninix.net -r PASS" - if status != 0 then exec "/etc/monit.d/scripts/critical maat.aninix.net not reporting OK" +check program https_maat with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H maat.aninix.net -r PASS" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical maat.aninix.net not reporting OK" -check program https_password with path "/usr/lib/monitoring-plugins/check_http --ssl -H password.aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical password.aninix.net not reporting OK" +check program https_password with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H password.aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical password.aninix.net not reporting OK" -check program https_sharingan with path "/usr/lib/monitoring-plugins/check_http --ssl -H sharingan.aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical sharingan.aninix.net not reporting OK" +check program https_sharingan with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H sharingan.aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical sharingan.aninix.net not reporting OK" -check program https_singularity with path "/usr/lib/monitoring-plugins/check_http --ssl -H singularity.aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical singularity.aninix.net not reporting OK" +check program https_singularity with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H singularity.aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical singularity.aninix.net not reporting OK" -check program https_wolfpack with path "/usr/lib/monitoring-plugins/check_http --ssl -H wolfpack.aninix.net" - if status != 0 then exec "/etc/monit.d/scripts/critical wolfpack.aninix.net not reporting OK" +check program https_wolfpack with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -H wolfpack.aninix.net" + if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical wolfpack.aninix.net not reporting OK" -#check program https_yggdrasil with path "/usr/lib/monitoring-plugins/check_http --ssl -u /web/index.html -H yggdrasil.aninix.net" -# if status != 0 then exec "/etc/monit.d/scripts/critical yggdrasil.aninix.net not reporting OK" +#check program https_yggdrasil with path "/usr/lib/monitoring-plugins/check_http --ssl -w 10 -c 10 -u /web/index.html -H yggdrasil.aninix.net" +# if status != 0 for 3 times within 5 cycles then exec "/etc/monit.d/scripts/critical yggdrasil.aninix.net not reporting OK" diff --git a/roles/Sharingan/files/oinkmaster/oinkmaster.service b/roles/Sharingan/files/oinkmaster/oinkmaster.service index 7a526be..2a9037e 100644 --- a/roles/Sharingan/files/oinkmaster/oinkmaster.service +++ b/roles/Sharingan/files/oinkmaster/oinkmaster.service @@ -1,11 +1,10 @@ [Unit] -Description=Darebee Notifier for AniNIX Martial Arts +Description=AniNIX/Sharingan | oinkmaster service [Service] Nice=19 IOSchedulingClass=best-effort IOSchedulingPriority=7 Type=simple -ExecStart=/home/DarkFeather/bin/darebee-notifier - -#EOF +ExecStart=/usr/bin/oinkmaster.pl -Q -o /etc/suricata/rules/ +ExecStartPost=systemctl restart suricata diff --git a/roles/Sharingan/files/oinkmaster/oinkmaster.timer b/roles/Sharingan/files/oinkmaster/oinkmaster.timer index 5ce97ba..05df64b 100644 --- a/roles/Sharingan/files/oinkmaster/oinkmaster.timer +++ b/roles/Sharingan/files/oinkmaster/oinkmaster.timer @@ -1,5 +1,5 @@ [Unit] -Description=Sharingan-IDS | oinkmaster timer +Description=AniNIX/Sharingan | oinkmaster timer [Timer] OnCalendar=05:00