Your place to archive your links, stories, passwords and archive your content.
Laravel Shaarli 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.
- Links : to keep your bookmarks
- 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, search and RSS feeds
- Private content or entirely private (with temp sharing)
- Export / Import (even original Shaarli)
- Theming (dark mode, background)
- i18n (🇬🇧, 🇫🇷, 🇩🇪, 🇯🇵)
- Archiving (as pdf, as media)
- DB encryption, 2-FA, Multi-users, backup
See the extensive installation documentation.
Each link you share can be archived the way you want:
Puppeteer will be used by default to save the webpage as a PDF.
Learn more in the archiving documentation.
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.
Shaarli is actually available in English, French and German. Feel free to make a pull request to add or update a localization. You can see laravel base localizations on this repo.
You host your own Shaarli public instance and you want to share it with other Shaarliers? You can make a pull request to add it to our public listing located at shaarlies.md.
If you find any security issues, please send me an email (can be found in composer.json).
If you don't want your content being publicy accessible, you can update this preference once application is installed from settings section.
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.
Shaarli logs all successful and failed auths with their associated devices.
1.2.9, all chests data are encrypted in your database using AES-256-CBC and your app key.
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.
All of frequent issues are answered in our troubleshooting guide.
- Be sure to have a testing database with
touch database/testing.sqliteand have composer
- Run testing server
php artisan serve --env=testing.
- Run tests
php artisan dusk --env=testing