mirror of https://github.com/MarceauKa/shaark.git
95 lines
4.3 KiB
Markdown
95 lines
4.3 KiB
Markdown
<p align="center">
|
|
<img width="256" height="256" src="https://raw.githubusercontent.com/MarceauKa/shaark/dev/public/images/logo-shaark.png" alt="Logo Shaark" />
|
|
</p>
|
|
|
|
**Shaark is a self-hosted platform to keep and share your content: web links, posts, passwords and pictures.**
|
|
|
|
All of your data can be **private, public or both** and can be browsed by **tags** or **all-in-one search**.
|
|
|
|
**Shaark** is production ready, inspired by [Shaarli](https://github.com/shaarli/Shaarli), built with [Laravel](https://github.com/laravel/laravel) and [Vue.js](https://vuejs.org/).
|
|
|
|
📌 [Roadmap for the next version](https://github.com/MarceauKa/shaark/issues/96) is available, we'd like to hear your feedback!
|
|
|
|
## Summary
|
|
|
|
[Features](#features) / [Demo](#demo) / [Documentation](#documentation) / [Contribute](#contribute) / [Security](#security) / [Tests](#tests) / [Licence](#licence)
|
|
|
|
## Features
|
|
|
|
- [x] Links : to keep your bookmarks (with health-checks)
|
|
- [x] Stories : posts with markdown flavored content
|
|
- [x] Chests : to save your passwords
|
|
- [x] Albums : to host your pictures
|
|
- [x] Rapid sharing extension and **P**rogressive **W**eb **A**pp
|
|
- [x] Tagging system, walls, search and RSS feeds
|
|
- [x] Private content or entirely private (with temp sharing)
|
|
- [x] Theming (dark mode, background)
|
|
- [x] i18n (🇬🇧, 🇫🇷, 🇩🇪, 🇯🇵 and 🇳🇱)
|
|
- [x] [Archiving](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md) (as pdf, as media)
|
|
- [x] DB encryption, 2-FA, Multi-users, [backup](https://github.com/MarceauKa/shaark/blob/dev/documentation/backup.md)
|
|
|
|
## Demo
|
|
|
|
![Homepage](/resources/screenshots/home.jpg?raw=true "Homepage")
|
|
|
|
A public demo is available at [https://shaark.mka.ovh](https://shaark.mka.ovh). Credentials are **shaark@example.com** and **secret**.
|
|
This demo is resetted hourly.
|
|
|
|
## Documentation
|
|
|
|
- [Installation](https://github.com/MarceauKa/shaark/blob/dev/documentation/installation.md): How to install Shaark
|
|
- [Troubleshooting](https://github.com/MarceauKa/shaark/blob/dev/documentation/troubleshooting.md): Common issues
|
|
- [Changelog](https://github.com/MarceauKa/shaark/blob/dev/changelog.md): Extensive changelog
|
|
- [Archiving](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md): How to run PDF and Media archiving
|
|
- [Backup](https://github.com/MarceauKa/shaark/blob/dev/documentation/backup.md): How to set up automatic backup
|
|
- [Comments](https://github.com/MarceauKa/shaark/blob/dev/documentation/comments.md): How comment system work
|
|
- [Dependencies](https://github.com/MarceauKa/shaark/blob/dev/documentation/dependencies.md): Dependencies used by Shaark
|
|
|
|
## Contribute
|
|
|
|
### Features and bugs
|
|
|
|
All contributions are welcome! Please use the `dev` branch for your pull requests.
|
|
If you make changes to JS, don't compile assets in production, I'll manually compile them when merging for security reasons.
|
|
|
|
### Translation
|
|
|
|
Shaark is actually available in 🇬🇧, 🇫🇷, 🇩🇪, 🇯🇵 and 🇳🇱. Feel free to make a pull request to add or update a localization.
|
|
You can see laravel base localizations [on this repo](https://github.com/caouecs/Laravel-lang).
|
|
|
|
## Security
|
|
|
|
If you find any **security issues**, please send me an email (can be found in composer.json).
|
|
|
|
### Global privacy
|
|
|
|
If you don't want your content being publicy accessible, you can update this preference once application is installed from settings section.
|
|
|
|
### 2-FA
|
|
|
|
You're able to active 2-FA (2 factors authentication). By default 2-FA is disabled but you can update it from your app settings.
|
|
Code length and code expiration are also configurable. **Test if you application can send emails before enabling this feature**.
|
|
|
|
### Auth monitoring
|
|
|
|
Shaark logs all successful and failed auths with their associated devices.
|
|
|
|
### Chests encryption
|
|
|
|
Since `1.2.9`, all chests data are encrypted in your database using AES-256-CBC and your app key.
|
|
|
|
### Multi-users
|
|
|
|
Others users can be admin or non-admin. Admin users are like the main user and have an access to the entire content.
|
|
Non-admin users can't access the settings section and can only see their own private content.
|
|
|
|
## Tests
|
|
|
|
1. Be sure to have a testing database with `touch database/testing.sqlite` and have composer `require-dev` dependencies installer.
|
|
2. Run testing server `php artisan serve --env=testing`.
|
|
3. Run tests ```php artisan dusk --env=testing```
|
|
|
|
## Licence
|
|
|
|
MIT
|