├── Conveyor ├── ClientApp │ ├── src │ │ ├── assets │ │ │ ├── .gitkeep │ │ │ ├── transfer.png │ │ │ └── transfer.svg │ │ ├── api-authorization │ │ │ ├── login │ │ │ │ ├── login.component.css │ │ │ │ ├── login.component.html │ │ │ │ ├── login.component.spec.ts │ │ │ │ └── login.component.ts │ │ │ ├── logout │ │ │ │ ├── logout.component.css │ │ │ │ ├── logout.component.html │ │ │ │ ├── logout.component.spec.ts │ │ │ │ └── logout.component.ts │ │ │ ├── login-menu │ │ │ │ ├── login-menu.component.css │ │ │ │ ├── login-menu.component.spec.ts │ │ │ │ ├── login-menu.component.html │ │ │ │ └── login-menu.component.ts │ │ │ ├── api-authorization.module.spec.ts │ │ │ ├── authorize.guard.spec.ts │ │ │ ├── authorize.service.spec.ts │ │ │ ├── authorize.interceptor.spec.ts │ │ │ ├── authorize.guard.ts │ │ │ ├── api-authorization.module.ts │ │ │ ├── authorize.interceptor.ts │ │ │ ├── api-authorization.constants.ts │ │ │ └── authorize.service.ts │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── app │ │ │ ├── file-table │ │ │ │ ├── file-table.component.css │ │ │ │ └── file-table.component.html │ │ │ ├── app.component.html │ │ │ ├── models │ │ │ │ └── FileUpload.ts │ │ │ ├── app.component.ts │ │ │ ├── interfaces │ │ │ │ ├── FileDescription.ts │ │ │ │ └── AuthToken.ts │ │ │ ├── nav-menu │ │ │ │ ├── nav-menu.component.css │ │ │ │ ├── nav-menu.component.ts │ │ │ │ └── nav-menu.component.html │ │ │ ├── app.server.module.ts │ │ │ ├── home │ │ │ │ ├── home.component.css │ │ │ │ ├── home.component.ts │ │ │ │ └── home.component.html │ │ │ ├── app.module.ts │ │ │ └── auth-tokens │ │ │ │ ├── auth-tokens.component.html │ │ │ │ └── auth-tokens.component.ts │ │ ├── tsconfig.server.json │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ ├── tslint.json │ │ ├── browserslist │ │ ├── main.ts │ │ ├── test.ts │ │ ├── karma.conf.js │ │ ├── index.html │ │ ├── styles.css │ │ └── polyfills.ts │ ├── e2e │ │ ├── src │ │ │ ├── app.po.ts │ │ │ └── app.e2e-spec.ts │ │ ├── tsconfig.e2e.json │ │ └── protractor.conf.js │ ├── .editorconfig │ ├── .vscode │ │ ├── tasks.json │ │ └── launch.json │ ├── tsconfig.json │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── tslint.json │ └── angular.json ├── Pages │ ├── _ViewStart.cshtml │ ├── _ViewImports.cshtml │ ├── Error.cshtml.cs │ ├── Error.cshtml │ └── Shared │ │ ├── _CookieConsentPartial.cshtml │ │ ├── _LoginPartial.cshtml │ │ ├── _ValidationScriptsPartial.cshtml │ │ └── _Layout.cshtml ├── Areas │ └── Identity │ │ ├── Pages │ │ ├── Account │ │ │ ├── _ViewImports.cshtml │ │ │ ├── Manage │ │ │ │ ├── _ViewImports.cshtml │ │ │ │ ├── _ManageNav.cshtml │ │ │ │ ├── ManageNavPages.cs │ │ │ │ ├── EnableAuthenticator.cshtml │ │ │ │ └── EnableAuthenticator.cshtml.cs │ │ │ ├── Login.cshtml │ │ │ ├── Register.cshtml │ │ │ ├── Register.cshtml.cs │ │ │ └── Login.cshtml.cs │ │ ├── _ViewStart.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ValidationScriptsPartial.cshtml │ │ └── IdentityHostingStartup.cs ├── wwwroot │ ├── favicon.ico │ └── lib │ │ └── qr │ │ └── LICENSE ├── appsettings.Development.json ├── Models │ ├── ApplicationUser.cs │ ├── FileDescription.cs.d.ts │ ├── FileContent.cs │ ├── EventLog.cs │ ├── AuthenticationToken.cs │ └── FileDescription.cs ├── DTOs │ ├── AuthTokenDTO.cs │ └── FileDescriptionDTO.cs ├── Program.cs ├── appsettings.json ├── Properties │ └── launchSettings.json ├── Services │ └── ApplicationConfig.cs ├── Controllers │ ├── ConfigController.cs │ ├── OidcConfigurationController.cs │ ├── SampleDataController.cs │ ├── AuthTokenController.cs │ └── FileController.cs ├── Data │ ├── ApplicationDbContext.cs │ └── DataService.cs ├── Conveyor.csproj ├── .gitignore └── Startup.cs ├── LICENSE ├── Conveyor.sln ├── README.md ├── .gitattributes └── .gitignore /Conveyor/ClientApp/src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/api-authorization/login/login.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/api-authorization/logout/logout.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/api-authorization/login-menu/login-menu.component.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Conveyor/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/api-authorization/login/login.component.html: -------------------------------------------------------------------------------- 1 |
{{ message | async }}
-------------------------------------------------------------------------------- /Conveyor/ClientApp/src/api-authorization/logout/logout.component.html: -------------------------------------------------------------------------------- 1 |{{ message | async }}
-------------------------------------------------------------------------------- /Conveyor/Areas/Identity/Pages/Account/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Conveyor.Areas.Identity.Pages.Account 2 | -------------------------------------------------------------------------------- /Conveyor/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitbound/Conveyor/HEAD/Conveyor/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Conveyor/Areas/Identity/Pages/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | 2 | @{ 3 | Layout = "/Pages/Shared/_Layout.cshtml"; 4 | } 5 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /Conveyor/Areas/Identity/Pages/Account/Manage/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Conveyor.Areas.Identity.Pages.Account.Manage 2 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/assets/transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitbound/Conveyor/HEAD/Conveyor/ClientApp/src/assets/transfer.png -------------------------------------------------------------------------------- /Conveyor/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Conveyor 2 | @namespace Conveyor.Pages 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/app/file-table/file-table.component.css: -------------------------------------------------------------------------------- 1 | table { 2 | min-height: 5rem; 3 | } 4 | 5 | .blurred { 6 | filter: blur(3px); 7 | transition: .5s all; 8 | } -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 |
13 | Request ID: @Model.RequestId
14 |
19 | Swapping to the Development environment displays detailed information about the error that occurred. 20 |
21 |22 | The Development environment shouldn't be enabled for deployed applications. 23 | It can result in displaying sensitive information from exceptions to end users. 24 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 25 | and restarting the app. 26 |
27 | -------------------------------------------------------------------------------- /Conveyor/ClientApp/src/karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration file, see link for more information 2 | // https://karma-runner.github.io/1.0/config/configuration-file.html 3 | 4 | module.exports = function (config) { 5 | config.set({ 6 | basePath: '', 7 | frameworks: ['jasmine', '@angular-devkit/build-angular'], 8 | plugins: [ 9 | require('karma-jasmine'), 10 | require('karma-chrome-launcher'), 11 | require('karma-jasmine-html-reporter'), 12 | require('karma-coverage-istanbul-reporter'), 13 | require('@angular-devkit/build-angular/plugins/karma') 14 | ], 15 | client: { 16 | clearContext: false // leave Jasmine Spec Runner output visible in browser 17 | }, 18 | coverageIstanbulReporter: { 19 | dir: require('path').join(__dirname, '../coverage'), 20 | reports: ['html', 'lcovonly'], 21 | fixWebpackSourcePaths: true 22 | }, 23 | reporters: ['progress', 'kjhtml'], 24 | port: 9876, 25 | colors: true, 26 | logLevel: config.LOG_INFO, 27 | autoWatch: true, 28 | browsers: ['Chrome'], 29 | singleRun: false 30 | }); 31 | }; 32 | -------------------------------------------------------------------------------- /Conveyor/Pages/Shared/_CookieConsentPartial.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Http.Features 2 | 3 | @{ 4 | var consentFeature = Context.Features.GetTransfer files via a secure API, or share files easily in your browser.
10 |Try now by dropping files here, or clicking Upload!
12 |13 | 14 | Upload 15 |
16 |21 | Tip: Sign in to save your files across devices. 22 |
23 |To use an authenticator app go through the following steps:
12 |15 | Download a two-factor authenticator app like Microsoft Authenticator for 16 | Windows Phone, 17 | Android and 18 | iOS or 19 | Google Authenticator for 20 | Android and 21 | iOS. 22 |
23 |Scan the QR Code or enter this key @Model.SharedKey into your two factor authenticator app. Spaces and casing do not matter.
26 | 27 | 28 |31 | Once you have scanned the QR code or input the key above, your two factor authentication app will provide you 32 | with a unique code. Enter the code in the confirmation box below. 33 |
34 |53 | There are no external authentication services configured. See this article 54 | for details on setting up this ASP.NET application to support logging in via external services. 55 |
56 || 22 | | 23 |
24 | Description
25 | |
28 |
29 | Token
30 | |
33 |
34 | Date Created
35 | |
38 |
39 | Last Used
40 | |
43 | Last IP | 44 |Delete | 45 |
|---|---|---|---|---|---|---|
| 50 | 52 | | 53 |
54 |
55 | {{authToken.description}}
56 |
57 |
59 | |
60 | {{authToken.token}} | 61 |{{authToken.dateCreated}} | 62 |{{authToken.lastUsed ? authToken.lastUsed : ""}} | 63 |{{authToken.lastUsedIp}} | 64 |65 | 66 | | 67 |
| 45 | |
46 | Filename
47 | |
49 |
50 | Date Uploaded
51 | |
53 |
54 | Size (KB)
55 | |
57 | Access Links | 58 |Delete Link | 59 |
|---|---|---|---|---|---|
| 64 | 66 | | 67 |{{fileDescription.fileName}} | 68 |{{fileDescription.dateUploaded}} | 69 |{{fileDescription.sizeInKb}} | 70 |71 | Download 72 | 73 | | 74 | 75 | 76 | | 77 | 78 | | 79 |80 | |