All Projects → nlepage → go-tarfs

nlepage / go-tarfs

Licence: Unlicense license
Read a tar file contents using go1.16 io/fs abstraction

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-tarfs

tartifacts
📦 Create artifacts for your assemblies
Stars: ✭ 20 (+11.11%)
Mutual labels:  tarball, tar
tarballjs
Javascript library to create or read tar files in the browser
Stars: ✭ 24 (+33.33%)
Mutual labels:  tarball, tar
PLzmaSDK
PLzmaSDK is (Portable, Patched, Package, cross-P-latform) Lzma SDK.
Stars: ✭ 28 (+55.56%)
Mutual labels:  tarball, tar
Libarchive
Multi-format archive and compression library
Stars: ✭ 1,625 (+8927.78%)
Mutual labels:  tar
Go Unarr
Go bindings for unarr (decompression library for RAR, TAR, ZIP and 7z archives)
Stars: ✭ 133 (+638.89%)
Mutual labels:  tar
Afs
Abstract File Storage
Stars: ✭ 126 (+600%)
Mutual labels:  tar
tar
A simple tar implementation in C
Stars: ✭ 89 (+394.44%)
Mutual labels:  tar
Awesome Terminal Commands
An awesome resource listing and explaining various commonly used *nix commands
Stars: ✭ 109 (+505.56%)
Mutual labels:  tar
Swcompression
A Swift framework for working with compression, archives and containers.
Stars: ✭ 110 (+511.11%)
Mutual labels:  tar
Unifiedarchive
UnifiedArchive - an archive manager with a unified way for different formats. Supports all basic (listing, reading, extracting and creation) and specific features (compression level, password-protection). Bundled with console program for working with archives.
Stars: ✭ 246 (+1266.67%)
Mutual labels:  tar
extractor
Compressed files extractor for PHP
Stars: ✭ 23 (+27.78%)
Mutual labels:  tar
Node Archiver
a streaming interface for archive generation
Stars: ✭ 2,300 (+12677.78%)
Mutual labels:  tar
Libarchivejs
Archive library for browsers
Stars: ✭ 145 (+705.56%)
Mutual labels:  tar
Mindforger
Thinking notebook and Markdown editor.
Stars: ✭ 1,695 (+9316.67%)
Mutual labels:  tarball
compress
compress and uncompress for Deno
Stars: ✭ 29 (+61.11%)
Mutual labels:  tar
QArchive
Async C++ Cross-Platform library that modernizes libarchive using Qt5 🚀. Simply extracts 7z 🍔, Tarballs 🎱 and other supported formats by libarchive. ❤️
Stars: ✭ 66 (+266.67%)
Mutual labels:  tar
System Tar And Restore
Backup and Restore your system using tar or Transfer it with rsync
Stars: ✭ 170 (+844.44%)
Mutual labels:  tar
consulator
Import and synchronize your Consul KV data from JSON and YAML
Stars: ✭ 27 (+50%)
Mutual labels:  tar
res2h
A flexible resource compiler similar to bin2h and qrc
Stars: ✭ 19 (+5.56%)
Mutual labels:  tar
MangDL
The most inefficient Manga downloader for PC
Stars: ✭ 40 (+122.22%)
Mutual labels:  tar

go-tarfs

Go Reference GitHub release (latest SemVer) GitHub Workflow Status License Unlicense

Read a tar file contents using go1.16 io/fs abstraction

Usage

⚠️ go-tarfs needs go>=1.16

Install:

go get github.com/nlepage/go-tarfs

Use:

package main

import (
    "os"

    tarfs "github.com/nlepage/go-tarfs"
)

func main() {
    tf, err := os.Open("path/to/archive.tar")
    if err != nil {
        panic(err)
    }
    defer tf.Close()

    tfs, err := tarfs.New(tf)
    if err != nil {
        panic(err)
    }

    f, err := tfs.Open("path/to/some/file")
    if err != nil {
        panic(err)
    }
    // defer f.Close() isn't necessary, it is a noop
    
    // use f...
}

More information at pkg.go.dev/github.com/nlepage/go-tarfs

Caveats

For now, no effort is done to support symbolic links.

Show your support

Give a ⭐️ if this project helped you!

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key):


Nicolas Lepage

💻 ⚠️ 💡 🚧 👀

Jonas Plum

⚠️ 💻

MengYX

🐛 💻

Andrey Dyatlov

🐛 💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

📝 License

This project is unlicensed, it is free and unencumbered software released into the public domain.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].