gunarchiver

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2017 License: BSD-3-Clause Imports: 11 Imported by: 0

README

gunarchiver

Current Release Build Status Go Report Card GoDoc License

gunarchiver (Go Unarchiver) is a minimalistic archive extraction tool with a few simple goals:

  • Single static binary (no external dependencies) with simple user interaction (just double click archive file).
  • Extract all contained file to the same folder as the archive.
  • Create a new folder, if there is more than on top-level file in the archive.
  • Move the archive to the recycle bin after successful extraction.

This was primarily a project born out of the frustration of having to navigate through several layers of context menus of 7zip and manually moving files, just to have them structured the way I like it. This tool does it all in one double-click.

screenshot

NOTE: The program is currently windows only due to better alternatives already available for other platforms.

Supported formats

Currently supported formats are: .zip, .tar.gz and .rar

No support for multi-volume archives or password protected files (yet).

Installation

Either go get github.com/martinplaner/gunarchiver and then go build -ldflags="-H windowsgui" in the project directory OR download the pre-compiled binary from the GitHub releases page.

Put the binary anywhere you want and associate the proper file extensions with the program. You're done, no third step.

Possible future work and known problems:

(not necessarily implemented soon or ever -- works for me in the current state ;)

  • Handle symlinks and hardlinks properly (currently not supported)
  • UI and trash implementation for other platforms (Linux, macOS). But low priority since other platform already have similar (better) tools that inspired me to develop this one.
  • Preferences pane for customization (+ persistent config).
  • i18n (currently hardcoded to english)
  • Add (nicer) application icon
  • Fine(r) grained progress updates (currently updates only after every file in the archive)
  • Maybe multi-volume RAR support

License

Copyright 2017 Martin Planer. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package archive implements functions for decoding and extracting archives such as ZIP, tar.gz or RAR.
Package archive implements functions for decoding and extracting archives such as ZIP, tar.gz or RAR.
rar
Package rar provides support for reading and extracting ZIP archives.
Package rar provides support for reading and extracting ZIP archives.
tar
Package tar provides support for reading and extracting ZIP archives.
Package tar provides support for reading and extracting ZIP archives.
zip
Package zip provides support for reading and extracting ZIP archives.
Package zip provides support for reading and extracting ZIP archives.
Package progress provides data types for sharing progress between components.
Package progress provides data types for sharing progress between components.
Package trash provides the functionality to move files to the OS provided recycle bin (trash bin) instead of removing a file permanently through os.Remove.
Package trash provides the functionality to move files to the OS provided recycle bin (trash bin) instead of removing a file permanently through os.Remove.
ui
Package ui is the abstraction layer for the user interface and defines all necessary interfaces that need to be implemented by concrete UI implementations.
Package ui is the abstraction layer for the user interface and defines all necessary interfaces that need to be implemented by concrete UI implementations.
windows
Package windows implements the user interface for the windows platform.
Package windows implements the user interface for the windows platform.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL