Home
Softono

Gofi

Open source MIT TypeScript
342
Stars
50
Forks
0
Issues
7
Watchers
1 year
Last Commit

 About Gofi

Gofi (gəʊfi:) is a web file indexer written by golang

Platforms

Web Self-hosted Cloud

Languages

TypeScript

Need Help Installing Gofi?

We provide expert installation service for this software. Our team will install, configure, and secure Gofi on your server. plans start at just $30.

Gofi (Refactoring) · GitHub license

Refactoring in Progress

English | 简体中文

Gofi is a modern, open-source web file indexer and manager, featuring a fully refactored frontend and backend for enhanced security, usability, and maintainability.

✨ What's New in the Refactored Branch

  • Modern UI/UX: Frontend rebuilt with React, Vite, Tailwind CSS, and shadcn/ui. Unified, responsive, and accessible design.
  • Settings & File List Redesign: Settings page and file list page are fully modernized, with improved forms, toolbars, and interaction details.
  • Toolbar & Filtering: File list toolbar now supports icon-based filtering, floating search, and consistent view switching.
  • Internationalization: Full i18n support for English and Chinese, including error messages and UI.
  • Security & Auth: Backend authentication and permission system refactored for JWT, context-based user info, and robust error handling.
  • Configurable & Extensible: All key settings are environment-configurable. Backend and frontend are modular and easy to extend.
  • Performance Optimizations: Reduced redundant operations, improved database queries, and optimized logging.

📦 Project Structure

  • gofi-backend/ — Go backend (API, auth, config, i18n)
  • gofi-frontend/ — React frontend (UI, state, routes, i18n)
  • preview/ — Screenshots and logo

🚀 Quick Start

Recommended: One-Click Start

# Start backend
./backend.sh

# Start frontend
./frontend.sh

Build All (optional)

make

Manual Start (alternative)

Backend

cd gofi-backend
go run main.go

Frontend

cd gofi-frontend
pnpm install
pnpm dev

Visit: http://localhost:3000

🛠️ Configuration

Backend config via environment variables, e.g.:

export GOFI_JWT_SECRET="your-secret-key"
export GOFI_JWT_EXPIRE_HOURS="168"
export GOFI_ENABLE_DEBUG="false"

📝 Documentation

🖼️ Preview

preview1 preview2 preview3 preview4 preview5 preview6

📝 License

MIT