mirror of
				https://github.com/mickael-kerjean/filestash.git
				synced 2025-10-31 10:07:15 +08:00 
			
		
		
		
	feature (minio): integrate support for minio in the S3 backend - #62
This commit is contained in:
		| @ -2,7 +2,7 @@ | ||||
|  | ||||
| <p align="center"> | ||||
|     A Dropbox-like file manager that let you manage your data anywhere it is located:<br> | ||||
|     FTP • SFTP • WebDAV • Git • S3 <br> | ||||
|     FTP • SFTP • WebDAV • Git • S3 • Minio <br> | ||||
|         Dropbox • Google Drive | ||||
| </p> | ||||
| <p align="center"> | ||||
|  | ||||
| @ -67,7 +67,7 @@ export class Form extends React.Component { | ||||
|             if(credentials['webdav'] && credentials['webdav']['path']){ | ||||
|                 this.setState({advanced_webdav: true}); | ||||
|             } | ||||
|             if(credentials['s3'] && credentials['s3']['path']){ | ||||
|             if(credentials['s3'] && (credentials['s3']['path'] || credentials['s3']['endpoint'])){ | ||||
|                 this.setState({advanced_s3: true}); | ||||
|             } | ||||
|             if(credentials['git'] && ( | ||||
| @ -304,6 +304,9 @@ export class Form extends React.Component { | ||||
|                       <NgIf cond={this.should_appear('s3', 'path')}> | ||||
|                         <Input type={this.input_type('s3', 'path')} name="path" placeholder="Path" ref={(input) => {this.state.refs.s3_path = input; }} autoComplete="new-password" /> | ||||
|                       </NgIf> | ||||
|                       <NgIf cond={this.should_appear('s3', 'endpoint')}> | ||||
|                         <Input type={this.input_type('s3', 'endpoint')} name="endpoint" placeholder="Endpoint" ref={(input) => {this.state.refs.s3_endpoint = input; }} autoComplete="new-password" /> | ||||
|                       </NgIf> | ||||
|                     </NgIf> | ||||
|                     <Button type="submit" theme="emphasis">CONNECT</Button> | ||||
|                   </NgIf> | ||||
|  | ||||
| @ -56,6 +56,7 @@ module.exports = { | ||||
|             // access_key_id: 'my_access_key', | ||||
|             // secret_access_key: 'my_secret_key', | ||||
|             // advanced: false, | ||||
|             // endpoint: 'http://127.0.0.1:9000', // eg: your minio instance | ||||
|             // path: '/bucketname/' | ||||
|         }, | ||||
|         dropbox: {label: 'Dropbox'}, | ||||
|  | ||||
| @ -11,12 +11,18 @@ function decode(path){ | ||||
| } | ||||
|  | ||||
| function connect(params){ | ||||
|     var s3 = new AWS.S3({ | ||||
|     let config = { | ||||
|         apiVersion: '2006-03-01', | ||||
|         accessKeyId: params.access_key_id, | ||||
|         secretAccessKey: params.secret_access_key, | ||||
|         sslEnabled: true | ||||
|     }); | ||||
|         signatureVersion: 'v4', | ||||
|         s3ForcePathStyle: true, | ||||
|         //sslEnabled: true | ||||
|     }; | ||||
|     if(params.endpoint){ | ||||
|         config.endpoint = new AWS.Endpoint(params.endpoint); | ||||
|     } | ||||
|     var s3 = new AWS.S3(config); | ||||
|     return Promise.resolve(s3); | ||||
| } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Mickael KERJEAN
					Mickael KERJEAN