vectordotdev / vectordotdev/vector
Compress release Vector binaries with UPX
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 22.6k
- Forks
- 2.3k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 146
Description
UPX is a compression program for executables which allows them to be compressed with subsequent decompression at runtime.
It can be used to compress Vector release binaries in order to reduce amount of space Vector occupies when placed on the target system. It is worth to note that it would not reduce size of Vector archives (and potentially might even slightly increase them).
Some questions which have to be addressed before we can proceed on it:
- Is decompression at runtime slows down Vector start up times significantly? I think it shouldn't, when I tried it on Vector the start up time was less than half a second. But it is worth to ensure that it is acceptable to us.
- (More important) Some malware detection tools can possibly mark all executables compressed by UPX as suspicious because they can consider them to be deliberately obfuscated, although UPX should be widespread enough nowadays (it is present in Debian and Ubuntu repositories, for example) to be explicitly supported by most of such tools. However, it is something which requires investigation/discussion.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the issue's proposed UPX compression of Vector release binaries. Investigate whether runtime decompression affects startup time and whether malware detection tools flag UPX-compressed executables. Done means those risks are assessed and a clear decision is made about whether to proceed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100