Skip to main content

Posts

Poor man's DVR - a linux bash script to capture images from the camera and upload them to a remote server

I wanted to create a very easy "DVR" script for my raspberry PI machine that will take a shot from the camera and upload the photos to a remote server so I can see what is happening in my living room. I created this simple bash Linux command line script to activate the camera, save the photo, add a timestamp and upload it to a remote server. It is running every minute - capturing 5 photos from the webcam every 9 seconds and uploads them to the server using scp. Here is the shell script for a poor man's DVR: #!/bin/bash # repeat 5 times for i in {1..5}; do     # the file name with a datetime stamp     filename=webcam_$(date +%Y%m%d-%H%M%S).jpg       # capture the image from the camera     ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 -vframes 1 -frames:v 1 /mnt/ramdisk/$filename     # wait     sleep 9 done # create a latest.jpg image cp /mnt/ramdisk/$filename /mnt/ramdisk/latest.jpg # add the time stamp convert /mnt/ramdisk/latest.jpg -gravity SouthEast -points
Recent posts

Caddy webserver to prevent access from external machines on the network

How to protect your local caddy installation by preventing other machines outside of your localhost and local computer from accessing your device. Create rule: (block_outcoming) {        @denied not client_ip 127.0.0.1 ::1         handle @denied {                 respond "No access"         } }   Then inside your website configuration just add import  block_outcoming   E.g.: :80 {     import block_outcoming     root * /web/html }

Accessing Windows Share (Samba) From Linux (XFCE) using Thunar

In order to access samba (windows share) from Linux XFCE using Thunar file browser you need to: 1. Install samba client sudo apt install smbclient 2. Run: sudo modprobe cifs 3. Open thunar and access the share: smb://IPADDRESS/sharename e.g.: smb://192.168.1.1/photos 4. Type in the username / password in the prompt window Some helpful information: https://forum.manjaro.org/t/thunar-how-do-i-access-folders-shared-on-windows-computers/116649/9

Caddy web server configuration for rewrite with multiple variables parameters

  http://localwebsite {         # Set this path to your site's directory.         #root * /usr/share/caddy         root * /var/www/website           #makes /course/id/name.html to /course.php?id=id&name=name         @zxp {                 #path_regexp myregex ^/course/(\d+)/([%A-Za-z0-9_-]+)\.html$                 path_regexp myregex ^/course/([^/]+)/([^/]+)\.html$         }         rewrite @zxp /course.php?id={re.myregex.1}&name={re.myregex.2}           # rewrite /course/([^/]+)/([^/]+)\.html /course.php?id={1}&name={2}         # rewrite /course/(\d+)/([A-Za-z0-9_-]+)\.html /course.php?id=$1&name=$2         # rewrite /course/(\w+)/(\w+)\.html /course.php?id={1}&name={2}         #rewrite /course {         #       r ^/(\w+)/(\w+)\.html$         #       to /course.php?id={1}&name={2}         #}         # Enable the static file server.         file_server         # Another common task is to set up a reverse proxy:         # reverse_proxy localhost:8080        

Bypassing the error by "go get" "tls: failed to verify certificate: x509: certificate signed by unknown authority"

When I was trying to download dependencies for my go project in an old Ubuntu machine I was getting this error all the time: "go: gopkg.in/alexcesaro/quotedprintable.v3@v3.0.0-20150716171945-2caba252f4dc: Get "https://proxy.golang.org/gopkg.in/alexcesaro/quotedprintable.v3/@v/v3.0.0-20150716171945-2caba252f4dc.mod": tls: failed to verify certificate: x509: certificate signed by unknown authority" Which the main part of it was go get failing to authenticate: " tls: failed to verify certificate: x509: certificate signed by unknown authority " I tried many things but couldn't make it work until I found the way: export GOINSECURE="proxy.golang.go" This will tell go get to ignore certification validity. Then export GOPROXY=direct This will tell go get to by pass proxy Then git config --global http.sslverify false And only after those I could run again: go get And it worked

They all need to go after 7th of October