https://github.com/a8851625/s3manager
A web-based S3 file manager with Deno backend. Features: bucket/file management (list/create/delete), multi-file upload, folder operations, and AWS credential authentication. Runs locally with security-first design - credentials stay on your machine. Lightweight, Docker-ready
https://github.com/a8851625/s3manager
deno minio s3 ui
Last synced: about 2 months ago
JSON representation
A web-based S3 file manager with Deno backend. Features: bucket/file management (list/create/delete), multi-file upload, folder operations, and AWS credential authentication. Runs locally with security-first design - credentials stay on your machine. Lightweight, Docker-ready
- Host: GitHub
- URL: https://github.com/a8851625/s3manager
- Owner: a8851625
- Created: 2025-06-24T10:16:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-25T03:52:12.000Z (about 1 year ago)
- Last Synced: 2025-07-01T17:07:27.591Z (12 months ago)
- Topics: deno, minio, s3, ui
- Language: HTML
- Homepage:
- Size: 180 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# S3 Manager (Deno Backend)
A web-based interface for managing AWS S3 buckets and objects with a Deno backend.

## Features
- **Bucket Management**:
- List all S3 buckets in your account
- Create new buckets
- Navigate through bucket contents
- Delete buckets (when empty)
- **File Operations**:
- Browse files and folders
- Upload multiple files via drag-and-drop or file selection
- Create new folders
- Delete files and folders
- View file details (size, last modified)
- **Authentication**:
- Connect using AWS credentials (access key + secret key)
- Supports custom S3-compatible endpoints
- Credentials persisted locally (optional)
- Supports all AWS regions
## Security Notice
⚠️ **Important Security Information**
Your AWS credentials will be sent to a locally running Deno backend. Please ensure:
- The backend environment is secure
- Never expose the backend to public networks
- Use minimal required permissions for your access key
## Getting Started
### Prerequisites
- [Deno](https://deno.land/) installed on your system
- AWS credentials with appropriate S3 permissions
### Installation
1. Clone this repository
2. Start the Deno backend server:
```bash
deno run --allow-net --allow-env server.ts
```
3. Open `index.html` in your web browser
### Configuration
Configure your AWS credentials either:
- Directly in the web interface
- By setting environment variables for the Deno backend:
```
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION (optional)
AWS_ENDPOINT (for S3-compatible services)
```
## Architecture
```
Frontend (HTML/CSS/JS) ←HTTP→ Deno Backend ←AWS SDK→ AWS S3
```
- **Frontend**: Pure client-side web interface
- **Backend**: Deno server handling:
- Authentication
- S3 API calls
- File upload processing
- Security validation
## Usage
1. Connect with your AWS credentials
2. Browse buckets and files
3. Perform operations using:
- Main toolbar buttons
- Right-click context menu (future)
- Keyboard shortcuts (future)
## Development
To extend this project:
```bash
# Run development server with watch mode
deno run --allow-net --allow-sys --allow-env --allow-read --allow-write src/main.ts
```
For Docker development:
# Build with development flags
```
docker build -t s3-manager-dev .
# Run with volume mounting for live reload
docker run -p 8000:8000 -v $(pwd):/app s3-manager-dev
```
Features to consider adding:
- File previews
- Batch operations
- Permission management
- Sharing URLs
- Search functionality
## License
MIT License - See [LICENSE](LICENSE) for details.
```
Notes:
1. You might want to add an actual screenshot as `screenshot.png`
2. Adjust the backend filename (`server.ts`) to match your actual implementation
3. Add any additional security considerations specific to your implementation
4. The structure follows standard open-source project documentation practices
5. Consider adding a CONTRIBUTING.md if you want others to contribute