File size: 2,467 Bytes
9c827a9
ec4ef43
f39a207
 
 
9c827a9
 
3fd9cd9
9c827a9
ec4ef43
f39a207
9c827a9
 
fe77549
9c827a9
fe77549
9c827a9
fe77549
9c827a9
fe77549
 
 
 
 
9c827a9
fe77549
9c827a9
fe77549
9c827a9
fe77549
9c827a9
fe77549
 
 
 
 
9c827a9
fe77549
9c827a9
fe77549
9c827a9
fe77549
 
 
 
 
9c827a9
fe77549
9c827a9
fe77549
9c827a9
fe77549
 
9c827a9
fe77549
9c827a9
fe77549
 
 
 
 
9c827a9
fe77549
9c827a9
fe77549
9c827a9
fe77549
 
 
9c827a9
fe77549
9c827a9
fe77549
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
---
title: Xet Object Viewer
emoji: πŸ‘
colorFrom: purple
colorTo: indigo
sdk: static
pinned: false
app_build_command: pnpm run build:dist && ls -la
app_file: dist/index.html
license: mit
short_description: Display the contents of a xorb or a shard
---

# XORB & Shard File Viewer

A static web application built with Svelte that allows you to upload and analyze XORB or Shard object files to view their metadata structure.

## Features

- **File Upload**: Drag & drop or click to upload XORB and Shard files
- **Automatic Detection**: Automatically detects file type based on binary structure
- **Comprehensive Metadata Display**: Shows detailed information about file contents
- **Responsive Design**: Works on desktop and mobile devices
- **Error Handling**: Provides clear error messages for invalid files

## Supported File Types

### πŸ“¦ XORB Files

XORB (Xet Orb) files contain collections of compressed chunks with metadata. The viewer displays:

- Chunk count and sizes
- Compression ratios
- Hash information
- Boundary offsets
- Individual chunk details

### πŸ—‚οΈ Shard Files

MDB Shard files store file metadata and content-addressable storage information for efficient deduplication. The viewer shows:

- File information entries
- CAS (Content Addressable Storage) data
- Lookup tables
- Timestamps and security keys
- Header and footer details

## Development

### Prerequisites

- Node.js 18+
- pnpm (or npm/yarn)

### Setup

```bash
cd xorb-shard-viewer
pnpm install
pnpm run dev
```

The application will be available at `http://localhost:5173`

### Build for Production

```bash
pnpm run build
```

The static files will be generated in the `build` directory.

## File Format Support

The application implements binary parsers for:

- **XORB Format**: Based on the CAS object format with chunk compression and merkle hashing
- **Shard Format**: MDB shard file format v2 with header, footer, file info, and CAS info sections

## Architecture

- **Frontend**: Svelte + TypeScript
- **Parsing**: Custom binary parsers for both file formats
- **Styling**: Component-scoped CSS with responsive design
- **Type Safety**: Full TypeScript support with detailed type definitions

## Browser Compatibility

Works in all modern browsers that support:

- File API
- ArrayBuffer/Uint8Array
- ES2020+ features

## Security

- All file processing happens client-side
- No data is uploaded to any server
- Files are processed entirely in the browser's memory