Remote-Archive is a utility for exploring remote archive files without downloading the entire contents of the archive.

Overview

[WIP] REMOTE-ARCHIVE

Remote-Archive is a utility for exploring remote archive files without downloading the entire contents of the archive.

The idea behind it is to use the Range HTTP header to read the entries' metadata and skip the content of the entries in the archive.

  • Option for using custom offsets
  • Specificing the thread count
  • Option for downloading a specific file
  • File types
    • ZIP
    • TAR (USTAR)
    • RAR
    • 7z

an example usage (exploring the zip file from the middle of it (450GB)):

$ cargo run -- --url 'http://foo.bar/a.zip'  --offset=255194890075 --proxy socks5://127.0.0.1:9050

[src/remote_file.rs:54] &range = 255194890075..255194894171
[src/remote_file.rs:54] &range = 255194890078..255194890082
[src/remote_file.rs:54] &range = 255194890082..255194890100
[src/remote_file.rs:54] &range = 255194890100..255194890100
[src/main.rs:61] &entry = Ok(
    Entry {
        entry: EndOfCentralDir(
            EndOfCentralDir {
                disk_of_end_of_central_dir: 0,
                disk_of_central_dir: 0,
                num_central_dir_entries_on_disk: 1,
                num_central_dir_entries_total: 1,
                len_central_dir: 88,
                ofs_central_dir: 11507406,
                len_comment: 0,
                comment: "",
            },
        ),
        range: 255194890078..255194890100,
    },
)
[src/remote_file.rs:54] &range = 255194890100..255194890104
[src/remote_file.rs:54] &range = 255194890104..255194890130
[src/remote_file.rs:54] &range = 255194890130..255194890247
[src/main.rs:61] &entry = Ok(
    Entry {
        entry: LocalFile(
            LocalFile {
                header: LocalFileHeader {
                    version: 20,
                    flags: 2048,
                    compression_method: Deflated,
                    file_mod_time: 20964,
                    file_mod_date: 21694,
                    crc32: 2242091140,
                    len_body_compressed: 641317,
                    len_body_uncompressed: 664719,
                    len_filename: 117,
                    len_extra: 28,
                    filename: "Y.xlsx",
                },
                body: None,
            },
        ),
        range: 255194890100..255195531592,
    },
)
You might also like...
Punic is a remote caching CLI built for Apple's .xcframework
Punic is a remote caching CLI built for Apple's .xcframework

Punic is a remote caching CLI built for Carthage that exclusively supports Apple's .xcframeworks.

Call is an easy-to-use command tools for remote development.
Call is an easy-to-use command tools for remote development.

Call is an easy-to-use command tools for remote development. It helps you to build remote development easily and elegant. It can work with makefile and justfile.

Cross-platform binary shims with optional remote fetching.

chim Cross-platform binary shims with optional remote fetching. Quickstart (make an automatic fetching node.js wrapper) Install chim: (see docs for al

A bit like tee, a bit like script, but all with a fake tty. Lets you remote control and watch a process

teetty teetty is a wrapper binary to execute a command in a pty while providing remote control facilities. This allows logging the stdout of a process

Padding/aligning values without heap allocation

zero-copy-pads Padding/aligning values without heap allocation. Cargo Features std (default feature): Disable #![no_std]. Enable features that require

fail CI on rustc and clippy warnings without breakage

A crate + github actions template that fails CI on rustc and clippy warnings without breakage.

A mini paste bin and url shortener written in rust without databases.

pb Build $ cargo build --release Environment Variables PB_DATA: /some/path (Default: ./pb_data) PB_SITE: Url of your site. (Default: http://localhost:

a Rust library implementing safe, lightweight context switches, without relying on kernel services

libfringe libfringe is a library implementing safe, lightweight context switches, without relying on kernel services. It can be used in hosted environ

🕺 Run React code snippets/components from your command-line without config

Run React code snippets/components from your command-line without config.

Owner
2nd acc
null
BoilerFiles is a CLI for downloading your boilerplate files from a public GitHub template repo.

BoilerFiles Available on crates.io. BoilerFiles is a CLI for downloading your boilerplate files from a public GitHub template repo. Features Are you t

Jan Müller 4 Oct 1, 2022
An interactive shell environment for exploring the p2panda protocol

An interactive shell environment for exploring the p2panda protocol. Uses a mock node and clients to simulate network logic.

null 4 Dec 12, 2021
✨ A simple and cute tool for exploring Wikipedia from the terminal ✨

Wikipe ✨ Wikipe ✨ is a tool to search Wikipedia from the command-line. Given a search query, it returns a list of matching Wikipedia articles, which c

Harvey 4 Dec 20, 2022
Failed experiment in downloading random cat image, turning it into ascii and displaying it in Neovim.

cat.nvim Failed experiment in downloading random cat image, turning it into ascii and displaying it in Neovim. Failed as I realized far too late, that

James Vero 4 Aug 5, 2022
Desktop app for reading and downloading manga. With clean distraction-free design and no clutter

Tonbun Tonbun is a desktop app for reading and downloading manga. With clean distraction-free design and no clutter. Build with Rust, Tauri, Vue.js, a

null 23 Nov 30, 2022
A multi-threaded Twitch chat archiving and downloading tool.

Twitch Chat Downloader ??️ tcd is a multi-threaded Twitch Chat Downloader built in Rust ?? . Usage: tcd [OPTIONS] <--channel <CHANNEL>|--video <VIDEO>

Matthew Polak 6 Dec 19, 2022
mdBook is a utility to create modern online books from Markdown files.

Create book from markdown files. Like Gitbook but implemented in Rust

The Rust Programming Language 11.6k Jan 4, 2023
fixred is a command line utility to fix outdated links in files with redirect URLs.

fixred fixred is a command line utility to fix outdated links in files with redirect URLs. Installation fixred is installed via cargo package manager.

Linda_pp 35 Aug 6, 2022
This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

Mufeed VH 38 Dec 30, 2022
A utility written in Rust for dumping binary information out of Mach-O files inspired by objdump

Mach-O Dump (macho-dump) An objdump like tool for exploring and manipulating Mach-O files. Note: This project is in an early stage and most of the fea

Irides 2 Oct 17, 2022