Skip to content

kikoqiu/gozipmount

Repository files navigation

gozipmount

gozipmount is a versatile command-line tool written in Go that allows you to mount archive files as read-write filesystems. It uses FUSE (Filesystem in Userspace) to create a virtual drive, making the contents of an archive accessible just like a regular folder.

On Windows, it provides a convenient context menu integration for easy mounting and unmounting of supported archive types.

Features

  • Multiple Archive Formats: Supports mounting .zip, .rar, .7z, .tar, and .iso files.
  • Read-Write Access: Modify files inside the archive on the fly. Changes are managed by a cache system and written back to the archive.
  • Windows Context Menu: Easily install or uninstall a "Mount with GoZipMount" entry in the Windows right-click context menu for supported file types.
  • Cross-Platform: The core mounting functionality is cross-platform (requires a FUSE implementation like WinFsp on Windows, or FUSE on macOS/Linux). The context menu feature is specific to Windows.
  • Configurable Cache: Adjust read and write cache sizes for optimal performance.

Installation

Prerequisites

  • Go: Version 1.21 or newer.
  • FUSE: You need a FUSE implementation for your operating system.
    • Windows: WinFsp is required.
    • Linux: FUSE is typically available via your distribution's package manager (e.g., libfuse-dev on Debian/Ubuntu).

Building from Source

  1. Build the executable:
    go build -o gozipmount

Usage

Mounting an Archive

To mount an archive, provide the path to the archive file and the desired mount point.

# On Windows
./gozipmount.exe C:\path\to\my-archive.zip 

# On macOS/Linux
./gozipmount /path/to/my-archive.zip /mnt/my-archive

Windows Context Menu Integration

You can add a "Mount with GoZipMount" option to the right-click menu for .zip, .rar, and .7z files on Windows. Run the command from an administrator terminal.

  • To install the context menu:

    ./gozipmount.exe install
    
  • To uninstall the context menu:

    ./gozipmount.exe uninstall
    

gozipmount (中文)

gozipmount 是一个使用 Go 语言编写的多功能命令行工具,它允许您将压缩文件挂载为可读写的虚拟文件系统。它利用 FUSE(用户空间文件系统)技术创建一个虚拟驱动器,使压缩文件中的内容可以像普通文件夹一样被访问。

在 Windows 上,它还提供了便捷的右键菜单集成,可以轻松挂载和卸载支持的压缩文件类型。

功能特性

  • 多种压缩格式: 支持挂载 .zip, .rar, .7z, .tar, 和 .iso 文件。
  • 读写支持: 可以直接修改压缩文件内的文件。更改会通过缓存系统进行管理,并最终写回压缩包。
  • Windows 右键菜单: 可在 Windows 上为支持的文件类型轻松 install (安装) 或 uninstall (卸载) “使用 GoZipMount 挂载”的右键菜单项。
  • 跨平台: 核心的挂载功能是跨平台的(Windows 上需要 WinFsp,macOS/Linux 上需要 FUSE)。右键菜单功能仅适用于 Windows。
  • 可配置缓存: 可以调整读写缓存的大小以获得最佳性能。

安装

环境要求

  • Go: 版本 1.21 或更高。
  • FUSE: 您的操作系统需要一个 FUSE 实现。
    • Windows: 需要安装 WinFsp
    • Linux: 通常可以通过发行版的包管理器安装 FUSE(例如,在 Debian/Ubuntu 上是 libfuse-dev)。

从源码构建

  1. 构建可执行文件: sh go build -o gozipmount

使用说明

挂载压缩文件

要挂载一个压缩文件,请提供文件路径和指定的挂载点。

# 在 Windows 上
./gozipmount.exe C:\path\to\my-archive.zip

# 在 macOS/Linux 上
./gozipmount /path/to/my-archive.zip /mnt/my-archive

Windows 右键菜单集成

在 Windows 上,您可以为 .zip, .rar, 和 .7z 文件添加“使用 GoZipMount 挂载”的右键菜单选项。请在管理员终端中运行此命令。

  • 安装右键菜单:

    ./gozipmount.exe install
    
  • 卸载右键菜单:

    ./gozipmount.exe uninstall
    

About

Util for mounting an archive file as a disk drive in Windows. Support zip, rar, 7z. Written in Golang.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages