Table des matières

You want to share the links you discover ? Shaarli is a minimalist delicious clone you can install on your own website. It is designed to be personal (single-user), fast and handy.

Features

Requires php 5.1

Screenshots

Browsing:
QR-Code on a permalink:
"Shaarli Daily" (links of the day):
Tag cloud:
Picture wall:
Adding a link:
Tools (configure,import/export,tag rename…):

Online example

My own instance: https://sebsauvage.net/links/

(Note that the admin interface is not available.)

Download

Note: I do not have enough time to maintain this project right now. You will find a more up-to-date fork of this project at https://github.com/shaarli/Shaarli. Please use this fork for requests/bug/latest updates…

Licence

Shaarli is under the zlib/libpng OSI licence.

Credits

Installation

  1. Create a directory on your webserver
  2. Put the content of the zip file in this directory
  3. Access this URL in your browser
  4. Choose login, password, timezone and page title. Save. 1)

Done ! Now you can login and start sharing links.

Notes

Usage

Adding the Shaarli button to your browser

This bookmarklet button in compatible with Firefox, Opera, Chrome and Safari. Under Opera, you can't drag'n drop the button: You have to right-click on it and add a bookmark to your personal toolbar.

You are reading an interesting page you want to share ?

You can also check the "Private" box so that the link is saved but only visible to you.

Tips

FAQ

Why did you create Shaarli ?

I was a StumblUpon user. Then I got fed up with they big toolbar. I switched to delicious, which was lighter, faster and more beautiful. Until Yahoo bought it. Then the export API broke all the time, delicious became slow and was ditched by Yahoo. I switched to Diigo, which is not bad, but does too much. And Diigo is sslllooooowww and their Firefox extension a bit buggy. And… oh… their Firefox addon sends to Diigo every single URL you visit (Don't believe me ? Use "Tamper Data" and open any page).

Enough is enough. Saving simple links should not be a complicated heavy thing. I ditched them all and wrote my own: Shaarli. It's simple, but it does the job and does it well. And my data is not hosted on a foreign server, but on my server.

What use Shaarli and not Delicious/Diigo ?

With Shaarli:

Exporting from Diigo

If you export your bookmark from Diigo, make sure you use the Delicious export, not the Netscape export. (Their Netscape export is broken, and they don't seem to be interested in fixing it.)

How do I upgrade Shaarli ?

Delete all files and directories except the data directory, then unzip the new version of Shaarli.

You will not lose your links and you will not have to reconfigure it.

How do I backup my Shaarli database ?

You have two ways of backing up your database:

or

My session expires ! I can't stay logged in

This can be caused by several things:

If you want to disable the session cookie hijacking protection, change the following line:

    if (empty($_SESSION['uid']) || $_SESSION['ip']!=allIPs() || time()>=$_SESSION['expires_on'])

to

    if (empty($_SESSION['uid']) || time()>=$_SESSION['expires_on'])

I have a problem

Dates are not properly formatted

Shaarli tries to sniff the language of the browser (using HTTP_ACCEPT_LANGUAGE headers) and choose a date format accordingly. But Shaarli can only use the date formats (and more generaly speaking, the locales) provided by the webserver. So even if you have a browser in French, you may end up with dates in US format (it's the case on sebsauvage.net :-( )

I forgot my password !

Delete the file data/config.php and display the page again. You will be asked for a new login/password.

What does Shaarli mean ?

Shaarli is for shaaring your link.

Why not use a real database ? Files are slow !

Do browsing this page feel slow ? Try browsing older pages, too.

It's not slow at all, is it ? And don't forget the database contains more than 16000 links, and it's on a shared host, with 32000 visitors/day for my website alone. And it's still damn fast. Why ?

The data file is only 3.7 Mb. It's read 99% of the time, and is probably already in the operation system disk cache. So generating a page involves no I/O at all most of the time.

Technical details

In-source configuration

Some parameters can be configured by creating a .php file. Change at your own risks.

To change the configuration, create the file data/options.php, example:

options.php
<?php
$GLOBALS['config']['LINKS_PER_PAGE'] = 30;
$GLOBALS['config']['HIDE_TIMESTAMPS'] = true;
$GLOBALS['config']['ENABLE_THUMBNAILS'] = false;  
?>

The following parameters are available (parameters (default value)):

Directory structure

Here is the directory structure of Shaarli and the purpose of the different files:

History

See the history of versions in this page.

Ideas/Fixme

The list of ideas and bugs are listed in this page.

If you want to signal a bug or propose a feature, please do it in the discussion below.

Discussion

If you have a bug report or a new feature suggestion, please add them in the GitHub issue tracker.

Alternatively, you can find older discussions about Shaarli in this page (This discussion is closed.)

1)
Under php 5.1, you will not have the Timezone selection dropdown.