Added Nautilus scripts for EWF_E01 images
This commit is contained in:
		
							
								
								
									
										116
									
								
								home/lucifer/.local/share/nautilus/scripts/02-EWF-E01/01-ewfinfo
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										116
									
								
								home/lucifer/.local/share/nautilus/scripts/02-EWF-E01/01-ewfinfo
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,116 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#===============================================================================
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# DIRECTORY:
 | 
				
			||||||
 | 
					#   /home/*/.local/share/nautilus/scripts/02-EWF-E01/
 | 
				
			||||||
 | 
					# OR
 | 
				
			||||||
 | 
					#   /home/*/.gnome2/nautilus-sctipts/02-EWF-E01/(deprecated)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# FILE:
 | 
				
			||||||
 | 
					#   01-ewfinfo
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# USAGE:
 | 
				
			||||||
 | 
					#   Right klick on the first file of an EWF image and
 | 
				
			||||||
 | 
					#   choose this nautilus script from the context menu.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# OPTIONS:
 | 
				
			||||||
 | 
					#   none
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# DESCRIPTION:
 | 
				
			||||||
 | 
					#   Stores and shows meta data stored in EWF files.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# REQUIREMENTS:
 | 
				
			||||||
 | 
					#   bash, zenity, coreutils and ewf-tools
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# BUGS:
 | 
				
			||||||
 | 
					#   ---
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# NOTES:
 | 
				
			||||||
 | 
					#   Tested on
 | 
				
			||||||
 | 
					#   - Debian 8+
 | 
				
			||||||
 | 
					#   - Arch Linux
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# AUTHOR:
 | 
				
			||||||
 | 
					#   Patrick Neumann, patrick@neumannsland.de
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# COMPANY:
 | 
				
			||||||
 | 
					#   (privately)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# VERSION:
 | 
				
			||||||
 | 
					#   0.9 (beta)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# LINK TO THE MOST CURRENT VERSIONS:
 | 
				
			||||||
 | 
					#   https://
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# CREATED:
 | 
				
			||||||
 | 
					#   16.11.2015
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# COPYRIGHT (C):
 | 
				
			||||||
 | 
					#   2015-2020 - Patrick Neumann
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# LICENSE:
 | 
				
			||||||
 | 
					#   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 3 of the License, or
 | 
				
			||||||
 | 
					#   (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# WARRANTY:
 | 
				
			||||||
 | 
					#   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, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# TODO:
 | 
				
			||||||
 | 
					#   ---
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# HISTORY:
 | 
				
			||||||
 | 
					#   0.9 - Patrick Neumann - Initial (public) release
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#===============================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Additional supported Distribution(s) (add before Library!).
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					SUPPORTED_OSR="arch"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Check for library (casualscripter_nautilus-scripts_functions.sh).
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					readonly LIBRARY="${0%/*/*}/.casualscripter_nautilus-scripts_functions.sh"
 | 
				
			||||||
 | 
					if [ ! -f "${LIBRARY}" ] ; then
 | 
				
			||||||
 | 
					  zenity --error \
 | 
				
			||||||
 | 
					         --text \
 | 
				
			||||||
 | 
					         "ERROR: casualscripter_nautilus-scripts_functions.sh MISSING!"
 | 
				
			||||||
 | 
					  exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source "${LIBRARY}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Checks (see library "casualscripter_nautilus-scripts_functions.sh").
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					check_dep "${BASENAME_BIN}" "coreutils"
 | 
				
			||||||
 | 
					check_dep "${EWFINFO_BIN}" "ewf-tools"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					check_ext "${SOURCE}" "[eE]01"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					check_tmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Generate ewfinfo file, if necessary.
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					readonly EWFINFO="${TMP}/ewfinfo-$( ${BASENAME_BIN} "${SOURCE}" ).txt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ ! -f "${EWFINFO}" ] ; then
 | 
				
			||||||
 | 
					  ${EWFINFO_BIN} "${SOURCE}" > "${EWFINFO}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Display content of the resultfile "ewfinfo.txt".
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					display_resultfile "${EWFINFO}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit 0
 | 
				
			||||||
							
								
								
									
										145
									
								
								home/lucifer/.local/share/nautilus/scripts/02-EWF-E01/02-xmount
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										145
									
								
								home/lucifer/.local/share/nautilus/scripts/02-EWF-E01/02-xmount
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,145 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#===============================================================================
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# DIRECTORY:
 | 
				
			||||||
 | 
					#   /home/*/.local/share/nautilus/scripts/02-EWF-E01/
 | 
				
			||||||
 | 
					# OR
 | 
				
			||||||
 | 
					#   /home/*/.gnome2/nautilus-sctipts/02-EWF-E01/ (deprecated)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# FILE:
 | 
				
			||||||
 | 
					#   02-xmount
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# USAGE:
 | 
				
			||||||
 | 
					#   Right klick on the first file of an EWF image and
 | 
				
			||||||
 | 
					#   choose this nautilus script from the context menu.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# OPTIONS:
 | 
				
			||||||
 | 
					#   none
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# DESCRIPTION:
 | 
				
			||||||
 | 
					#   Mount EWF image as RAW, VDI oder VMDK image with read/write support.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# REQUIREMENTS:
 | 
				
			||||||
 | 
					#   bash, zenity, coreutils and xmount
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# BUGS:
 | 
				
			||||||
 | 
					#   ---
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# NOTES:
 | 
				
			||||||
 | 
					#   Tested on
 | 
				
			||||||
 | 
					#   - Debian 8+
 | 
				
			||||||
 | 
					#   - Arch Linux
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# AUTHOR:
 | 
				
			||||||
 | 
					#   Patrick Neumann, patrick@neumannsland.de
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# COMPANY:
 | 
				
			||||||
 | 
					#   (privately)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# VERSION:
 | 
				
			||||||
 | 
					#   0.9 (beta)
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# LINK TO THE MOST CURRENT VERSIONS:
 | 
				
			||||||
 | 
					#   ...
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# CREATED:
 | 
				
			||||||
 | 
					#   07.03.2016
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# COPYRIGHT (C):
 | 
				
			||||||
 | 
					#   2015-2020 - Patrick Neumann
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# LICENSE:
 | 
				
			||||||
 | 
					#   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 3 of the License, or
 | 
				
			||||||
 | 
					#   (at your option) any later version.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# WARRANTY:
 | 
				
			||||||
 | 
					#   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, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# TODO:
 | 
				
			||||||
 | 
					#   - check if not exFAT!
 | 
				
			||||||
 | 
					#   - delete cache file?
 | 
				
			||||||
 | 
					#   - ask to overwrite cache file?
 | 
				
			||||||
 | 
					#   - choose cache file?
 | 
				
			||||||
 | 
					#   - readonly support?
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# HISTORY:
 | 
				
			||||||
 | 
					#   0.9  - Patrick Neumann - Initial (public) release
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#===============================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Additional supported Distribution(s) (add before Library!).
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					SUPPORTED_OSR="arch"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Check for library (casualscripter_nautilus-scripts_functions.sh).
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					readonly LIBRARY="${0%/*/*}/.casualscripter_nautilus-scripts_functions.sh"
 | 
				
			||||||
 | 
					if [ ! -f "${LIBRARY}" ] ; then
 | 
				
			||||||
 | 
					  zenity --error \
 | 
				
			||||||
 | 
					         --text \
 | 
				
			||||||
 | 
					         "ERROR: casualscripter_nautilus-scripts_functions.sh MISSING!"
 | 
				
			||||||
 | 
					  exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source "${LIBRARY}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Checks (see library "casualscripter_nautilus-scripts_functions.sh").
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					check_dep "${XMOUNT_BIN}" "xmount"
 | 
				
			||||||
 | 
					check_dep "${MKDIR_BIN}" "coreutils"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					check_xmount_version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					check_user_allow_other
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					check_ext "${SOURCE}" "[eE]01"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Disable automount in gnome.
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					disable_gnome_automount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Disable tracker (may interfere with later umount).
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					kill_all_tracker_processes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Ask user for output image format.
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					readonly OUTPUT_IMAGE_FORMAT="$( xmount_out_format )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# ... mountpoint...
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					readonly XMOUNTPOINT="${DIRNAME}/${OUTPUT_IMAGE_FORMAT}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ ! -d "${XMOUNTPOINT}" ] ; then
 | 
				
			||||||
 | 
					  ${MKDIR_BIN} "${XMOUNTPOINT}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# xmount EWF with read and write support (cache).
 | 
				
			||||||
 | 
					#-------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					if ${XMOUNT_BIN} --in ewf "${SOURCE%??}"?? \
 | 
				
			||||||
 | 
					                 --out "${OUTPUT_IMAGE_FORMAT}" \
 | 
				
			||||||
 | 
					                 --cache xmount.cache \
 | 
				
			||||||
 | 
					                 "${XMOUNTPOINT}" \
 | 
				
			||||||
 | 
					                 > /dev/null 2>&1 ; then
 | 
				
			||||||
 | 
					  success "EWF image was mounted as ${OUTPUT_IMAGE_FORMAT^^} image"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  error_exit "mounting EWF image as ${OUTPUT_IMAGE_FORMAT^^} image failed"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit 0
 | 
				
			||||||
		Reference in New Issue
	
	Block a user