scripts/README.md

4.8 KiB
Raw Blame History

Scripts

Description:

Some useful scripts (for me) that can be added to $PATH :)

List:

  • apt-fast: Script for faster package downloading with 'axel'.
  • bash_quote: Get a random quote from http://danstonchat.com
  • droopy: Small webserver to allow upload on your machine.
  • firewall: A script shell to set some iptables rules.
  • update-dynmotd.d/: scripts to update the motd (via the /etc/update-motd.d directory).
  • flac_to_mp3: convert all flac files of a directory into mp3.
  • num_circle: Transform a number into a digit with a circle.
  • pomodoro: Print a task and a timer in a file. Try to apply Pomodoro Technique!
  • snapsend.sh: Send a ZFS snapshot to a remote host.
  • tag_photo.sh: Add an exif tag to images.
  • test_ssl3: Test if a website supportes the SSLV3 protocol.
  • veille.sh: Kill every sensitive process and files then lock the screen.
  • vimmanpager: Tiny script can be used as PAGER, it will call VIM!
  • weblink: Tiny Python script that run a small webserver to share files.
  • wol: Send WakeOnLan/magic packets to remote host.
  • zenity_generator: Script to generate zenity window.
  • zfSnap.sh: Take snapshot of a ZFS pool.

Apt-fast

Speed-up APT packages downloading with 'axel' (light command line download accelerator). Juste use it like aptitude/apt/apt-get.

sudo apt-fast full-upgrade

Bash_quote

Get a random quote from http://danstonchat.com with 'lynx'.

Droopy

Run a small webserver and allow user to upload files to a local directory:wq

### Firewall A shell script to apply some Iptables rules.

  • Rules are automatically apply only for the UP interfaces.
  • If it's detect some softwares (eg. Apache2), Iptables rules for ports 80/443 are automatically apply.
  • Special rules allow all traffic throught a VPN:
firewall vpn
  • If a local file exists (firewall.local) it will also apply it. For personnal rules for example.

Flac_to_mp3

Convert FLAC audio files to MP3 with 'avconv'.

  • Convert a directory:
flac_to_mp3 /media/data/bisounours_land_v2
  • Convert a file:
flac_to_mp3 /media/data/makarena.flac

Num_circle

Tiny Bash script that take a number between 0 and 20 as argument and transform it into a digit with into a circle.

num_circle 18

Pomodoro

My implementation of the Pomodoro Technique (https://en.wikipedia.org/wiki/Pomodoro_Technique).

You can simply launch it with:

pomodoro "Work my french kiss"

Then the script will:

  • Create a ~/.pomodoro directory to store current task (current.task) and a summary of each week (eg week-42-2015.txt).
  • First, it's put task name and a timer (for $WORK_TIME) to the current task file.
  • Once the $WORK_TIME has been reached:
    1. Log task name and worked time to the weekly log file
    2. Toggle the sound to mark a pause
    3. It's put a pause/break message for 5/20 minutes as current task
    4. Delete the current task file

Disavantages

  • Must run the script every ~30 minutes
  • …?

Advantages

  • I can display my current task and it's timer wherever i want (tmux, herbstluftwm, …)
  • Written to work with /bin/sh

rename_meurice_podcast

I download some podcast from a RSS flux (http://www.franceinter.fr/emission-le-moment-meurice) but i don't like:

  • the filename
  • the title tag

So it's a tiny script to correct this. I get the date and the "real" title from the "title" tag and:

  • The filename become "$date_$realtitle.mp3"
  • The title tag become "$date_$realtitle"

"Le moment Meurice": http://www.franceinter.fr/emission-le-moment-meurice

The script manage both a directory and a file as first argument.

tag_photo.sh

The main goal is to have a solution to know the "subject" of a picture without to open it and no really good name. It can happen if you delete your pictures and get it back with photorec or foremost. For this i use the Exif metadata.

You can simply launch the script with your pictures directory:

tag_photo.sh /tmp/Images

Then the script will:

  • List all subdirectories.
  • Get the basename of each directory and add it as the value of the Exif "description" tag for each images.

To see the result, you can display the tags "File Name" and "Description" of you images:

find /tmp/Images -type f -iregex '.*\.\(jpg\|gif\|png\|jpeg\)$' -exec exiftool {} -FileName -Description \;

Test_ssl3

Redhat's script to test if an LDAP server support SSLv3.

You could also use a nmap command:

nmap --script ssl-enum-ciphers -p 443 ldap.tld.org | grep "SSLv3: No supported ciphers found"

Python program that run a small webserver (BaseHTTPServer) to easily share some files.

  • eg:
weblink /tmp/goodbye.file
HTTP server running at http://localhost:8888/
^C^C received, shutting down server
  • With a password:
weblink --pass=die /tmp/kitty.file
HTTP server running at http://localhost:8888/die