Skip to content
LUKSUS
Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LUKSUS
LUKSUS.checks
LUKSUS.functions
LUKSUS.logo
LUKSUS.variables
LUKSUS.welcome
README

README

########################################################
#################### LUKSUS ############################
############ EASY DRIVE ENCRYPTION SCRIPT ##############
########################################################
########################################################

# SYNOPSIS
#
# Create an encrypted filesystem on a hardrive or other storage
# media. LUKSUS also supports creating an encrypted filecontainer.

# BACKGROUND
#
# I wrote this script to make it quick and easy
# to created encrypted volumes.
# The purpose of this script is to provide an easy eay to encrypt
# storage media in Linux, such as hardrives, usb sticks,
# sd cards or external hardrives.
# Why? Because doing all these tasks manually is 
# time consuming and can be a little tricky.

# This is a wrapper script for cryptsetup, shred and mkfs
# I like doing it this way instead of using luksformat
# which I didn't know existed at the time when I began
# creating LUKSUS.

# HOW IT WORKS
#
# The script works like this:
# all existing data will be brutally removed beyond reconstruction (forensically)
# then it writes random data to the drive
# then creates a keyfile
# then encrypts the drive using the keyfile stored in /keys
# a LUKS header backup will also be placed in /keys
# please remember to take care of your /keys
# if you loose your /keys, the keyfile to your encrypted drive, then
# the data will be impossible to retrieve.

# DISCLAIMER 
#
# I, the author, take no responsibility if a black hole appears,
# and implodes your house, your town and the entire planet earth as an
# effect of using this script.
# Understand that the author takes no responsibility, and cannot
# be held liable if you, the user, use the script to destroy the
# files/contents of your storage media.
# As a consequence it is the sole responsibility of the user
# to use this software correctly. The author cannot be held
# liable for any damages, as of this disclaimer.
# END DISCLAIMER


# USAGE
#
# ./LUKSUS DEVICENAME NICKNAME-of-luks-container
#
# EXAMPLE:
# ./LUKSUS /dev/sdb1 rambo1
#
# if running remotely, for instance via ssh, it makes a lot of sense
# to run this in screen, just append screen to the command
#
# EXAMPLE:
# screen ./LUKSUS /dev/sdb1 rambo

# It is also possible to create an encrypted file container
# The usage then changes a little as the script then needs to
# know which loopbackdevice you wish to use, where the encrypted
# filecontainer should be located, and how large it should be.
# Please note that the size must have M for megabytes or G for
# gigabyte appended to the size.

# The following will use loop0, and place the encrypted container in
# /usr and will have 1000MiB as space.
#
# ./LUKSUS /dev/loop0 mysecretlibrary /usr/thelibrary.encrypted 1000M


# REQUIREMENTS:
# an empty hardrive or storage media
# knowledge about which device the hardrive or storage
# blkid will provide this
# media resides on
# cryptsetup
# dialog
# shred

# this script works on Linux
# but should also work on DragonflyBSD. Testing needed.

# Luksus is released under GNU GPLv2 License
# located here: http://www.gnu.org/licenses/gpl-2.0.html
#
# I would love to hear from you regarding feedback, ways you use it, 
# suggestions, tips and so on. 
# My email is: thomas.frivold.at.gmail.com

########################################################
#################### TODO ##############################
########################################################

# + Add TrueCrypt support
# + add a nice dialog interface
# + must be escapable - ie. have a CANCEL button within 
#   the dialog windows
# + better support command line options in a pro-manner
# + add the commandline option to use with or without dialog
# + rewrite the script using python


########################################################
#################### CHANGELOG #########################
########################################################

# v0.8.5 26.02.2013 12:00
# Cleanup before public release on Freecode.com!
# Hello World

# v0.8.4 26.02.2013 10:00
# Added a routine to check the screensize, and display
# a logo according to which screensize the user has.
# Cleaned up a little bit here and there

# v0.8.3 25.02.2013 20:00
# Tweaks 

# v0.8.2 25.02.2013 15:00
# Added a welcome sequence
# Added a logo! (yay)

# v0.8.1 25.02.2013 14:30
# Added missing apostrophe

# v0.8 24.02.2013 10:15
# + Improved code quality, implemented simple modularization.



# v0.7 02.01.2013 13:20
# + Added support for loopback devices 
#   creating an encrypted container is now possible with LUKSUS
# + Began work on implementing functions throughout
# + Added some conditional checks with regex

# v0.6 02.01.2013 01:35
# + improved documentation (README file)
# + Added some nice sanity checks
# + Further cleaned up the code
# + Added a definite CTRL+C to cancel now
# + Added dependency checks

# v0.5 25.04.2012 12:30
# + initial public release
#   live on github here: https://github.com/thomasfrivold/luksus
#   (yay)
# + massive cleanup
# + added a conditional check to verify that user is root
# + added a conditional check in the middle of the procedure to
#   verify that a LUKS container has been created on the device
#   good for integrity 
# + added a routine to hackup the luks header with a conditional
#   check as suggested by the luks FAQ
#   here: http://code.google.com/p/cryptsetup/wiki/FrequentlyAskedQuestions#6._Backup_and_Data_Recovery
# + fixed mounting procedure
#   changed name of the script from cryptcreate to luksus
#   the luksus name is more a pun than a functional name
#   luksus means luxury in Norwegian and coincidentally it includes the main technology
#   used to encrypt hardrives in Linux since the 2.6 kernels - Linux Unified Key Setup
#   on a celebratory note, the script can now be considered stable. Even though
#   it lacks some niceties such as a fully fledged ncurses dialog menu system
#   which is aimed at version v1.0
#   - Thomas Frivold 

# v0.4
# + cleaned up script
# + added required runtime arguments

# v0.3
# + added command line input

# v0.2
# + cosmetic fixes
# + did some nice thinking about dialog

# v0.1 16.04.2012 GMT+1 1320
# + initial release

Something went wrong with that request. Please try again.