deepsix

deepsix is an awesome tool to use when you need any random string such as a media ID to apply to a disk volume, a randomized password, or any other random string.

What is deepsix?

     deepsix is a lightweight random string generator. The most recent version includes the following key features. 

          -Variable String Output

          -Adjustable number of iterations

          -Prettification of output by adding dashes at any character count

          -option to add lowercase characters

         -option to timestamp the output

          -Cross platform and adheres to best practices for modularity with Unix, Linux and Windows
          so output can be easily redirected to a saved file. 

         deepsix is fully cross platform, available as C source that will compile in macOS, Linux and Windows. Linux and MaxOS users can take advantage of the bundled man page. 

It has been compiled with success under MacOS and Ubuntu LTS, and Windows 10 and should compile under most operating systems. 

minGW was used to compile it for Windows. All feedback and bug reports should be sent to andresen[dot]eric[at]gmail[dot]com. 

** Download the Beta for version 2.0 here.

++ Whats New++

Deepsix is now available in a light implementation in HTML called Deepsix-mini which is open source by its very nature. Feel free to use the HTML in your own project. 

From now on all new deepsix source code will be published on GitHub. Thee huge announcement is that deepsix will now be available in both C versions and in Python to make it even easier for you to not just use your favorite Swiss army knife of random numbers, but we want you to enjoy the freedom to run, copy, distribute, study, change and improve the software. deepsix is free software and it is my aim to keep it that way. In version 2.2p the latest python build, deepsix now supports UUIDs and can generate just one for a nice new VPN key, or yo can just as easily generate 100,000 of them and the amazing thing is that it can generate 100,000 UUIDs in about two seconds. Keep an eye o the site as more is coming all the time. 


deepsix 2.0 offers expanded access to symbol sets including both upper and lowercase,  characters, symbols, numbers and even hex safe symbols in addition to better performance and a rewrite from the ground up to make it easier to maintain, more compact and leaner in addition to a better organized help facility. At this time the deepsix beta is available only in source or a windows executable. 

The production version of deepsix is now available on its Github page.

I will keep the beta code here in case anyone is interested, and from now on releasses will happen on GitHub so that version control will manage itself.

2.0 Beta Source Code 
2.0 Beta Windows Binary – As a new binary your browser may raise concerns about the safety of this executable. Select the option to KEEP in Chrome to continue the download. 

  **   Download the current Version 1.0c here source code – man page – readme.txt
x64 Windows package – MD5 – d6b7cd2a89141ad9e7f643cf3aff9d09
x86 Windows package – MD5 – 323fe5220008002724c27db213327287
x64 Executable Only – MD5 – a9ae7edb7ead1d716637ff56bc420752
deepsix-x64-1.0c.tar.gz – MD5 –
c852701f7a3bff9eb55022389db61abc
macOS executable – MD5 – c232dc4e29dd2b72dadcfa2cc30a9387

–Version History—————————————————————————————–

   1.0b – Source Codeman page 
x64 Windows package – MD5 – 50fd03995a0f92496e306d2b7f92be55
x86 Windows package – MD5 – 9e678e9049c019fce06ed2534e6bda6b
deepsix-x64-1.0c.tar.gz – MD5 – 94813a0aa9d5e4be34c6bca0dfd5bc7e

   1.0a – Source Codeman page 
   1.0   – Source Codeman page 

Instructions

Each build contain  two files, a c source file and a man page. Since this application is not yet packaged some instruction is required. To view the man page on Linux or macOS launch terminal, change to the folder where you downloaded your file and  type “man ./deepsix.man” – the man page for the application will be displayed. Press the q key to quit. The deepsix.c application  is not built but supplies the source code if you wish to buld it for your system. . This is to protect you from unknown source running on your computer and because it is hard for me to document instructions for all of the compilers available. To compile the C application for macOS or Linux change to the folder where you downloaded the c source code and type “make deepsix”. Linux executables are also available for download above. You can then launch deepsix simply by typing “./deepsix” at the terminal.

You could also just type gcc deepsix.c and it will create a file named a.exe you can rename to deepsix.exe but adding the -o allows you to specify a name when you compile.

minGW is currently installing gcc version 4.8.3

    If you have downloaded the pre-built windows executable you can download it download and run it , but if you want to compile from source you will need to install the minGW compiler and then use those tools to compile deepsix.c – Binaries for Windows x86 will be posted for testing soon. In the meantime make is either not included in minGW or it does not work so once minGW is installed simply do a “gcc deepsix.c -o deepsix.exe” will make the deepsix.exe executable. This process has been tested to run fine under windows 10. It probably runs under other versions of windows as well it just has not yet been tested. For macOS you can download the executable file and chmod it so you can run it on your system by moving the file to where you want it to live and doing a “chmod +x deepsix” to mark the file as executable. Last Updated 2022-06-29

License

All versions past and future are released under the MIT license which is embedded in the source and expressed here on the primary distribution page. The MIT license is short and permissive with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

Permissions: Commercial Use, Distribution, Modification, Private Use
Conditions: License and copyright notice
Limitations: Liability, Warranty

License
  MIT License

  Copyright (c) 2020 Eric Andresen

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:
  
  The above copyright notice and this permission notice shall be included in all
  copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  SOFTWARE.

Credits

Eric Andresen is the author of deepsix.

Special thanks to Mando Fierro for application testing.

Special thanks to Josh Bartels for application testing and considerable assistance with cross platform compilers. Josh put forth significant effort to help ensure binaries were available for x86, x64 and Linux platforms. 

 

This Post Has 2 Comments

  1. hipo

    thanks a lot for deepsix!
    just wanted to let you know I found a bug. when using the deepsix 2.0 beta x64 windows package on win 8.1 the -l option always generates only lowercase characters without numbers. (also briefly tested with different combinations of other flags)
    deepsix 1.0 x64 win package works like a charm.

    1. Eric Andresen

      Using just the -l option changes the default and once you change any default you have to provide explicitly what you expect, if you just use -l for lowercase that is what you will get, if you combine that with -u ( deepsix -l -u) you will get upper and lower case output and if you want a 12 character strong password you can use -u -l -n -s -c12 for upper, lower and numeric, symbol and the character length is then set to 12. The supported switches in version 2.0 are as follows:

      If no switches are included defaults to Uppercase and numbers

      -u Include Uppercase characters
      -l Include lowercase characters
      -n Include numbers
      -s Include password safe symbols
      -t Display runtime timestamp
      -H Include HEX symbols
      -S Include a SPACE
      -v Display Version
      -cCharacters number of Random characters to print
      -iIterations number of iteration to run

      If no -c or -i are provided they default to 6 characters and 1 Interations

      Example: deepsix -u -l -n -s -c12 -i10 -p6 ** output complex passwords
      Example: deepsix -H -t -c12 -i10 -p2 ** output random hex strings
      Example: deepsix ** output a random ID

      I really do hope that this helps you and if you have any questions at all about the operation or function of Deepsix please do provide me feedback. I am always looking for ways I can extend the product to provide more value.

Leave a Reply to hipo Cancel reply