GithubHelp home page GithubHelp logo

andrew-d / static-binaries Goto Github PK

View Code? Open in Web Editor NEW
3.0K 65.0 553.0 65.36 MB

Various *nix tools built as statically-linked binaries

License: Other

Shell 33.58% C 21.63% Python 12.69% Makefile 28.26% Dockerfile 3.84%

static-binaries's Introduction

static-binaries

This repo contains a bunch of statically-linked binaries of various tools, along with the Dockerfiles / other build scripts that can be used to build them. I generally just create these as I need them - not all tools are available for every platform or architecture. Please file an issue if you want a new tool or a tool on a new platform.

Current List of Tools

Building

Generally, if the directory contains a Dockerfile, you can run the build by doing something like (where FOO is the directory name):

cd FOO
docker build -t static-binaries-FOO .
docker run -v `pwd`/../binaries:/output static-binaries-FOO

Notes:

nmap

  • In order to do script scans, Nmap must know where the various Lua files live. You can do this by setting the NMAPDIR environment variable:
    NMAPDIR=/usr/share/nmap nmap -vvv -A www.target.com

  • The nmap_centos5 binary isn't statically-linked; rather, it's built on CentOS5, so it "should" run on just about every modern version of Linux. Use this if something in the static binary doesn't work properly.

  • On Windows, the nmap binary will probably not work without WinPcap. It also appears to have a random crashing problem with regular TCP scans - I'm not quite sure what's up with that yet.

nping

  • On Windows, nping has the same issues as nmap (see above).

python

  • Getting a static build of Python that works is HARD. Not everything in this particular tool functions properly, and you have to run it with some strange options, but it's usable. In short, you need to run it like so:
    PYTHONPATH=/path/to/python2.7.zip python -sS

  • Note: sqlite isn't currently supported. Adding this is an ongoing TODO of mine.

ht

  • On Linux, the appropriate terminal information must be present. On some versions of Linux (e.g. Debian Jessie), the information may be in a different place - you can use the TERMINFO environment variable to specify the correct location: TERMINFO=/lib/terminfo ./ht

file

  • You need to pass the correct magic database to file - one is provided named magic.mgc. Run file as such: file -m /path/to/magic.mgc myfile.foo.

static-binaries's People

Contributors

adunham-stripe avatar andrew-d avatar firefart avatar mathieu-aubin avatar metmajer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

static-binaries's Issues

git statically linked

Hi Andrew,

I'd love to have a statically compiled git, that can be used on a 64bit SuSE Enterprise Linux 11. Would that be a big hassle for you? (it would definitey be for me...).

Kind regards,
Michael

Socat for rPi

Hi , is it possible to have socat for rPi ?

Thanks !

Add htop or top and hex and sha256/md5

Hi thank you so much for your binaries they are saving me on my esxi install.
Can you possibly add htop or top along with hex and some sha256/md5 checksum tool?
Thanks so much,
Samuel

Won't build anymore

Hello!
It has been some years :)
And now there are issues:
I tried building nano following the instructions as given:

cd nano
docker build -t static-binaries-nano .
docker run -v pwd/../binaries:/output static-binaries-nano

First issue was, that the docker build was extremely slow, and apt took about 5 hours to finish, with one CPU core being at 100% during the whole process. And in the end there where signature warnings:
W: GPG error: http://deb.debian.org jessie-updates InRelease: The following signatures were invalid: KEYEXPIRED 1668891673 W: GPG error: http://deb.debian.org jessie Release: The following signatures were invalid: KEYEXPIRED 1668891673
I don't know if Debian Jessie still is a thing, as I am using arch.

In the end of the docker build, there was an Error:
E: There are problems and -y was used without --force-yes
The last command ( docker run -v pwd/../binaries:/output static-binaries-nano ) did not work:

Unable to find image 'static-binaries-nano:latest' locally
docker: Error response from daemon: pull access denied for static-binaries-nano, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
Seems logical it failed because the former command did not work out.

I don't know if there still is someone caring for the project, it would be nice if this could be made working again :)
Thanks in advance!

Proot

  • proot -- static binaries available for aarch64, x86_64, but not armv7 etc..

  • fakeroot

  • tiny c compiler -- if it can be compiled statically, think can be used to build an educational lightweight tool for learning C on android and other mobile platforms, besides other possibilities.. What about a trimmed down gcc and a qemu without exotic architectures?

packaging request: htop process manager

tried to find a statically compiled arm htop binary of it last week; found some how-tos but no binaries uploaded anywhere. So this would be a great addition I think : )

issue

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

No SSL support in socat?

Hi there, thanks for sharing a build script.

I've tried your socat build script, works great, but it's missing openssl support

> ./socat openssl-connect:172.16.177.1:1237,verify=0 exec:bash,pty,stderr,setsid
2016/10/18 18:56:58 socat[1704] E unknown device/address "openssl-connect"

Can you take a look at that?

how to compile for windows

I follow the guide from README.MD

cd FOO
docker build -t static-binaries-FOO .
docker run -v `pwd`/../binaries:/output static-binaries-FOO

but only linux version compiled.
could u help me hand this out ?

Cannot Compile Socat binaries

I am currently facing an issue trying to build the socat static binaries. Please find below the issue.

openssl-1.1.0f/e_os.h

  • cd openssl-1.1.0f
  • CC='/usr/bin/gcc -static'
  • ./Configure no-shared no-async linux-x86_64
    "glob" is not exported by the File::Glob module
    Can't continue after import errors at /usr/lib/perl5/core_perl/File/Glob.pm line 42.
    BEGIN failed--compilation aborted at ./Configure line 17.
    Screenshot 2023-04-21 at 11 31 27 PM

License?

Hi. What is the license this code is provided under? I couldn't find one in the repository.

Why use a customized gcc?

In the nmap build script, you seem to be using a non-standard gcc,
/opt/cross/x86_64-linux-musl/bin/x86_64-linux-musl-gcc

Any reason for that?

I need a netcat for creating jdbc pipe through SSH and netcat pipe

jdbc server is located in a third host, and middle host (which is accessed through ssh), does not include a netcat binary. So, I can't currently create a netcat pipe between middle host and a jdbc host (there is no direct route between localhost and jdbc host).

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.