A self-hosted file sharing service built with ASP.NET Core and Angular.
Demo Site: https://conveyor.lucency.co
- .NET 5 SDK
- Node.js (latest)
- .NET 5 Runtime (with Hosting Bundle for hosting in IIS on Windows)
- SQL Server Express if
DbProvider
is set to SQLServer.- You can use either a normal instance or LocalDb. For LocalDb, the application pool must have "Load user profile" set to true in IIS.
- You must specify in appsettings.json a certificate to use for signing authentication tokens. It can be generated through the New-SelfSignedCertifcate cmdlet in PowerShell.
On first load, you will can upload and download files anonymously. The links are public (though not searchable), and the file descriptions are saved in localStorage (but not the file itself). Once you create an account, files that are in your browser's localStorage will be transferred to your account.
Create your own account via the Register link on the site's nav bar. Afterward, if you want to disable self-registration (so random people can't create accounts), set the AllowSelfRegistration option in appsettings.json to false.
Set the DataRetentionInDays option in appsettings.json to a number that suits you. Set to 0 to retain files indefinitely.
Upload files via the button or drag-and-drop.
Download and View links will only work while signed in to your account. To share files, create an authentication token on the Auth Tokens page. On the main page, choose the authentication token you created, and Share links will appear. Clicking them will copy the link to your clipboard, and the link will use the selected auth token.
You can also create authentication tokens for use by other apps (e.g. to add file sharing into an existing chat app).