29 Commits

Author SHA1 Message Date
Talison Fabio
c97bb6a2d6
feat: Add flag '--no-smart-unpack' to disable smart unpack (#809) 2025-04-28 11:03:50 -03:00
tommady
b9b1e11303
Store symlinks by default and add --follow-symlinks to toggle it (#789) 2025-04-16 17:43:46 -03:00
Pascal Hertleif
ecc05cdd60 feat: Add support for Brotli
Using https://crates.io/crates/brotli/7.0.0

#203
2025-02-12 13:59:18 -03:00
Pascal Hertleif
58271ab77f refactor(cli): Clearer docs for -y/-n 2025-02-12 10:12:54 -03:00
Pascal Hertleif
fadfe1a213 fix(cli): Align docs phrasing and capitalization 2025-02-12 10:12:54 -03:00
Pascal Hertleif
f3b7c0277f fix(cli): Fix typo in 'concurrent' 2025-02-12 10:12:54 -03:00
ttyS3
28d0933d6c fix: change threads short flag to -c in cli args to avoid conflict with tree 2024-12-14 19:52:32 -03:00
ttyS3
6b38e1dd46 feat: add concurrent working threads option to CLI args 2024-12-14 19:52:32 -03:00
ttyS3
499ad77657 fix(cli): remove default value for remove flag in Subcommand 2024-12-14 19:22:56 -03:00
ttyS3
55aa05b631 feat(cli): add option to remove source file after decompression 2024-12-14 19:22:56 -03:00
Jonas Frei
ba9f9c00f3 Add support for bzip3
Closes #398
Signed-off-by: Jonas Frei <freijon@pm.me>
2024-11-17 14:50:02 -03:00
ttyS3
2dad11d0ba fix(password): update password handling for archives
Refactor password handling in archive functions to use &[u8] instead of impl AsRef<[u8]>. Include better error reporting for invalid UTF-8 passwords in 7z archives.
2024-09-06 21:47:03 -03:00
ttyS3
8987992c21 chore: fix tests 2024-09-06 21:47:03 -03:00
ttyS3
512d2445b2 feat: add password support for decompress and list 2024-09-06 21:47:03 -03:00
Ryan Roden-Corrent
77c1a4e9db Support decompressing stdin.
Fixes #687.

If "-" is passed as a filename, decompress data from stdin.

Currently `--format` must be passed as well, but as a next step,
we could try to infer the format from magic numbers.

As stdin is not connected to the terminal, we cannot prompt for Y/N
when warning about decompression in memory, for e.g. zip. Just default
to No, and require passing "-y" in these cases.

For zip, we have to buffer the whole stream in memory to seek into it,
just as we do with a chained decoder like `.zip.bz`.

The rar format requires an actual file (not an `impl Read`), so
we write a temp file that it can decode.

When decoding a single-file archive (e.g. file.bz), the output filename
is just `-`, since we don't know the original filename. I had to add
a bit of a hack to the tests to work around this. Another option
would be to interpret "-d" as a destination filename in this case.

When decoding a multi-file archive, I decided to unpack directly into
the destination directory, as this seemed like a better experience than
adding a top-level "-" folder inside the destination.
2024-08-26 03:40:52 -03:00
João Marcos P. Bezerra
4314a3bbdd Mention Rar support in README and help 2023-12-05 13:04:08 -03:00
Ilya Grigoriev
e2796cef78 Mention 7z support in README and help 2023-12-05 13:04:08 -03:00
Ilya Grigoriev
9f82c9a655 Clarify that .sz refers to Google's Snappy format
It needs to be disambiguated from the unfortunately named
SZ compression, see https://szcompressor.org/.

Fixes #563
2023-12-05 13:04:08 -03:00
figsoda
4703f1b821
Merge pull request #511 from ouch-org/cli-add-tests
add tests for CLI usage
2023-09-16 10:16:39 -04:00
João M. Bezerra
c7d48297fc add tests for CLI usage 2023-09-15 18:24:06 -03:00
João M. Bezerra
7c6989de0e completions: hint generator to expand to file paths 2023-09-12 13:20:24 -03:00
figsoda
f21883170b implement --fast and --slow 2023-03-19 15:04:27 -04:00
xgdgsc
e92b9ff723 option level tests 2023-03-18 12:23:59 +08:00
xgdgsc
ffa16c7d6e add test, move 2023-03-17 17:59:53 +08:00
xgdgsc
df5f846581 🔥 name 2023-03-15 21:41:59 +08:00
xgdgsc
2c917dfa29 add raw level arg 2023-03-14 20:07:16 +08:00
Orhun Parmaksız
a2c894d935
Merge branch 'main' into feat/add_ls_alias 2023-02-05 00:54:20 +03:00
João M. Bezerra
db62f1c534 --help: add .sz to list of supported formats 2023-02-03 02:24:07 -03:00
João M. Bezerra
5b99f434c3 rename Opts to CliArgs 2023-02-03 01:17:33 -03:00