Giter VIP home page Giter VIP logo

go-upx's Introduction

go-upx

go-upx

Test Go Reference

go-upx is a command-line wrapper library for upx utility.

For package reference, visit https://pkg.go.dev/github.com/alegrey91/go-upx.

What is UPX

UPX is a free, secure, portable, extendable, high-performance executable packer for several executable formats. More info at https://upx.github.io/.

Why

The idea was to create a nice interface for this utility in my favorite programming language. So you can automate tasks in a bigger project that makes use of the utility.

Install

To install the module, run the following command:

go get github.com/alegrey91/go-upx

Example

Let's see how you can use go-upx to compress a file from a Go program:

import (
    ...
    "github.com/alegrey91/go-upx"
)

...

    // UPX options definition
    options := goupx.Options{
    	Output: "/tmp/file",
    	Force:  true,
    	Verbose: false,
    	CompressionTuningOpt: goupx.CompressionTuningOptions{
    		Brute: 1,
    	},
    }

    // command execution
    upx := goupx.NewUPX()
    _, err := upx.Compress("/path/to/file/to_be_compressed", 9, options)
    if err != nil {
    	fmt.Println(err)
    }

    // display the results
    fmt.Println(upx.CmdExecution.GetFormat())
    fmt.Println(upx.CmdExecution.GetOriginalFileSize())
    fmt.Println(upx.CmdExecution.GetCompressedFileSize())
    fmt.Println(upx.CmdExecution.GetRatio())
    fmt.Println(upx.CmdExecution.GetFormat())
    fmt.Println(upx.CmdExecution.GetName())

...

Here you can find more code examples here: examples

Test

To test the code locally, run the following command:

go test -v .

License

go-upx is available under MIT license.

go-upx's People

Contributors

alegrey91 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.