Zipline

screenshot of Zipline
nextjs
react
scss
prisma

A ShareX/file upload server that is easy to use, packed with features, and with an easy setup!

Overview

This product is a ShareX/file upload server designed to be easy to use, feature-packed, and with a simple setup process. It includes various functionalities such as token-protected uploading, image compression, password-protected uploads, URL shortening, OAuth2 registration, two-factor authentication, user invites, file chunking, file deletion based on views, and more. It is built with Next.js & React, offering a configurable and fast platform for file management and sharing.

Features

  • Configurable & Fast: Easily customizable settings and high-speed performance.
  • Token protected uploading: Upload files securely with token protection.
  • Image uploading & compression: Conveniently upload and compress images.
  • Password Protected Uploads: Ensure files are securely uploaded with password protection.
  • URL Shortening: Shorten URLs for easier sharing.
  • Text uploading: Upload text files for sharing purposes.
  • Discord Embeds: Integration with Discord for embedding content.
  • Two-Factor authentication: Enhance security with Google Authenticator, Authy, etc.

Install & run with Docker

  1. Ensure Docker and docker-compose are installed on your system.
  2. After installation, edit the docker-compose.yml file and replace SECRET=changethis with a random string.
  3. Generate a secure string for the secret, which can be from a password manager or randomly generated.
  4. Run the command docker-compose up -d to initiate the installation process.
nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

scss
SCSS

SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.

prisma
Prisma

Prisma is a server-side library that helps developers read and write data to the database in an intuitive, efficient and safe way.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

Zustand

Zustand is a lightweight state management library for React that provides a simple and intuitive API for managing state in your application. It allows developers to easily create and manage global state, and provides a powerful set of tools for optimizing performance and improving developer productivity. Zustand is designed to be easy to use and easy to learn, making it a popular choice for developers of all skill levels.