Skip to content

darxkies/freezer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Freezer

Build Status Go Report Card GitHub release GitHub

Freezer copies a binary and its dynamic libraries to a directory so that it can be run or deployed independently of the operating system. The files can also be containerized.

Usage

Download the binary from release page.

For example, to freeze the binary /usr/sbin/conntrack run the following command:

freezer freeze-binary /usr/sbin/conntrack /tmp/freezer

This generates following files in the target directory /tmp/freezer:

/tmp/freezer/
├── conntrack
├── bin
│   └── conntrack
└── lib
    ├── ld-linux-x86-64.so.2
    ├── libc.so.6
    ├── libmnl.so.0
    ├── libnetfilter_conntrack.so.3
    └── libnfnetlink.so.0

By calling the program /tmp/freezer/conntrack it will actually run /tmp/freezer/bin/conntrack and it will load its dynamic libraries from /tmp/freezer/lib/.

Build

To build from source code you need make and Docker, then run the following commands:

git clone [email protected]:darxkies/freezer.git
cd freezer
make

The commands generate the binary freezer in the current directory.