Skip to content

Trid UI is a lightweight desktop application that provides a user-friendly interface for TrID, a powerful tool for scanning and analyzing files.

License

Notifications You must be signed in to change notification settings

JMcrafter26/TridUI

Repository files navigation

TrID UI Icon

TrID UI

TrID UI Demonstration

EnglishDeutschEspañolFrançaisItaliano日本語PolskiPortuguêsРусский简体中文

TrID UI is a lightweight desktop application that provides a user-friendly interface for TrID, a powerful tool for scanning and analyzing files. With TrID UI, users can easily select or drop files on the Home screen to initiate local scans, making it convenient to detect unrecognized filetypes.

The application uses a native Go implementation of the TrID file identification algorithm, providing fast and accurate file type detection without external dependencies.

Tip

Download TridUI from the Releases Page

GitHub go.mod Go version GitHub release (latest by date) GitHub issues Actions Status

Features

  • 🚀 Fast native Go-based file scanning
  • 🎯 Accurate file type identification using TrID definitions
  • 💻 Cross-platform desktop application (Windows, macOS, Linux)
  • 🔒 100% local processing - no data leaves your computer
  • 🎨 Modern, intuitive user interface
  • 📊 Detailed match results with confidence scores
  • 🔄 Drag-and-drop file support
  • 🔁 Automatic definitions updates with one click
  • 📅 Track last update date and definition count

Table of Contents

Click to expand

Demonstration and Screenshots

Demonstration Videos

Click to expand
demo.mp4
first.install.mp4
scan.mp4
unknown.mp4
settings.mp4
about.mp4
top.bar.mp4

Screenshots

TrID UI Screenshot 1 TrID UI Screenshot 2 TrID UI Screenshot 2
Show more TrID UI Screenshot 4 TrID UI Screenshot 5 TrID UI Screenshot 5 TrID UI Screenshot 3 TrID UI Screenshot 5

Setup

Tip

You can find the pre-built binaries on the Releases Page.

Prerequisites

The application can automatically download and update the TrID definitions file for you!

Option 1: Automatic Download (Recommended)

  1. Launch TrID UI
  2. Go to Settings
  3. Click "Download Definitions" or "Check for Updates"
  4. The app will automatically download and install the latest definitions

Option 2: Manual Installation

  1. Download the TrID definitions file (triddefs.trd) from Mark0.net
  2. Place the triddefs.trd file in your application data directory:
    • Windows: %APPDATA%\TridUI\triddefs.trd
    • macOS: ~/Library/Application Support/TridUI/triddefs.trd
    • Linux: ~/.local/share/TridUI/triddefs.trd

You can use the "Open App Dir" button in Settings to navigate to the correct location.

Building from Source

📖 Full build documentation: See build/README.md for detailed instructions and troubleshooting.

Quick Build:

# Windows
.\build\build-windows.bat

# macOS
chmod +x build/build-darwin.sh && ./build/build-darwin.sh

# Linux
chmod +x build/build-linux.sh && ./build/build-linux.sh

What the build scripts do:

  • ✅ Validate prerequisites (Go 1.22+, Wails CLI, Node.js, pnpm)
  • ✅ Check system dependencies
  • ✅ Detect optional tools (UPX, NSIS, create-dmg)
  • ✅ Auto-detect architecture
  • ✅ Create distributable packages

Minimum Requirements:

  • Go 1.22+ • Node.js 20+ • pnpm 10+ • Wails CLI

Install Wails CLI:

go install github.com/wailsapp/wails/v2/cmd/wails@latest

Output locations:

  • Windows: build/bin/windows/TridUI-win-{arch}.exe
  • macOS: build/bin/darwin/TridUI-macOS-{arch}.dmg (+ .app, .zip)
  • Linux: build/bin/linux/TridUI-linux-{arch}

Usage

  1. Launch TrID UI
  2. Click or drag-and-drop a file onto the interface
  3. View the scan results with confidence scores
  4. The best match is highlighted at the top
  5. Additional possible matches are listed below

Technical Details

Architecture

  • Backend: Go (Wails framework)
  • Frontend: SvelteKit + TypeScript + DaisyUI (& Tailwind CSS)
  • TrID Engine: Pure Go implementation (/trid package)

TrID Scanner Implementation

The TrID scanner (/trid/trid.go) is a clean-room Go implementation that:

  • Parses TRD (TrID Definition) files using the binary format specification
  • Performs pattern matching at specified file offsets
  • Supports string matching for enhanced accuracy
  • Calculates confidence scores based on pattern weights
  • Returns ranked results with detailed file type information

You can find the TRD format specification on Mark0.net.

License and Attribution

TrID UI is open-source software licensed under the GNU AGPLv3 license. The UI is developed by Cufiy (aka JMcrafter26 - me) and is based on TrID by Marco Pontello. Please refer to the LICENSE file for more details.

The trid.go scanner is a clean-room Go implementation by JMcrafter26 and is licensed under the GNU AGPLv3 license.

The app icon is based on eye icon by icons8.com

Contributing

Contributions are welcome! If you'd like to contribute to TrID UI, please fork the repository and submit a pull request with your changes. For major changes, please open an issue first to discuss what you would like to change.

Translations

TrID UI needs your help to reach a wider audience! The current translations are machine-generated and may contain inaccuracies.

If you'd like to contribute translations, please follow these steps:

  1. Fork the repository
  2. Create a new branch for your translation
  3. Add your translation files to the translations directory
  4. Submit a pull request with your changes

Thank you for helping us make TrID UI accessible to more users!

About

Trid UI is a lightweight desktop application that provides a user-friendly interface for TrID, a powerful tool for scanning and analyzing files.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •