ld 6604ecb026 feat(file): conceal file resource existence from other users
- feat: cross-user file access returns not-found instead of
  permission-denied
- fix: repository delete now only affects active rows and returns
  ErrNotFound when no row changes; repeated deletes yield not-found
- feat: parent directory operations (list, upload, create-dir, move)
  conceal ownership of other user's directories
- test: update handler, service, repository, and integration tests to
  assert not-found behavior for cross-user and missing file operations
2026-07-16 00:06:31 +08:00
2026-04-29 11:51:20 +08:00

MyGO

MyGO is a WebDisk (cloud drive) server, written in Go.

Current status: pre-alpha — basic JWT authentication and file transfer flows are available while their APIs and large-file behavior continue to evolve.


Roadmap

v0

  • CLI configuration management (mygo config)
  • User authentication (JWT)
  • Basic file upload / download / management (HTTP API)
  • Admin endpoints
  • WebDAV support

Future

  • Image server
  • Pastebin & code snippet editing in sharing
  • S3 storage backend
  • Nextcloud-compatible API

CLI

mygo is the backend entrypoint with these subcommands:

Command Description
mygo serve Start the backend server
mygo config Manage instance configuration
mygo status Show server status

Frontend

The frontend uses React + TypeScript and communicates with the backend via HTTP API. Its first milestone supports login, a root file list, single-file upload, and authenticated download. Frontend source is maintained in web/; see web/README.md for development, testing, and browser-debugging instructions.


Development

See docs/README.md for the server and Web documentation index. See AGENTS.md for behavioral conventions.

S
Description
MyGO: a webdisk written in Go. This is the server (backend) application.
Readme 691 KiB
Languages
Go 98.9%
TypeScript 0.9%
HTML 0.1%