Project Description
Arphoon is a complete solution for building, reading and validating custom file packages in .NET Applications with added security and integrity verification.

What is an Arphoon Package?
They are simple and very fast containers for storing any amount of files you want in a single archive, that can be used almost effortless from any .NET application that links to the ArpsEngine core library, and also can be mounted on virtual drives system-wide with the help of some third party libraries also provided.

How the library works?
See Getting Started with Arphoon for more information.

Features
  • Very Fast package creation and reading
  • Lightweight package structure added in order to keep resulting size as low as possible
  • Metadata Encryption support with symmetric keys
    • Asymmetric keys and full package encryption is actually planed for release soon
  • Runtime automatic Integrity Check against precalculated hashes on a per-file basis
  • Access each file independently with mapped streams with Seek() support
  • Support for Modding package contents with file updates. That means virtually Adding, Removing and Updating package contents by attaching additional differential packages.
    • Specially usefull when publishing updates of big packages by providing only the modified files
  • Support for Package Mounting to virtual drives on Windows systems via third party libraries, for accesing them system-wide
  • Good set of utilities to create, manipulate and verify any kind of Arphoon packages
  • No limitations on the amount or size of stored files
  • Abstraction Wrapper for accesing files outside of packages using the same ArpsEngine. Usefull when debugging, to avoid rebuilding packages over and over with content updates. Work with bare files at debugging and package them once for release with no code changes!

Suite Contents
  • ArpsEngine - Core Library for accessing Arphoon Packages from .NET Applications
  • ACU - CLI tool for creating any type of Arphoon Package (currently the only way to do it)
  • ArphoonDokan - CLI tool that provides access to packages system-wide by mounting them to virtual drive letters. Powered by DokanFS for .NET by asakaw.
  • ArphoonDokanClient - Windows Forms tool similar to ArphoonDokan. Currently in development.
  • APE - CLI tool for extracting files from Arphoon Packages (single or multiple files)
  • APC - CLI tool for checking integrity of Arphoon Packages and validate its contents. Also runs automated performance tests on packages.

Requirements
  • .NET Framework 2.0
  • (optional) Dokan FS Driver for package mounting to virtual drive letters only

Planned Features
  • Full package Encryption
  • Fast lightweight data compression
  • Duplicated file detection at build time (Multiple copies will point to the same data, effectively reducing package size)
  • Ability to read and write Arphoon packages to physical devices (HDD, usb drives, etc) as partitions
  • Real package modification at runtime (Write support on the engine)

Planned Changes
  • Migrate all code from VB.NET to C# (soon)
  • Make ArphoonDokan and ArphoonDokanClient public (contacting DokanFS developer)
  • Better Exception handling (make library stop swallowing exceptions)


Actually working on
  • Optimizing package reading engine
  • Checking stability of different package protocols
  • Updating some CLI tools and preparing them for public release
  • Writting full Documentation on library and tools

Legal Stuff / Licensing
This library, its tools, resources and all the source code is licensed with...
Apache License. Version 2.0, January 2004. See License tab for details.

Last edited Feb 13 at 2:40 AM by kderazorback, version 8