Skip to content

Commit

Permalink
Add new script + fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
neheb committed Aug 30, 2013
1 parent 9be4f49 commit 171818a
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 47 deletions.
5 changes: 4 additions & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ It keeps EXIF data by default and supports arithmetic coding as well
jpegfolder - script that uses jpegrescan on a given folder. keeps all EXIF data.
Great for losslessly slimming down family photos.

zipcrush - script that uses several utilities to create an extremely small zip file.
gzcrush - script that uses several utilities to create an extremely small gz file.
Even smaller than zopfli I might add. The script has several dependencies:

KZIP: http://advsys.net/ken/utils.htm or http://www.jonof.id.au/kenutils
Expand All @@ -18,3 +18,6 @@ huffmix: http://encode.ru/threads/1313-Huffmix-a-PNGOUT-r-catalyst
deflopt: http://www.walbeehm.com/download/

defluff: http://encode.ru/threads/1214-defluff-a-deflate-huffman-optimizer

zipcrush - similar to gzcrush except it works on zip files. requires KZIP and ZIPMIX as well as deflopt and
defluff.
78 changes: 78 additions & 0 deletions gzcrush
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
kzip /b1024 1.zip "$1"
kzip2gz 1.zip 1.gz
rm 1.zip

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b1024 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b512 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b256 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b128 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b64 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b32 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b16 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
done

deflopt 1.gz
defluff < 1.gz > 11.gz
deflopt 11.gz
mv 11.gz "$1"
75 changes: 29 additions & 46 deletions zipcrush
Original file line number Diff line number Diff line change
@@ -1,78 +1,61 @@
kzip /b1024 1.zip "$1"
kzip2gz 1.zip 1.gz
rm 1.zip
kzip /b1024 /r 1.zip "$1"

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b1024 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
kzip /rn /r /b1024 2.zip "$1"
zipmix 1.zip 2.zip
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b512 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
kzip /rn /r /b512 2.zip "$1"
zipmix 1.zip 2.zip
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b256 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
kzip /rn /r /b256 2.zip "$1"
zipmix 1.zip 2.zip
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b128 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
kzip /rn /r /b128 2.zip "$1"
zipmix 1.zip 2.zip
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b64 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
kzip /rn /r /b64 2.zip "$1"
zipmix 1.zip 2.zip
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b32 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
kzip /rn /r /b32 2.zip "$1"
zipmix 1.zip 2.zip
rm 2.zip
let COUNTER=COUNTER+1
done

COUNTER=0
while [ $COUNTER -lt 128 ]; do
kzip /rn /b16 2.zip "$1"
kzip2gz 2.zip 2.gz
huffmix 1.gz 2.gz 1.gz
rm 2.gz
rm 2.zip
let COUNTER=COUNTER+1
kzip /rn /r /b16 2.zip "$1"
zipmix 1.zip 2.zip
rm 2.zip
let COUNTER=COUNTER+1
done

deflopt 1.gz
defluff < 1.gz > 11.gz
deflopt 11.gz
mv 11.gz "$1"
deflopt 1.zip
defluff < 1.zip > 11.zip
deflopt 11.zip

0 comments on commit 171818a

Please sign in to comment.