8000 GitHub - Projeto-Pindorama/zipar: ๐Ÿ’ผ tar(1)-esque program for Zip files
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Projeto-Pindorama/zipar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

zipar

From Wiktionary, adapted:

/ziหˆpa(ส)/ - (Portuguese) verb

  1. (transitive, computing) to zip --- in the sense of converting a computer file into a smaller package.

Etymology: From English zip + -ar

zipar is a program that extracts, lists and creates PKZIP-compatible files, but using a tar(1)-like interface inspired on Schily's tar and Heirloom (UNIX v7) tar.
It is the first program to ever making use of the libcmon, which is still on testing and with features being gradually implemented.
Not to be confunded with Ryotaro Banno's (ushitora-anqou) ZipAr, which just archives files with no compression, using multi-thread parallelism for velocity, and that appears to be sort of niche compared to this project considering it does nothing besides that. It is also written entirely in OCaml.

Some history (because why not?)

This project originally was thought as some sort of shell script that would work as a boilerplate command to Info-ZIP's unzip/ zip programs so that both could be used in a saner(or maybe not) way. Some time passed and, in mid-2023, I decided to start doing and ended up not finishing a cbr to pdf converter, and saw that dealing with zip files using Go's archive/zip library was actually pretty good, so it would be better to have zipar as an independent program than as a boilerplate to two binaries. Then, โ‰ƒ1.7 years in the future (now), I decided to recycle that old code from cbr2pdf into libcmon and develop zipar over it.
Of course, it is not as far as portable as Info-ZIP's unzip/zip programs, nor it has all of the functionality of these (yet), but I can say it is pretty much reliable as far as I have tested, and that it will be at Copacabana's base system. Testing is welcome.

Features

NOTE: Features that have to be implemented via the libcmon/zhip library first will be highlighted as such with the "๐Ÿ‘Š" symbol.

  • tar's "tripartite": create, extract and list files;
  • Be able to select the compression level (similar to Info-ZIP's zip '-Z' option);
  • Be able to create an archive using the std.in./an file (similar to UNIX v7/Heirloom tar's -I option) as the list of files to be added;
  • Print information with the --json option that will be actually useful (needs a new struct type at zhip ๐Ÿ‘Š);
  • "Explode"/junk or ignore directories when creating archives ๐Ÿ‘Š;
  • Extract files with passwords ๐Ÿ‘Š;
  • Amend/update/exclude entries from zip files ๐Ÿ‘Š;
  • Interpret the Extra section of the zip.FileHeader struct for information such as Info-ZIP's extensions for UNIX permissions, NTFS info., etc. ๐Ÿ‘Š

Licence

The MIT licence.

Who can I blame for it?

Me, Luiz Antonio (a.k.a takusuman).

About

๐Ÿ’ผ tar(1)-esque program for Zip files

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

0