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, built with Laravel and Vue.js.
Summary
Features / Demo / Documentation / Contribute / Security / Tests / Licence
Features
- Links : to keep your bookmarks (with health-checks)
- Stories : posts with markdown flavored content
- Chests : to save your passwords
- Albums : to host your pictures
- Rapid sharing extension and Progressive Web App
- Tagging system, walls, search and RSS feeds
- Private content or entirely private (with temp sharing)
- Theming (dark mode, background)
- i18n (
π¬π§ ,π«π· ,π©πͺ ,π―π΅ andπ³π± ) - Archiving (as pdf, as media)
- DB encryption, 2-FA, Multi-users, backup
Demo
A public demo is available at https://shaark.mka.ovh. Credentials are [email protected] and secret. This demo is resetted hourly.
Documentation
- Installation: How to install Shaark
- Troubleshooting: Common issues
- Changelog: Extensive changelog
- Archiving: How to run PDF and Media archiving
- Backup: How to set up automatic backup
- Comments: How comment system work
- Dependencies: 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
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
- Be sure to have a testing database with
touch database/testing.sqlite
and have composerrequire-dev
dependencies installer. - Run testing server
php artisan serve --env=testing
. - Run tests
php artisan dusk --env=testing
Licence
MIT