Skip to content

A GUI AWS S3 file manager. It supports keyword search, download, upload and preview video.

License

Notifications You must be signed in to change notification settings

kelp404/electron-s3-file-manager

Repository files navigation

electron-s3-file-manager

A GUI AWS S3 file manager. It supports keyword search, download, upload and preview video.

search

Installation

Go to release page.

Amazon S3 pricing

https://aws.amazon.com/s3/pricing/

Create AWS S3 bucket

This project uses Access Key to access your S3 bucket, so enable "Block all public access" is ok.
https://aws.amazon.com/getting-started/hands-on/backup-files-to-amazon-s3/

Create access key

https://objectivefs.com/howto/how-to-get-amazon-s3-keys

Ths policy example:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::your-bucket",
                "arn:aws:s3:::your-bucket/*"
            ],
            "Condition": {
                "ForAnyValue:IpAddress": {
                    "aws:SourceIp": [
                        "0.0.0.0/0"
                    ]
                }
            }
        }
    ]
}

You can set ip whitelist at "aws:SourceIp".

Development

Run in development mode

git clone https://github.com/kelp404/electron-s3-file-manager.git
cd electron-s3-file-manager
npm install
npm start

Generate dark theme stylesheet

1. Disable dark mode.

Remove utils.loadStylesheet('dark-theme.css'); at render-process/index.js.

2. Add darkreader at renderer-process/index.js.

const darkreader = require('darkreader');

darkreader.enable({
	brightness: 100,
	contrast: 90,
	sepia: 10,
});
darkreader.exportGeneratedCSS().then(console.log);

Make database schema migration

1. Update models at src/main-process/models/data/*.js

2. Make migration script

npm run makemigration

Run database schema migration scripts

npm run runmigration