Feature Request #49 : Custom Endpoint with S3-Based Uploading
- Wasabi Hot Cloud Storage has been converted to being a dynamic S3-based upload controller.merge-requests/63/head
parent
4eb68ee900
commit
8fe57162af
|
|
@ -230,12 +230,16 @@
|
|||
"User Not Found": "User Not Found",
|
||||
"Save Links to Database": "Save Links to Database",
|
||||
"Upload File": "Upload File",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint Address": "Endpoint Address",
|
||||
"Custom Endpoint": "Custom Endpoint",
|
||||
"Bucket": "Bucket",
|
||||
"Region": "Region",
|
||||
"Use Global Amazon S3 Video Storage": "Use Global Amazon S3 Video Storage",
|
||||
"Use Global Wasabi Hot Cloud Storage Video Storage": "Use Global Wasabi Hot Cloud Storage Video Storage",
|
||||
"Use Global Backblaze B2 Video Storage": "Use Global Backblaze B2 Video Storage",
|
||||
"Use Global WebDAV Video Storage": "Use Global WebDAV Video Storage",
|
||||
"S3-Based Network Storage": "S3-Based Network Storage",
|
||||
"Amazon S3 Upload Error": "Amazon S3 Upload Error",
|
||||
"Wasabi Hot Cloud Storage Upload Error": "Wasabi Hot Cloud Storage Upload Error",
|
||||
"accountId": "Account ID",
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@ module.exports = function(s,config,lang){
|
|||
}
|
||||
loadLib('loader')(s,config,lang)
|
||||
//cloud storage
|
||||
loadLib('s3based')(s,config,lang)
|
||||
loadLib('backblazeB2')(s,config,lang)
|
||||
loadLib('amazonS3')(s,config,lang)
|
||||
loadLib('webdav')(s,config,lang)
|
||||
loadLib('wasabi')(s,config,lang)
|
||||
//simple storage
|
||||
loadLib('sftp')(s,config,lang)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<% if(details.use_whcs!=='0'){ %>
|
||||
<div class="form-group-group forestgreen">
|
||||
<h4><%-lang['Wasabi Hot Cloud Storage']%></h4>
|
||||
<h4><%-lang['S3-Based Network Storage']%></h4>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang.Autosave%></span></div>
|
||||
<div><select class="form-control" detail="whcs_save" selector="autosave_whcs">
|
||||
|
|
@ -10,6 +10,19 @@
|
|||
</label>
|
||||
</div>
|
||||
<div class="autosave_whcs_input autosave_whcs_1">
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang['Endpoint']%></span></div>
|
||||
<div><select class="form-control" detail="use_whcs_size_limit" selector="h_whcs_endpoint">
|
||||
<option value=""><%- lang['Custom Endpoint'] %></option>
|
||||
<option value="s3.wasabisys.com" selected>s3.wasabisys.com</option>
|
||||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group h_whcs_endpoint_input h_whcs_endpoint_" style="display:none">
|
||||
<label><div><span><%-lang['Endpoint Address']%></span></div>
|
||||
<div><input class="form-control" detail="whcs_endpoint" placeholder="s3.wasabisys.com"></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang.Bucket%></span></div>
|
||||
<div><input class="form-control" detail="whcs_bucket" placeholder="Example : slippery-seal"></div>
|
||||
|
|
@ -44,9 +44,17 @@ module.exports = function(s,config,lang){
|
|||
if(userDetails.whcs_dir !== ''){
|
||||
userDetails.whcs_dir = s.checkCorrectPathEnding(userDetails.whcs_dir)
|
||||
}
|
||||
if(!userDetails.whcs_endpoint || userDetails.whcs_endpoint === ''){
|
||||
userDetails.whcs_endpoint = 's3.wasabisys.com'
|
||||
}
|
||||
var endpointSplit = userDetails.whcs_endpoint.split('.')
|
||||
if(endpointSplit.length > 1){
|
||||
endpointSplit.shift()
|
||||
}
|
||||
var locationUrl = endpointSplit.join('.')
|
||||
var AWS = new require("aws-sdk")
|
||||
s.group[e.ke].whcs = AWS
|
||||
var wasabiEndpoint = new AWS.Endpoint('s3.wasabisys.com')
|
||||
var wasabiEndpoint = new AWS.Endpoint(userDetails.whcs_endpoint)
|
||||
s.group[e.ke].whcs.config = new s.group[e.ke].whcs.Config({
|
||||
endpoint: wasabiEndpoint,
|
||||
accessKeyId: userDetails.whcs_accessKeyId,
|
||||
|
|
@ -67,7 +75,7 @@ module.exports = function(s,config,lang){
|
|||
var videoDetails = video.details
|
||||
}
|
||||
if(!videoDetails.location){
|
||||
videoDetails.location = video.href.split('wasabisys.com')[1]
|
||||
videoDetails.location = video.href.split(locationUrl)[1]
|
||||
}
|
||||
s.group[e.ke].whcs.deleteObject({
|
||||
Bucket: s.group[e.ke].init.whcs_bucket,
|
||||
Loading…
Reference in New Issue