Mirror of MarceauKa/shaark@github.com
Go to file
MarceauKa 3858e1418c 🐛 Wall tag restriction 2020-01-06 21:32:27 +01:00
.github/workflows 💚 Github action workflow 2019-11-26 09:42:30 +01:00
app 🐛 Wall tag restriction 2020-01-06 21:32:27 +01:00
bootstrap 🎉 2019-08-22 20:12:37 +02:00
config Walls 2020-01-06 21:03:54 +01:00
database Walls 2020-01-06 21:03:54 +01:00
documentation Comments system 2019-11-24 18:59:14 +01:00
public 🐛 Fix wall creation and dark mode 2020-01-06 21:28:17 +01:00
resources 🐛 Fix wall creation and dark mode 2020-01-06 21:28:17 +01:00
routes Walls 2020-01-06 21:03:54 +01:00
storage 🚧 Locale settings 2019-08-29 16:33:17 +02:00
tests 🔧 LinkForm test 🔧 CI build with PHP 7.2 and 7.3 2019-11-26 09:27:32 +01:00
.editorconfig 🎉 2019-08-22 20:12:37 +02:00
.env.example ♻️ Laravel Shaarli is now Shaark #54 2019-11-14 12:49:44 +01:00
.env.testing ♻️ Laravel Shaarli is now Shaark #54 2019-11-14 12:49:44 +01:00
.gitattributes 🎉 2019-08-22 20:12:37 +02:00
.gitignore 🚧 Album 2019-11-05 14:09:08 +01:00
.styleci.yml 🎉 2019-08-22 20:12:37 +02:00
artisan 🎉 2019-08-22 20:12:37 +02:00
changelog.md 🔖 1.2.36 2020-01-06 21:12:44 +01:00
composer.json 🐛 Symfony dependencies 2019-11-24 19:46:00 +01:00
composer.lock 🚧 Walls 2020-01-03 19:02:31 +01:00
directory.md ♻️ Laravel Shaarli is now Shaark #54 2019-11-14 12:49:44 +01:00
package-lock.json 🔒 JS security update 📦 Laravel 6.6 2019-12-08 21:13:57 +01:00
package.json 🔒 JS security update 📦 Laravel 6.6 2019-12-08 21:13:57 +01:00
phpunit.dusk.xml 💚 Github action workflow 2019-11-26 09:42:30 +01:00
readme.md Walls 2020-01-06 21:03:54 +01:00
server.php 🎉 2019-08-22 20:12:37 +02:00
webpack.mix.js 🐛 Markdown editor will now load correct language pack 2019-11-07 11:29:26 +01:00

readme.md

Logo Shaark

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
  • 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 (🇬🇧, 🇫🇷, 🇩🇪, 🇯🇵)
  • Archiving (as pdf, as media)
  • DB encryption, 2-FA, Multi-users, backup

Demo

Homepage

A public demo is available at https://shaark.mka.ovh. Credentials are admin@example.com and secret. This demo is resetted hourly.

Documentation

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 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.

Your Shaark

You host your own Shaark public instance and you want to share it with other users? You can make a pull request to add it to our public listing located at directory.md.

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