#####################################################################################
# ifetch-tools is a set of tools that can collect images from ip based cameras,
# monitor collection process, and provide an interface to view collected history.
# Copyright (C) 2005-2021 Richard Nelson
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

##################################################################################
################# DO NOT RUN ifetch-tools BY DEFAULT #############################
##################################################################################
## For security the below exit line prevents the start of ifetch and wwwifetch.
## Please set the HISTORYUSER, HISTORYPASS, MONITORUSER, and MONITORPASS to what
## you want,then remark out the lines below when you are ready to start using the
## program.
##
##
##################################################################################
################# DO NOT RUN ifetch-tools BY DEFAULT #############################
##################################################################################

##################################################################################
###################### BEGIN CONSTANT VARIABLE CONFIG ############################
##################################################################################
# Variables in the CONSTANT VARIABLE section are constants used throughout.
#######################################################
## security settings
#######################################################
# user name and password for the camera history operations.
HISTORYUSER="history"
HISTORYPASS="history"

# user name and password for the camera monitor operations.
MONITORUSER="monitor"
MONITORPASS="monitor"


#######################################################
## Web Page Settings
#######################################################
#########################
# This sets the home page to navigate to if you do not want to drop one in
# in the ifetch-tools/htdocs/index.html . You should put in a fully qualified
# link, something like the below
# HOMELINK="http://somepage.somewhere/page.html"
HOMELINK="/"


#######################################################
## camera history navigation
#######################################################
# set the size of the image on the navigation pane.
HISTORYIMAGEWIDTH="240"
HISTORYIMAGEHEIGHT="180"


#######################################################
## system settings
#######################################################
#########################
# Set the archive and live image update time.
ALIMGUPDATETIME=1000

#########################
# Set the base port to add to camera names.
BASEPORT=60000

#########################
# Set the sleep when a collection process hits an error.
ERRORSLEEP=5

#########################
# Set some variables for the wwwifetch.rb file.
# Images to show per page.
IMAGESPERPAGE=150

#########################
# This is the max exchange load limit between ifetch.rb and wwwifetch.rb. 50mb = 52428800
LOADLIMIT = 52428800

###### CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - CAUTION - ######
# Set this variable for history tune. This number has to be prime and I would advise you read
# the code in ifetch.rb for how this works. For my development area I will be setting MODPRIME
# to 101. This setting is dangerous! This number must be prime and you need to read the code to
# understand that it is for directory storage structure. If you change this number after launching
# once, you will need to smoke your history. I hope that you understand what I am trying to tell
# you in this section. Please, please do not tamper with unless you understand!
#
# Here are some other prime numbers to adjust to your storage needs.
#
# 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251
# 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367
# 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479
# 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607
# 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733
# 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859
# 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997
#
MODPRIME = 101
#
###### END CAUTION - END CAUTION - END CAUTION - END CAUTION - END CAUTION - ######

##################################################################################
######################## END CONSTANT VARIABLE CONFIG ############################
##################################################################################

##################################################################################
################### BEGIN NON-CONSTANT VARIABLE CONFIG ###########################
##################################################################################
## Variables in the NON-CONSTANT VARIABLE section are dynamic and can be overriden
## in the various conf files. They are placed here to be used as system defaults
## that again can be overriden in various conf files. So if you are familar with
## these variables, please tune them as you wish. If you are not familar with these
## variables, PLEASE READ THE CODE AND UNDERSTAND WHAT THEY DO before you change
## any of them.

#####################################################################################
## Set the location for data_location
#####################################################################################
## The data_location variable is if your storage is somewhere else other than
## ifetch-tools/htdocs . Do not include a trailing / and do not include the camera
## number. Example line is below:
##
## data_location="/path/to/camera/storage"

#####################################################################################
## Set the options for day_image_sleep
#####################################################################################
## The below is for a feature add allowing for a subset of the entire day to have a
## a different sleep padding on a given time range. So on each day of the week you
## can have a time range where image collection padding is different than what is
## specified with image_sleep.
##
## O is Sun, 1 is Mon, 2 is Tue, 3 is Wed, 4 is Thu, 5 Fri, 6 is Sat
## On a given day "00:00,00:00,1" implies "startTime,stopTime,sleepDuration"
## See the example line is below:
##
day_image_sleep={ 0 => "00:00,00:00,1", 1 => "00:00,00:00,1", 2 => "00:00,00:00,1", 3 => "00:00,00:00,1", 4 => "00:00,00:00,1", 5 => "00:00,00:00,1", 6 => "00:00,00:00,1"}

####################################################################################
## Set the options for image_uid, image_pwd, and image_auth_type
#####################################################################################
## The image_uid is the user name and the image_pwd is the password to use if
## using security on the remote camera. The image_auth_type is for basic (the default)
## or digest. image_alt is for dynamic page creation with img src alt tag.
image_uid=''
image_pwd=''
image_auth_type='basic'
image_alt='no_image_alt'

####################################################################################
## Set the option for image_addr and image_addr_port
#####################################################################################
## The image_addr is the IP address of the remote camera and the image_addr_port is
## the port the camera is listening on.
## Example line is below:
##
image_addr='127.0.0.1'
image_addr_port=80

#####################################################################################
## Set the option for image_count
#####################################################################################
## The image_count is the number of images to store history.
image_count=200

#####################################################################################
## Set the option for image_count_on_motion
#####################################################################################
## The image_count_on_motion is the number of images to store once motion is detected
## without another motion test on images.
image_count_on_motion=20

#####################################################################################
## Set the option for log_files
#####################################################################################
## The log_files is the number of log files to keep in rotation.
log_files=10

#####################################################################################
## Set the option for image_sleep
#####################################################################################
## The image sleep is the padding between image downloads. Each download is a complete
## http transaction with an open, download, and close operation. Tuning will depend on
## each individual setup. For partial second sleep use something like 0.5
image_sleep=1

#####################################################################################
## Set the option for log_size
#####################################################################################
## The log_size is the size in kb for a rotation.
log_size=1000

#####################################################################################
## Set the option for image_url
#####################################################################################
## This is the url to get the current image of the camera.
##############################
## Amcrest MODEL: IP3M-954E
## http://user:password@xxx.xxx.xxx.xxx/cgi-bin/snapshot.cgi
##
## image_url='/cgi-bin/snapshot.cgi'
##
##############################
## Apexis MODEL: APM-J011-WS
## http://user:password@xxx.xxx.xxx.xxx/snapshot.cgi
##
## image_url='/snapshot.cgi'
##
##############################
## Axis cameras are the default setting.
## image_url='/jpg/image.jpg'
##
##############################
## D-Link DCS-930L
## image_url='/image.jpg'
##
##############################
## Hawking HNC320W wireless
## image_url='/IMAGE.JPG'
##
##############################
## IGuard IP-250E
## According to firmware upgrade 2.55.cv7
##
## http://xxx.xxx.xxx.xxx/pda.cgi?user=admin&password=1234&page=image&cam=1
##
## And the following is configured as below
## xxx.xxx.xxx.xxx - the IP address of the camera
## admin - the login account name
## 1234  - the login password
## 1     - the camera number
##
## So the image_url would look something like:
## image_url='/pda.cgi?user=admin&password=1234&page=image&cam=1'
##
##############################
## IPC-E36000
## image_url='/jpgimage/1/image.jpg'
##
##############################
## IPCamera 510
##
## image_url='/image.jpg'
##
##############################
## IPcam P1000 from Plustek
##
## http://xxx.xxx.xxx.xxx/snapshot.jpg?account=admin&password=1234`
##
## And the following is configured as below
## xxx.xxx.xxx.xxx - the IP address of the camera
## admin - the login account name for the admin username
## 1234  - the login password for the admin username
##
## So the image_url would look something like:
## image_url='/snapshot.jpg?account=admin&password=1234'
##
##############################
## Panasonic BL-C210A
##
## http://xxx.xxx.xxx.xxx/SnapshotJPEG?Resolution=640x480&Quality=Clarity
##
## And the following is configured as below
## xxx.xxx.xxx.xxx - the IP address of the camera
## Resolution - 320x240 640x480
## Quality - Motion Standard Clarity
##
### So the image_url would look something like:
## image_url='/SnapshotJPEG?Resolution=640x480&Quality=Clarity'
##
##############################
## Reolink RLC-410
##
## http://xxx.xxx.xxx.xxx/cgi-bin/api.cgi?cmd=Snap&channel=0&user=admin&password=1234
##
## And the following is configured as below
## xxx.xxx.xxx.xxx - the IP address of the camera
## admin - the login account name for the admin username
## 1234  - the login password for the admin username
##
## So the image_url would look something like:
## image_url='/cgi-bin/api.cgi?cmd=Snap&channel=0&user=admin&password=1234'
##
##############################
## SV3C ProHD 1080p
## image_url='/snapshot.cgi/stream=1'
##
#############################
## TPLink NC220
## image_url='/stream/snapshot.jpg'
##
## Snapshot pulls appear to have port hard coded at 8080 so include the below
## in your config:
##
## image_addr_port=8080
##
## And security for the pull at time of writing requires that you pass the
## base64 encoded password you configured in the web interface.
##
##############################
## Trendnet TV-IP201 use the below:
## image_url='/goform/capture'
##
##############################
## Trendnet TV-IP301 use the below:
## image_url='/goform/video'
##
##############################
## Trendnet TV-IP314PI
## image_url='/ISAPI/streaming/channels/1/picture'
##
##############################
## TV-IP320PI
## image_url='/streaming/channels/1/picture'
## image_auth_type='digest'
##
##############################
## Trendnet TV-IP512P use the below:
## image_url='/image/jpeg.cgi'
##
##############################
## Toshiba IK-WR01A Orite IC301 use the below:
## image_url='/Jpeg/CamImg.jpg'
##
##############################
## Wanscam IP Camera:
## image_url='/snapshot.cgi'

#####################################################################################
## Set the option for image_watermark
#####################################################################################
## The image_watermark when true writes the collection time on the image.
## The value is either 0 for True or 1 for False.
## The default is 1.
image_watermark=1

#####################################################################################
## Set the option for marshal_dump_enable
#####################################################################################
## The marshal dump option is an attempt to help the indexing of time stamps after a
## shutdown,reboot, or a service restart.
## The marshal_dump_enable is either 0 for True or 1 for False.
## The default is 1.
marshal_dump_enable=1

#####################################################################################
## Set the option for motion_enable
#####################################################################################
## The motion_enable is either 0 for True or 1 for False.
## The default is 1.
motion_enable=1

#####################################################################################
## Set the option for motion_mdpp
#####################################################################################
## The motion_mdpp is used to adjust the threshold of motion detection.
motion_mdpp=0.002

#####################################################################################
## Set the option for motion_sleep
#####################################################################################
## The motion_sleep is if you want to shorten the sleep when motion is detected.
motion_sleep=0.5

#####################################################################################
## Set the option for $video_export_type
#####################################################################################
## The $video_export_type sets the video export type. It is set only from
## this file for wwwifetch. The default is mp4.
$video_export_type='mp4'

#####################################################################################
## Set the option for $video_export_delay
#####################################################################################
## The $video_export_delay sets the video delay between frames. It is set only from
## this file for wwwifetch. The default is 50.
$video_export_delay=50

##################################################################################
##################### END NON-CONSTANT VARIABLE CONFIG ###########################
##################################################################################
