Coder Social home page Coder Social logo

jsh32 / backpack Goto Github PK

View Code? Open in Web Editor NEW
61.0 5.0 9.0 14.58 MB

Highly performant and advanced self hosted file sharing platform made in Rust

License: MIT License

Shell 1.16% Rust 57.10% TypeScript 40.17% JavaScript 0.29% SCSS 0.12% Dockerfile 0.36% CSS 0.67% HTML 0.14%
files screenshot sharex s3 storage sharing storage-providers

backpack's Introduction


Backpack

Backpack is an open source file uploading and sharing tool that can be deployed easily to any docker environment. It aims to be extendable, easy to use, and support many storage providers and databases.

Providers

We aim to support many storage providers for backpack. This will allow you to have a choice in the storage medium you desire for storing your files. Currently supported file providers are listed below.

  • Local storage
  • S3 Protocol

Development

This project is in heavy development. It is not safe to use yet and is missing crucial features. Contributions are accepted and encouraged. There is no support in getting the project up and running right now because it is not ready.

Roadmap

I know we aren't even at the version one launch yet, but I have some features in mind for version two release. I'm going to list them below, so we have a log. So far, the goal of version one is basic pomf functionality.

  • Multiple language support
  • Paste support (hastebin, pastebin)
  • Plugin API (Basic scripting to add functionality/callbacks)
  • Multiple database support (PostgreSQL, MySQL, SQLite)
  • NextJS client and color themes.

backpack's People

Contributors

andressweeneyrios avatar dependabot[bot] avatar jsh32 avatar kakarot-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

backpack's Issues

Possible features

I had this project in mind and this is the closest project I've found so far. Take a look to see what features you could include in this project so I can help with those.

Scoped Resources and Profiles/Albums

Scoped resources

  • Admins may access all resources.
  • Users may access other user's resources unless otherwise stated by the specific route.
  • Listing/querying operations must be nested under a /user/{user_id}

Profiles/Albums

  • New albums table with name, id, public.
  • Modify file with public, album_id (optional).
  • Visible albums will show on user's profile in an ordered list/collection.
    • From public view, only public uploads will show.
  • When uploading a file, an optional public and album_id parameter can be specified
    • If public is not specified, it will use the public on the album_id provided
    • If neither parameter is provided, default to false (private).
  • From an outsiders viewpoint, only public uploads will show.
    • On top of the user's profile page will be a list of all public albums, below will be a paginatable list of all public uploads (with viewable information).
    • Clicking on an album expands to album view.
  • Default album view (none selected) will show all images ordered by query parameters.
  • Allow ordering by name with a LIKE query and upload_date and size with up/down arrow toggles.

Admin panel

Admin panel

  • Admin panel is able to be accessed by all admin users.
  • Its separated like settings panel but wider.
  • Has sections users, files, registration_keys, settings
    • Users contains a searchable list of users in a table (with all info)
      • Triple dot menu on the side of each user with options delete, open
        • This redirects to the normal user's profile page, this time since you have admin, it will allow you to see a delete button next to their username, as well as markers for which albums/files are public or private.
    • Files will contain a list of all files in a table, files can be opened and inspected through the normal file page menu.
      • Differences will include a visible garbage button and links to private albums.
    • Registration keys will contain a list of all existing registration keys as well as data.
      • This page should allow creation of new registration keys.
      • Keys can be viewed after creation.
    • Settings will contain a big form that allows changes to the service's settings table.
      • This means the name, description, and theming of the application

Image embedding on whatsapp

As much as i hate to say it, whatsapp is used too much ( my opinion )

Well anyway, i would like cdn to embed there too!!

Add kubernetes support

Allow running the API, distributed in kubernetes. Why? It's cool

Requirements

  • Only run api, front-end seperate
  • Run migrations in a helm chart to prevent concurrent migration runs
  • Dissalow local storage in kube (some people might be using rclone so don't actually do this)
  • Documentation on how to run (and how it works)

Anistream not working

@Riku32 you told that you would be working on anistream but still nothing has happened . Please make this app re-workable . Also please let this app be usable without using vpn .

Thnx

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.