Code Monkey home page Code Monkey logo

selfish's Introduction

Selfish

About Selfish

Selfish is a private file hosting system built on Laravel. It allows you to upload and manage files of any type to your personnal server and share them with automatically generated short-link.

Requirements

Selfish requires PHP 7, Composer and NPM 12.0+ to be installed.

Installation

$ git clone https://github.com/SlamaFR/Selfish.git .
$ composer install
$ npm install
$ npm run production
$ php artisan key:generate
$ php artisan route:cache
$ php artisan view:cache

You finally need to fulfill the .env file with your host URL, database credentials and SMTP server information.

Troubleshooting

If you get a 500 error when trying to connect to Selfish, you should check rights and, if needed, change ownership of files with:

$ sudo chown -R www-data:www-data *

If this did not solved the issue, you might want to double check database credentials in .env file and database user permissions.

Finally, if issue persists, you can set APP_DEBUG to true to display errors. You will be able to open an issue on this repository with error stack trace to get help.

User Management

Selfish supports user managment with admin role and disk quota. Every user has its own settings such as media display preferences and automatic deletion.

Disk Quota

You can define a global disk quota, or a custom quota for each user, to manage space used by Selfish on disk. Every user can choose to let Selfish delete oldest files when disk quota is exceeded in order to make space for new files.

Admin Role

Admin users can manage every other user and their files. Admins are able to change users password, promote, demote and delete anyone except super-user which is the first user created of ID 1.

Disclaimer: Super user cannot be deleted or demoted by anyone and should not be tampered from database!

Personnal Access token

Each user has a unique access token used to upload files using their identity. This token should NOT be shared with anyone and can be regenerated in case of leak.

ShareX integration

Selfish is meant to be used with ShareX! You can download a ShareX configuration on your settings page to easily integrate your Selfish server to ShareX. This integration requires a valid personnal access token.

Fork it!

This application is highly inspired by XBackBone, and so you can also fork this to tweak it as you want!

selfish's People

Contributors

dependabot[bot] avatar slamafr avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

vaimalaviya1233

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.