@@ -1,6 +1,6 @@ | |||||
# Contributing | # Contributing | ||||
### Objectives | ### Objectives | ||||
Head over to the [projects page](https://github.com/Foltik/Shimapan/projects/). Here you'll find all the current | |||||
Head over to the [projects page](https://github.com/Foltik/shrimpa/projects/). Here you'll find all the current | |||||
and upcoming objectives of the current project. If you have any ideas or suggestions, add it to the relevant | and upcoming objectives of the current project. If you have any ideas or suggestions, add it to the relevant | ||||
column in the project page and create an issue to discuss. | column in the project page and create an issue to discuss. | ||||
### Finding Work | ### Finding Work | ||||
@@ -91,20 +91,20 @@ angular.module('KeyCtrl', ['KeySvc', 'AuthSvc']).controller('KeyController', ['$ | |||||
'curl \\\n' + | 'curl \\\n' + | ||||
' -F key=' + $scope.currKey.key + ' \\\n' + | ' -F key=' + $scope.currKey.key + ' \\\n' + | ||||
' -F "file=@$1" \\\n' + | ' -F "file=@$1" \\\n' + | ||||
' https://shimapan.rocks/api/upload \\\n' + | |||||
' https://shrimpa.rocks/api/upload \\\n' + | |||||
' | grep -Po \'"\'"url"\'"\\s*:\\s*"\\K([^"]*)\'\n'; | ' | grep -Po \'"\'"url"\'"\\s*:\\s*"\\K([^"]*)\'\n'; | ||||
downloadData('text/x-shellscript', 'shimapan.rocks.sh', data); | |||||
downloadData('text/x-shellscript', 'shrimpa.rocks.sh', data); | |||||
}; | }; | ||||
$scope.downloadSharex = () => { | $scope.downloadSharex = () => { | ||||
const data = { | const data = { | ||||
RequestURL: 'https://shimapan.rocks/api/upload', | |||||
RequestURL: 'https://shrimpa.rocks/api/upload', | |||||
FileFormName: 'file', | FileFormName: 'file', | ||||
Arguments: { | Arguments: { | ||||
key: $scope.currKey.key | key: $scope.currKey.key | ||||
}, | }, | ||||
URL: '$json:url$' | URL: '$json:url$' | ||||
}; | }; | ||||
downloadData('text/json', 'shimapan.rocks.sxcu', JSON.stringify(data)); | |||||
downloadData('text/json', 'shrimpa.rocks.sxcu', JSON.stringify(data)); | |||||
}; | }; | ||||
}]); | }]); |
@@ -1,7 +1,7 @@ | |||||
var angular = require('angular'); | var angular = require('angular'); | ||||
var uirouter = require('angular-ui-router'); | var uirouter = require('angular-ui-router'); | ||||
var chart = require('angular-chart.js'); | var chart = require('angular-chart.js'); | ||||
var app = angular.module('shimapan-panel', ['ui.router', 'AuthSvc', 'KeySvc', 'InviteSvc', 'UserSvc', 'StatSvc', 'KeyCtrl', 'InviteCtrl', 'UserCtrl', 'NavCtrl', 'DashCtrl', 'PanelRoutes']); | |||||
var app = angular.module('shrimpa-panel', ['ui.router', 'AuthSvc', 'KeySvc', 'InviteSvc', 'UserSvc', 'StatSvc', 'KeyCtrl', 'InviteCtrl', 'UserCtrl', 'NavCtrl', 'DashCtrl', 'PanelRoutes']); | |||||
app.run(['$rootScope', '$state', '$stateParams', function($rootScope, $state, $stateParams) { | app.run(['$rootScope', '$state', '$stateParams', function($rootScope, $state, $stateParams) { | ||||
$rootScope.$state = $state; | $rootScope.$state = $state; |
@@ -1,52 +0,0 @@ | |||||
var angular = require('angular'); | |||||
angular.module('UploadComp', ['ngFileUpload', 'AuthSvc']).component('uploadComponent', { | |||||
templateUrl: '/views/shimapan/upload-form.html', | |||||
controller: ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) { | |||||
$scope.errToString = function (err) { | |||||
if (err === 'maxSize') | |||||
return "File too large."; | |||||
else | |||||
return err; | |||||
}; | |||||
$scope.uploadFiles = function (files, errorFiles) { | |||||
$scope.files = $scope.files ? $scope.files.concat(files) : files; | |||||
$scope.errorFiles = $scope.errorFiles ? $scope.errorFiles.concat(errorFiles) : errorFiles; | |||||
angular.forEach(files, function (file) { | |||||
file.upload = Upload.upload({ | |||||
url: '/api/upload', | |||||
method: 'POST', | |||||
file: file | |||||
}); | |||||
file.upload.then( | |||||
function (response) { | |||||
$timeout(function () { | |||||
file.result = response.data; | |||||
}); | |||||
}, | |||||
function (response) { | |||||
if (response.status !== 200) { | |||||
if (response.status === 401) { | |||||
file.$error = "Unauthorized."; | |||||
} else if (response.status === 403) { | |||||
file.$error = "Forbidden."; | |||||
} else { | |||||
file.$error = "Unknown error " + response.status; | |||||
} | |||||
var index = $scope.files.indexOf(file); | |||||
$scope.errorFiles.push(file); | |||||
$scope.files.splice(index, 1); | |||||
} | |||||
}, | |||||
function (evt) { | |||||
file.progress = Math.floor(Math.min(100.0, 100 * evt.loaded / evt.total)); | |||||
} | |||||
); | |||||
}); | |||||
}; | |||||
}], | |||||
controllerAs: 'vm' | |||||
}); |
@@ -23,4 +23,4 @@ angular.module('LoginComp', ['AuthSvc']).component('loginComponent', { | |||||
} | } | ||||
}; | }; | ||||
}] | }] | ||||
}); | |||||
}); |
@@ -1,7 +1,7 @@ | |||||
var angular = require('angular'); | var angular = require('angular'); | ||||
angular.module('RegisterComp', ['AuthSvc']).component('registerComponent', { | angular.module('RegisterComp', ['AuthSvc']).component('registerComponent', { | ||||
templateUrl: '/views/shimapan/register-form.html', | |||||
templateUrl: '/views/shrimpa/register-form.html', | |||||
controller: ['$scope', '$timeout', 'AuthService', function($scope, $timeout, AuthService) { | controller: ['$scope', '$timeout', 'AuthService', function($scope, $timeout, AuthService) { | ||||
$scope.register = function() { | $scope.register = function() { | ||||
AuthService.register($scope.username, $scope.password, $scope.invite).catch(function() { | AuthService.register($scope.username, $scope.password, $scope.invite).catch(function() { |
@@ -0,0 +1,55 @@ | |||||
var angular = require('angular'); | |||||
angular.module('UploadComp', ['ngFileUpload', 'AuthSvc']).component('uploadComponent', { | |||||
templateUrl: '/views/shrimpa/upload-form.html', | |||||
controller: ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) { | |||||
$scope.errToString = function (err) { | |||||
if (err === 'maxSize') | |||||
return "File too large."; | |||||
else | |||||
return err; | |||||
}; | |||||
$scope.uploadFiles = function (files, errorFiles) { | |||||
$scope.files = $scope.files ? $scope.files.concat(files) : files; | |||||
$scope.errorFiles = $scope.errorFiles ? $scope.errorFiles.concat(errorFiles) : errorFiles; | |||||
files.reduce((promise, file) => { | |||||
return promise.then(() => new Promise((resolve, reject) => { | |||||
file.upload = Upload.upload({ | |||||
url: '/api/upload', | |||||
method: 'POST', | |||||
file: file | |||||
}); | |||||
file.upload.then( | |||||
function (response) { | |||||
resolve(); | |||||
$timeout(function () { | |||||
file.result = response.data; | |||||
}); | |||||
}, | |||||
function (response) { | |||||
if (response.status !== 200) { | |||||
if (response.status === 401) { | |||||
file.$error = "Unauthorized."; | |||||
} else if (response.status === 403) { | |||||
file.$error = "Forbidden."; | |||||
} else { | |||||
file.$error = "Unknown error " + response.status; | |||||
} | |||||
var index = $scope.files.indexOf(file); | |||||
$scope.errorFiles.push(file); | |||||
$scope.files.splice(index, 1); | |||||
} | |||||
}, | |||||
function (evt) { | |||||
file.progress = Math.floor(Math.min(100.0, 100 * evt.loaded / evt.total)); | |||||
} | |||||
); | |||||
})); | |||||
}, Promise.resolve()); | |||||
}; | |||||
}], | |||||
controllerAs: 'vm' | |||||
}); |
@@ -1,4 +1,4 @@ | |||||
var angular = require('angular'); | var angular = require('angular'); | ||||
var ngFileUpload = require('ng-file-upload'); | var ngFileUpload = require('ng-file-upload'); | ||||
var ngclipboard = require('ngclipboard'); | var ngclipboard = require('ngclipboard'); | ||||
var app = angular.module('shimapan', ['ngFileUpload', 'ngclipboard', 'UploadComp', 'RegisterComp', 'LoginComp']); | |||||
var app = angular.module('shrimpa', ['ngFileUpload', 'ngclipboard', 'UploadComp', 'RegisterComp', 'LoginComp']); |
@@ -1,12 +1,12 @@ | |||||
{ | { | ||||
"Server": { | "Server": { | ||||
"port": 4433, | "port": 4433, | ||||
"hostname": "https://shimapan.rocks", | |||||
"hostname": "https://shrimpa.rocks", | |||||
"tls": true, | "tls": true, | ||||
"trustProxy": [] | "trustProxy": [] | ||||
}, | }, | ||||
"Database": { | "Database": { | ||||
"host": "mongodb://localhost:27017/shimapan" | |||||
"host": "mongodb://localhost:27017/shrimpa" | |||||
}, | }, | ||||
"Upload": { | "Upload": { | ||||
"path": "uploads", | "path": "uploads", | ||||
@@ -6,7 +6,7 @@ | |||||
"trustProxy": [] | "trustProxy": [] | ||||
}, | }, | ||||
"Database": { | "Database": { | ||||
"host": "mongodb://localhost:27017/shimapan-dev" | |||||
"host": "mongodb://localhost:27017/shrimpa-dev" | |||||
}, | }, | ||||
"Upload": { | "Upload": { | ||||
"path": "uploads-dev" | "path": "uploads-dev" | ||||
@@ -6,7 +6,7 @@ | |||||
"trustProxy": [] | "trustProxy": [] | ||||
}, | }, | ||||
"Database": { | "Database": { | ||||
"host": "mongodb://localhost:27017/shimapan-test" | |||||
"host": "mongodb://localhost:27017/shrimpa-test" | |||||
}, | }, | ||||
"Upload": { | "Upload": { | ||||
"path": "uploads-test" | "path": "uploads-test" | ||||
@@ -1,5 +1,5 @@ | |||||
{ | { | ||||
"name": "shimapan", | |||||
"name": "shrimpa", | |||||
"version": "1.0.0", | "version": "1.0.0", | ||||
"lockfileVersion": 1, | "lockfileVersion": 1, | ||||
"requires": true, | "requires": true, | ||||
@@ -310,6 +310,7 @@ | |||||
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", | "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", | ||||
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", | "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", | ||||
"dev": true, | "dev": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"kind-of": "^3.0.2", | "kind-of": "^3.0.2", | ||||
"longest": "^1.0.1", | "longest": "^1.0.1", | ||||
@@ -2574,7 +2575,7 @@ | |||||
}, | }, | ||||
"duplexer": { | "duplexer": { | ||||
"version": "0.1.1", | "version": "0.1.1", | ||||
"resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", | |||||
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", | |||||
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", | ||||
"dev": true | "dev": true | ||||
}, | }, | ||||
@@ -3635,7 +3636,8 @@ | |||||
}, | }, | ||||
"ansi-regex": { | "ansi-regex": { | ||||
"version": "2.1.1", | "version": "2.1.1", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"aproba": { | "aproba": { | ||||
"version": "1.2.0", | "version": "1.2.0", | ||||
@@ -3653,11 +3655,13 @@ | |||||
}, | }, | ||||
"balanced-match": { | "balanced-match": { | ||||
"version": "1.0.0", | "version": "1.0.0", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"brace-expansion": { | "brace-expansion": { | ||||
"version": "1.1.11", | "version": "1.1.11", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"balanced-match": "^1.0.0", | "balanced-match": "^1.0.0", | ||||
"concat-map": "0.0.1" | "concat-map": "0.0.1" | ||||
@@ -3670,15 +3674,18 @@ | |||||
}, | }, | ||||
"code-point-at": { | "code-point-at": { | ||||
"version": "1.1.0", | "version": "1.1.0", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"concat-map": { | "concat-map": { | ||||
"version": "0.0.1", | "version": "0.0.1", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"console-control-strings": { | "console-control-strings": { | ||||
"version": "1.1.0", | "version": "1.1.0", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"core-util-is": { | "core-util-is": { | ||||
"version": "1.0.2", | "version": "1.0.2", | ||||
@@ -3781,7 +3788,8 @@ | |||||
}, | }, | ||||
"inherits": { | "inherits": { | ||||
"version": "2.0.3", | "version": "2.0.3", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"ini": { | "ini": { | ||||
"version": "1.3.5", | "version": "1.3.5", | ||||
@@ -3791,6 +3799,7 @@ | |||||
"is-fullwidth-code-point": { | "is-fullwidth-code-point": { | ||||
"version": "1.0.0", | "version": "1.0.0", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"number-is-nan": "^1.0.0" | "number-is-nan": "^1.0.0" | ||||
} | } | ||||
@@ -3803,17 +3812,20 @@ | |||||
"minimatch": { | "minimatch": { | ||||
"version": "3.0.4", | "version": "3.0.4", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"brace-expansion": "^1.1.7" | "brace-expansion": "^1.1.7" | ||||
} | } | ||||
}, | }, | ||||
"minimist": { | "minimist": { | ||||
"version": "0.0.8", | "version": "0.0.8", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"minipass": { | "minipass": { | ||||
"version": "2.2.4", | "version": "2.2.4", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"safe-buffer": "^5.1.1", | "safe-buffer": "^5.1.1", | ||||
"yallist": "^3.0.0" | "yallist": "^3.0.0" | ||||
@@ -3830,6 +3842,7 @@ | |||||
"mkdirp": { | "mkdirp": { | ||||
"version": "0.5.1", | "version": "0.5.1", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"minimist": "0.0.8" | "minimist": "0.0.8" | ||||
} | } | ||||
@@ -3902,7 +3915,8 @@ | |||||
}, | }, | ||||
"number-is-nan": { | "number-is-nan": { | ||||
"version": "1.0.1", | "version": "1.0.1", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"object-assign": { | "object-assign": { | ||||
"version": "4.1.1", | "version": "4.1.1", | ||||
@@ -3912,6 +3926,7 @@ | |||||
"once": { | "once": { | ||||
"version": "1.4.0", | "version": "1.4.0", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"wrappy": "1" | "wrappy": "1" | ||||
} | } | ||||
@@ -3987,7 +4002,8 @@ | |||||
}, | }, | ||||
"safe-buffer": { | "safe-buffer": { | ||||
"version": "5.1.1", | "version": "5.1.1", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"safer-buffer": { | "safer-buffer": { | ||||
"version": "2.1.2", | "version": "2.1.2", | ||||
@@ -4017,6 +4033,7 @@ | |||||
"string-width": { | "string-width": { | ||||
"version": "1.0.2", | "version": "1.0.2", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"code-point-at": "^1.0.0", | "code-point-at": "^1.0.0", | ||||
"is-fullwidth-code-point": "^1.0.0", | "is-fullwidth-code-point": "^1.0.0", | ||||
@@ -4034,6 +4051,7 @@ | |||||
"strip-ansi": { | "strip-ansi": { | ||||
"version": "3.0.1", | "version": "3.0.1", | ||||
"bundled": true, | "bundled": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"ansi-regex": "^2.0.0" | "ansi-regex": "^2.0.0" | ||||
} | } | ||||
@@ -4072,11 +4090,13 @@ | |||||
}, | }, | ||||
"wrappy": { | "wrappy": { | ||||
"version": "1.0.2", | "version": "1.0.2", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
}, | }, | ||||
"yallist": { | "yallist": { | ||||
"version": "3.0.2", | "version": "3.0.2", | ||||
"bundled": true | |||||
"bundled": true, | |||||
"optional": true | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
@@ -6020,7 +6040,8 @@ | |||||
"version": "1.0.1", | "version": "1.0.1", | ||||
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", | "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", | ||||
"integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", | "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", | ||||
"dev": true | |||||
"dev": true, | |||||
"optional": true | |||||
}, | }, | ||||
"loose-envify": { | "loose-envify": { | ||||
"version": "1.4.0", | "version": "1.4.0", | ||||
@@ -6105,7 +6126,7 @@ | |||||
}, | }, | ||||
"map-stream": { | "map-stream": { | ||||
"version": "0.1.0", | "version": "0.1.0", | ||||
"resolved": "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", | |||||
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", | |||||
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", | "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", | ||||
"dev": true | "dev": true | ||||
}, | }, | ||||
@@ -6903,6 +6924,11 @@ | |||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"natives": { | |||||
"version": "1.1.6", | |||||
"resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", | |||||
"integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==" | |||||
}, | |||||
"negotiator": { | "negotiator": { | ||||
"version": "0.6.1", | "version": "0.6.1", | ||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", | ||||
@@ -10935,6 +10961,7 @@ | |||||
"version": "0.1.4", | "version": "0.1.4", | ||||
"bundled": true, | "bundled": true, | ||||
"dev": true, | "dev": true, | ||||
"optional": true, | |||||
"requires": { | "requires": { | ||||
"kind-of": "^3.0.2", | "kind-of": "^3.0.2", | ||||
"longest": "^1.0.1", | "longest": "^1.0.1", | ||||
@@ -11877,7 +11904,8 @@ | |||||
"longest": { | "longest": { | ||||
"version": "1.0.1", | "version": "1.0.1", | ||||
"bundled": true, | "bundled": true, | ||||
"dev": true | |||||
"dev": true, | |||||
"optional": true | |||||
}, | }, | ||||
"lru-cache": { | "lru-cache": { | ||||
"version": "4.1.3", | "version": "4.1.3", | ||||
@@ -13445,7 +13473,7 @@ | |||||
}, | }, | ||||
"pause-stream": { | "pause-stream": { | ||||
"version": "0.0.11", | "version": "0.0.11", | ||||
"resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", | |||||
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", | |||||
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", | "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", | ||||
"dev": true, | "dev": true, | ||||
"requires": { | "requires": { | ||||
@@ -14434,7 +14462,7 @@ | |||||
}, | }, | ||||
"split": { | "split": { | ||||
"version": "0.3.3", | "version": "0.3.3", | ||||
"resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz", | |||||
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", | |||||
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", | "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", | ||||
"dev": true, | "dev": true, | ||||
"requires": { | "requires": { | ||||
@@ -14534,7 +14562,7 @@ | |||||
}, | }, | ||||
"stream-combiner": { | "stream-combiner": { | ||||
"version": "0.0.4", | "version": "0.0.4", | ||||
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", | |||||
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", | |||||
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", | "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", | ||||
"dev": true, | "dev": true, | ||||
"requires": { | "requires": { | ||||
@@ -1,5 +1,5 @@ | |||||
{ | { | ||||
"name": "shimapan", | |||||
"name": "shrimpa", | |||||
"version": "1.0.0", | "version": "1.0.0", | ||||
"dependencies": { | "dependencies": { | ||||
"angular": "^1.7.5", | "angular": "^1.7.5", | ||||
@@ -31,7 +31,8 @@ | |||||
"passport-local-mongoose": "^5.0.1", | "passport-local-mongoose": "^5.0.1", | ||||
"sanitizer": "^0.1.3", | "sanitizer": "^0.1.3", | ||||
"type-is": "^1.6.16", | "type-is": "^1.6.16", | ||||
"vinyl-source-stream": "^2.0.0" | |||||
"vinyl-source-stream": "^2.0.0", | |||||
"natives": "^1.1.6" | |||||
}, | }, | ||||
"description": "A simple file sharing website.", | "description": "A simple file sharing website.", | ||||
"main": "index.js", | "main": "index.js", | ||||
@@ -69,6 +70,6 @@ | |||||
}, | }, | ||||
"repository": { | "repository": { | ||||
"type": "git", | "type": "git", | ||||
"url": "https://github.com/Foltik/shimapan" | |||||
"url": "https://github.com/Foltik/shrimpa" | |||||
} | } | ||||
} | } |
@@ -0,0 +1 @@ | |||||
body{background-color:#000;margin:0;color:#d3d3d3;font-family:Roboto,sans-serif}::-moz-focus-inner{border:0}.form{margin:50px auto;width:300px}.form h3{background-color:#000;border:2px solid #2a9fd6;border-radius:5px 5px 0 0;color:#eee;font-size:18px;padding:20px;margin:0;text-align:center;text-transform:uppercase}fieldset{border:2px solid #2a9fd6;border-top:none;margin:0;background:#000;border-radius:0 0 5px 5px;padding:20px;position:relative}fieldset:before{border-bottom:2px solid #2a9fd6;border-right:2px solid #2a9fd6;background-color:#000;content:"";width:8px;height:8px;left:50%;margin:-4px 0 0 -4px;position:absolute;top:0;transform:rotate(45deg) translateY(-2px)}.form input{display:block;font-size:14px;background:#000;color:#d3d3d3;border:1px solid #999;width:226px;padding:12px 12px;margin:auto auto 5px}button{background:#000;border:2px solid #2a9fd6;border-radius:4px;color:#d3d3d3;cursor:pointer;display:block;padding:10px 30px;margin:20px auto auto;transition:background .25s,border-color .25s}button:hover{background:#2a9fd6;color:#fff;text-decoration:none;outline:0}button.shake{background:#f66;border-color:#f66;color:#fff;animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;transform:translate3d(0,0,0);backface-visibility:hidden;perspective:1000px}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}} |
@@ -0,0 +1 @@ | |||||
body{background-color:#060606;color:#d3d3d3;font-family:Roboto,sans-serif;font-size:14px;height:100%;line-height:20px;margin:0;padding-top:20px;padding-bottom:40px}#container{max-width:700px;text-align:center;display:flex;flex-direction:column;margin:auto}a{color:#0078b4;text-decoration:none;transition:color .25s}a:active,a:focus,a:hover{color:#005580}h1{font-size:72px;font-weight:700}.upload{margin:60px 0}.btn{font-family:Roboto,sans-serif;background:#000;border:2px solid #2a9fd6;border-radius:4px;color:#d3d3d3;cursor:pointer;display:inline-block;font-size:24px;padding:28px 48px;transition:background-color .25s,width .5s,height .5s}.btn:hover{background-color:#2a9fd6;color:#fff;text-decoration:none;outline:0}:focus{outline:0}::-moz-focus-inner{border:0}#upload-filelist{list-style-type:none;margin:20px 50px;padding:0;text-align:left}#upload-filelist>li{margin-top:5px;overflow:hidden;display:flex}.list-name{margin-top:6px;overflow:hidden;max-width:70%;text-overflow:ellipsis;white-space:nowrap}.list-url{font-family:'Roboto Mono',monospace;margin-left:auto}.list-progress{margin:10px 30px 10px 30px;flex-grow:2}.list-url a{vertical-align:super;color:#5c5c5c}.list-url a:hover{color:#d3d3d3}.list-url-clipboard-btn{border:2px solid #222;height:32px;margin-left:5px;border-radius:3px;cursor:pointer;background-color:#5c5c5c;transition:background-color .25s}.list-url-clipboard-btn:focus,.list-url-clipboard-btn:hover{background-color:#ababab;outline:0}.list-err{font-family:'Roboto Mono',monospace;margin-left:auto;color:#f66;vertical-align:super}nav a,nav>ul{color:#32809f;list-style:none;margin:0;padding:0;text-align:center}nav>ul>li{display:inline-block;margin:0;padding:0;cursor:default}nav>ul>li:after{content:"|";margin:0 8px;opacity:.3}nav>ul>li:last-child:after{content:"";margin:0} |
@@ -0,0 +1 @@ | |||||
*{margin:0}body{background:#000}a{position:absolute;top:40px;left:48%;opacity:.1;height:30px;width:30px;z-index:100;cursor:default}a img{width:30px;height:30px}canvas{position:absolute;top:0;left:0}video{position:fixed;top:50%;left:50%;min-width:100%;min-height:100%;z-index:-100;transform:translateX(-50%) translateY(-50%);background-size:cover;transition:1s opacity}#buffer{display:none} |
@@ -0,0 +1 @@ | |||||
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);@import url(https://fonts.googleapis.com/css?family=Roboto);@import url(https://fonts.googleapis.com/css?family=Roboto+Mono);.sidebar-title{grid-row-start:1;grid-row-end:1;place-self:center;cursor:pointer;display:flex;justify-content:center;align-items:center;width:200px;height:60px}.sidebar-title span{color:#2a9fd6;font-size:20px;text-transform:uppercase;letter-spacing:6px}.sidebar{grid-row-start:2;grid-row-end:2}.nav li{cursor:pointer;display:flex;align-items:center}.nav li a{flex:1;outline:0;padding:20px 0 20px;margin-left:20px;font-size:14px;color:#666;text-decoration:none}.nav li span{background:#0d0d0d;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:20px}.nav-icon{font:14px fontawesome;color:#fff}.nav li a:hover{color:#fff}.nav li a.active{color:#fff}::-moz-focus-inner{border:0}.dash-row{display:flex;flex-wrap:nowrap;align-items:center}.dash-card{background:#020202;border-radius:4px;padding:30px;margin:5px;flex-grow:1;display:flex;align-items:center;justify-content:center;border:1px solid #2a9fd6}#dash-singlestats{flex-grow:1}.dash-card.dash-card-singlestat{justify-content:space-between}.dash-stat{align-self:flex-start;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.dash-stat-title{font-size:18px}.dash-stat-value{font-size:48px}.dash-stat-icon{color:#2a9fd6}.dash-card.dash-card-graph{width:100px}.keys{display:flex;flex-direction:row;flex-wrap:wrap}.key{background:#000;border:3px solid #2a9fd6;border-radius:5px;box-shadow:5px 5px 10px #000;margin:20px;width:300px;height:100px;cursor:pointer;display:flex;justify-content:flex-start;flex-direction:row;transition:box-shadow .2s;overflow:hidden}.key:hover{box-shadow:0 0 10px #eee}.key i{font-size:48px;margin:auto 0 auto 20px}.key span{font-size:16px;vertical-align:center;margin:auto;-moz-user-select:none;user-select:none}.key-name{color:#2a9fd6;font-family:'Roboto Mono',monospace}pre{overflow:auto;line-height:1.7em;font-family:'Roboto Mono',monospace;border:1px solid #666;border-radius:4px;display:block;padding:10px;font-size:14px;margin:10px 0;background:#222;color:#2a9fd6}#createKey{max-width:920px}.btn-del{text-transform:uppercase;border:2px solid #f66;color:#ccc}.btn-del:hover{background-color:#f66}#identifier{font-size:14px;background:#222;color:#d3d3d3;border:1px solid #666;border-radius:4px;padding:10px;margin:10px 0}th{text-transform:uppercase;font-weight:700;padding:10px}td{padding:10px}td input{vertical-align:middle}td label{margin-bottom:2px;padding-left:3px}em{text-transform:uppercase;font-weight:700}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body{font:12px Roboto,sans-serif;color:#eee;background:#020202}.container{display:grid;grid-template-columns:240px auto;grid-template-rows:60px auto;width:100vw;height:100vh}.view{grid-row-start:2;grid-column-start:2;background:#121212;padding:20px;border-left:1px solid #2a9fd6;border-top:1px solid #2a9fd6}.inner{display:flex;flex-direction:column}.modal,.modal-box{z-index:900}.modal-sandbox{position:fixed;width:100%;height:100%;top:0;left:0;background:0 0}.modal{display:none;position:fixed;width:100%;height:100%;left:0;top:0;background:#000;background:rgba(0,0,0,.8);overflow:auto}.modal-box{position:relative;width:80%;max-width:700px;margin:60px auto;animation-name:modalbox;animation-duration:.3s;animation-timing-function:ease}.modal-header{border:2px solid #2a9fd6;border-radius:8px 8px 0 0;display:flex;flex-direction:row;justify-content:space-between;padding:20px 40px;background:#000;color:#fff;overflow:hidden}.modal-body{border:2px solid #2a9fd6;border-top:none;background:#000;padding:30px}.modal-footer{display:flex;justify-content:flex-end;border:2px solid #2a9fd6;border-radius:0 0 8px 8px;border-top:none;background:#000;padding:20px}.close-modal{text-align:right;font-size:24px;cursor:pointer}@keyframes modalbox{0%{top:-250px;opacity:0}100%{top:0;opacity:1}}button{margin-left:20px;color:#d3d3d3;background:#000;border:2px solid #2a9fd6;border-radius:5px;padding:10px;cursor:pointer;transition:background-color .25s}button:hover{color:#fff;background-color:#2a9fd6;text-decoration:none;outline:0}::-moz-focus-inner{outline:0} |
@@ -1,21 +1,23 @@ | |||||
<!DOCTYPE html> | <!DOCTYPE html> | ||||
<html lang="en"> | <html lang="en"> | ||||
<head> | <head> | ||||
<meta charset="UTF-8"/> | |||||
<title>Shimapan</title> | |||||
<meta charset="utf-8"/> | |||||
<base href="/"/> | <base href="/"/> | ||||
<link rel="stylesheet" href="/css/home.css"/> | |||||
<title>Shrimpa</title> | |||||
<link rel="stylesheet" href="/css/home.min.css"/> | |||||
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"/> | <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"/> | ||||
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"/> | <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"/> | ||||
<script src="/js/shimapan.bundle.js"></script> | |||||
<script src="/js/shrimpa.bundle.js"></script> | |||||
</head> | </head> | ||||
<body ng-app="shimapan"> | |||||
<body ng-app="shrimpa"> | |||||
<div id="container"> | <div id="container"> | ||||
<h1>Shimapan~</h1> | |||||
<h1>Shrimpa~</h1> | |||||
<upload-component></upload-component> | <upload-component></upload-component> | ||||
<nav> | <nav> | ||||
<ul> | <ul> | ||||
<li><a href="/">Shimapan</a></li> | |||||
<li><a href="/">Shrimpa</a></li> | |||||
<li><a href="/panel">Panel</a></li> | <li><a href="/panel">Panel</a></li> | ||||
<li><a href="">Tools</a></li> | <li><a href="">Tools</a></li> | ||||
<li><a href="https://github.com/Foltik/shimapan">GitHub</a></li> | <li><a href="https://github.com/Foltik/shimapan">GitHub</a></li> | ||||
@@ -24,4 +26,4 @@ | |||||
</nav> | </nav> | ||||
</div> | </div> | ||||
</body> | </body> | ||||
</html> | |||||
</html> |
@@ -6,9 +6,9 @@ | |||||
<link href="/css/form.css" type="text/css" rel="stylesheet"/> | <link href="/css/form.css" type="text/css" rel="stylesheet"/> | ||||
<script src="/js/shimapan.bundle.js"></script> | |||||
<script src="/js/shrimpa.bundle.js"></script> | |||||
</head> | </head> | ||||
<body ng-app="shimapan"> | |||||
<body ng-app="shrimpa"> | |||||
<div id="container"> | <div id="container"> | ||||
<login-component></login-component> | <login-component></login-component> | ||||
</div> | </div> | ||||
@@ -9,9 +9,9 @@ | |||||
integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous"> | integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous"> | ||||
<script src="/js/shimapan.bundle.js"></script> | <script src="/js/shimapan.bundle.js"></script> | ||||
</head> | </head> | ||||
<body ng-app="shimapan-panel"> | |||||
<body ng-app="shrimpa-panel"> | |||||
<div class="container"> | <div class="container"> | ||||
<div class="sidebar-title" ng-click="$state.go('home')"><span>Shimapan</span></div> | |||||
<div class="sidebar-title" ng-click="$state.go('home')"><span>Shrimpa</span></div> | |||||
<div class="sidebar" ng-controller="NavController"> | <div class="sidebar" ng-controller="NavController"> | ||||
<ul class="nav"> | <ul class="nav"> | ||||
<li> | <li> | ||||
@@ -48,4 +48,4 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</body> | </body> | ||||
</html> | |||||
</html> |
@@ -21,7 +21,7 @@ | |||||
<pre>{{currKey.key}}</pre> | <pre>{{currKey.key}}</pre> | ||||
<br/> | <br/> | ||||
<p>This key can be used with any 3rd party program or service to upload to and manage your account | <p>This key can be used with any 3rd party program or service to upload to and manage your account | ||||
with Shimapan.</p> | |||||
with Shrimpa.</p> | |||||
<br/> | <br/> | ||||
<p>Download the <a href="" ng-click="downloadBash()">bash script</a> to upload files from the command line.</p> | <p>Download the <a href="" ng-click="downloadBash()">bash script</a> to upload files from the command line.</p> | ||||
<br/> | <br/> | ||||
@@ -75,4 +75,4 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | |||||
</div> |
@@ -6,9 +6,9 @@ | |||||
<link href="/css/form.css" type="text/css" rel="stylesheet"/> | <link href="/css/form.css" type="text/css" rel="stylesheet"/> | ||||
<script src="/js/shimapan.bundle.js"></script> | |||||
<script src="/js/shrimpa.bundle.js"></script> | |||||
</head> | </head> | ||||
<body ng-app="shimapan"> | |||||
<body ng-app="shrimpa"> | |||||
<div id="container"> | <div id="container"> | ||||
<register-component></register-component> | <register-component></register-component> | ||||
</div> | </div> | ||||
@@ -42,7 +42,7 @@ app.use(session({ | |||||
cookie: { | cookie: { | ||||
//secure: true, | //secure: true, | ||||
httpOnly: true, | httpOnly: true, | ||||
//domain: 'shimapan.rocks', | |||||
//domain: 'shrimpa.rocks', | |||||
maxAge: 1000 * 60 * 60 | maxAge: 1000 * 60 * 60 | ||||
} | } | ||||
})); | })); | ||||