Merge branch 'master' into js-unit-testing
This commit is contained in:
commit
30993d8763
|
@ -35,5 +35,4 @@ If you have access to the server log files, also copy them here.
|
||||||
<!-- The version of PrivateBin, if you use an unstable version paste the commit hash or the GitHub link to the commit here (you can get it by running `git rev-parse HEAD`) -->
|
<!-- The version of PrivateBin, if you use an unstable version paste the commit hash or the GitHub link to the commit here (you can get it by running `git rev-parse HEAD`) -->
|
||||||
**PrivateBin version:**
|
**PrivateBin version:**
|
||||||
|
|
||||||
* I can reproduce this issue on <https://privatebin.net>: Yes / No
|
I can reproduce this issue on <https://privatebin.net>: Yes / No
|
||||||
|
|
||||||
|
|
150
INSTALL.md
150
INSTALL.md
|
@ -1,149 +1 @@
|
||||||
# Installation
|
For installation instructions, see [our wiki](https://github.com/PrivateBin/PrivateBin/wiki/Installation).
|
||||||
|
|
||||||
**TL;DR:** Download the
|
|
||||||
[latest release archive](https://github.com/PrivateBin/PrivateBin/releases/latest)
|
|
||||||
and extract it in your web hosts folder where you want to install your PrivateBin
|
|
||||||
instance. We try to provide a safe default configuration, but we advise you to
|
|
||||||
check the options and adjust them as you see fit.
|
|
||||||
|
|
||||||
## Basic installation
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
- PHP version 5.4 or above
|
|
||||||
- _one_ of the following sources of cryptographically safe randomness is required:
|
|
||||||
- PHP 7 or higher
|
|
||||||
- [Libsodium](https://download.libsodium.org/libsodium/content/installation/) and it's [PHP extension](https://paragonie.com/book/pecl-libsodium/read/00-intro.md#installing-libsodium)
|
|
||||||
- open_basedir access to `/dev/urandom`
|
|
||||||
- mcrypt extension
|
|
||||||
- com_dotnet extension
|
|
||||||
|
|
||||||
Mcrypt needs to be able to access `/dev/urandom`. This means if `open_basedir` is set, it must include this file.
|
|
||||||
- GD extension
|
|
||||||
- some disk space or (optional) a database supported by [PDO](https://secure.php.net/manual/book.pdo.php)
|
|
||||||
- ability to create files and folders in the installation directory and the PATH
|
|
||||||
- A web browser with javascript support
|
|
||||||
|
|
||||||
### Configuration
|
|
||||||
|
|
||||||
In the file `cfg/conf.ini` you can configure PrivateBin. A `cfg/conf.ini.sample`
|
|
||||||
is provided containing all options and default values. You can copy it to
|
|
||||||
`cfg/conf.ini` and adapt it as needed. The config file is divided into multiple
|
|
||||||
sections, which are enclosed in square brackets.
|
|
||||||
|
|
||||||
In the `[main]` section you can enable or disable the discussion feature, set
|
|
||||||
the limit of stored pastes and comments in bytes. The `[traffic]` section lets
|
|
||||||
you set a time limit in seconds. Users may not post more often then this limit
|
|
||||||
to your PrivateBin installation.
|
|
||||||
|
|
||||||
More details can be found in the
|
|
||||||
[configuration documentation](https://github.com/PrivateBin/PrivateBin/wiki/Configuration).
|
|
||||||
|
|
||||||
## Further configuration
|
|
||||||
|
|
||||||
After (or before) setting up PrivateBin, also set up HTTPS, as without HTTPS
|
|
||||||
PrivateBin is not secure. (
|
|
||||||
[More information](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#how-should-i-setup-https))
|
|
||||||
|
|
||||||
If you want to use PrivateBin behind Cloudflare, make sure you disabled Rocket
|
|
||||||
loader and unchecked "Javascript" for Auto Minify, found in your domain settings,
|
|
||||||
under "Speed". (More information
|
|
||||||
[in this FAQ entry](https://github.com/PrivateBin/PrivateBin/wiki/FAQ#user-content-how-to-make-privatebin-work-when-using-cloudflare-for-ddos-protection))
|
|
||||||
|
|
||||||
## Advanced installation
|
|
||||||
|
|
||||||
### Changing the path
|
|
||||||
|
|
||||||
In the index.php you can define a different `PATH`. This is useful to secure your
|
|
||||||
installation. You can move the configuration, data files, templates and PHP
|
|
||||||
libraries (directories cfg, doc, data, lib, tpl, tst and vendor) outside of your
|
|
||||||
document root. This new location must still be accessible to your webserver / PHP
|
|
||||||
process (see also
|
|
||||||
[open_basedir setting](https://secure.php.net/manual/en/ini.core.php#ini.open-basedir)).
|
|
||||||
|
|
||||||
> #### PATH Example
|
|
||||||
> Your PrivateBin installation lives in a subfolder called "paste" inside of
|
|
||||||
> your document root. The URL looks like this:
|
|
||||||
> http://example.com/paste/
|
|
||||||
>
|
|
||||||
> The full path of PrivateBin on your webserver is:
|
|
||||||
> /home/example.com/htdocs/paste
|
|
||||||
>
|
|
||||||
> When setting the path like this:
|
|
||||||
> define('PATH', '../../secret/privatebin/');
|
|
||||||
>
|
|
||||||
> PrivateBin will look for your includes / data here:
|
|
||||||
> /home/example.com/secret/privatebin
|
|
||||||
|
|
||||||
### Web server configuration
|
|
||||||
|
|
||||||
A `robots.txt` file is provided in the root dir of PrivateBin. It disallows all
|
|
||||||
robots from accessing your pastes. It is recommend to place it into the root of
|
|
||||||
your web directory if you have installed PrivateBin in a subdirectory. Make sure
|
|
||||||
to adjust it, so that the file paths match your installation. Of course also
|
|
||||||
adjust the file if you already use a `robots.txt`.
|
|
||||||
|
|
||||||
A `.htaccess.disabled` file is provided in the root dir of PrivateBin. It blocks
|
|
||||||
some known robots and link-scanning bots. If you use Apache, you can rename the
|
|
||||||
file to `.htaccess` to enable this feature. If you use another webserver, you
|
|
||||||
have to configure it manually to do the same.
|
|
||||||
|
|
||||||
### Using a database instead of flat files
|
|
||||||
|
|
||||||
In the configuration file the `[model]` and `[model_options]` sections let you
|
|
||||||
configure your favourite way of storing the pastes and discussions on your
|
|
||||||
server.
|
|
||||||
|
|
||||||
`Filesystem` is the default model, which stores everything in files in the
|
|
||||||
data folder. This is the recommended setup for most sites.
|
|
||||||
|
|
||||||
Under high load, in distributed setups or if you are not allowed to store files
|
|
||||||
locally, you might want to switch to the `Database` model. This lets you
|
|
||||||
store your data in a database. Basically all databases that are supported by
|
|
||||||
[PDO](https://secure.php.net/manual/en/book.pdo.php) may be used. Automatic table
|
|
||||||
creation is provided for `pdo_ibm`, `pdo_informix`, `pdo_mssql`, `pdo_mysql`,
|
|
||||||
`pdo_oci`, `pdo_pgsql` and `pdo_sqlite`. You may want to provide a table prefix,
|
|
||||||
if you have to share the PrivateBin database with another application or you want
|
|
||||||
to use a prefix for
|
|
||||||
[security reasons](https://security.stackexchange.com/questions/119510/is-using-a-db-prefix-for-tables-more-secure).
|
|
||||||
The table prefix option is called `tbl`.
|
|
||||||
|
|
||||||
> #### Note
|
|
||||||
> The `Database` model has only been tested with SQLite, MySQL and PostgreSQL,
|
|
||||||
> although it would not be recommended to use SQLite in a production environment.
|
|
||||||
> If you gain any experience running PrivateBin on other RDBMS, please let us
|
|
||||||
> know.
|
|
||||||
|
|
||||||
For reference or if you want to create the table schema for yourself (replace
|
|
||||||
`prefix_` with your own table prefix and create the table schema with phpMyAdmin
|
|
||||||
or the MYSQL console):
|
|
||||||
|
|
||||||
CREATE TABLE prefix_paste (
|
|
||||||
dataid CHAR(16) NOT NULL,
|
|
||||||
data BLOB,
|
|
||||||
postdate INT,
|
|
||||||
expiredate INT,
|
|
||||||
opendiscussion INT,
|
|
||||||
burnafterreading INT,
|
|
||||||
meta TEXT,
|
|
||||||
attachment MEDIUMBLOB,
|
|
||||||
attachmentname BLOB,
|
|
||||||
PRIMARY KEY (dataid)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE prefix_comment (
|
|
||||||
dataid CHAR(16),
|
|
||||||
pasteid CHAR(16),
|
|
||||||
parentid CHAR(16),
|
|
||||||
data BLOB,
|
|
||||||
nickname BLOB,
|
|
||||||
vizhash BLOB,
|
|
||||||
postdate INT,
|
|
||||||
PRIMARY KEY (dataid)
|
|
||||||
);
|
|
||||||
CREATE INDEX parent ON prefix_comment(pasteid);
|
|
||||||
|
|
||||||
CREATE TABLE prefix_config (
|
|
||||||
id CHAR(16) NOT NULL, value TEXT, PRIMARY KEY (id)
|
|
||||||
);
|
|
||||||
INSERT INTO prefix_config VALUES('VERSION', '1.1');
|
|
||||||
|
|
42
README.md
42
README.md
|
@ -12,13 +12,13 @@
|
||||||
**PrivateBin** is a minimalist, open source online pastebin where the server has
|
**PrivateBin** is a minimalist, open source online pastebin where the server has
|
||||||
zero knowledge of pasted data.
|
zero knowledge of pasted data.
|
||||||
|
|
||||||
Data is encrypted/decrypted in the browser using 256bit AES in [Galois Counter mode](https://en.wikipedia.org/wiki/Galois/Counter_Mode).
|
Data is encrypted and decrypted in the browser using 256bit AES in [Galois Counter mode](https://en.wikipedia.org/wiki/Galois/Counter_Mode).
|
||||||
|
|
||||||
This is a fork of ZeroBin, originally developed by
|
This is a fork of ZeroBin, originally developed by
|
||||||
[Sébastien Sauvage](https://github.com/sebsauvage/ZeroBin). It was refactored
|
[Sébastien Sauvage](https://github.com/sebsauvage/ZeroBin). ZeroBin was refactored
|
||||||
to allow easier and cleaner extensions and has now many more features than the
|
to allow easier and cleaner extensions. PrivateBin has many more features than the
|
||||||
original. It is however still fully compatible to the original ZeroBin 0.19
|
original ZeroBin. It is, however, still fully compatible to the original ZeroBin 0.19
|
||||||
data storage scheme. Therefore such installations can be upgraded to this fork
|
data storage scheme. Therefore, such installations can be upgraded to PrivateBin
|
||||||
without losing any data.
|
without losing any data.
|
||||||
|
|
||||||
## What PrivateBin provides
|
## What PrivateBin provides
|
||||||
|
@ -38,37 +38,37 @@ without losing any data.
|
||||||
|
|
||||||
## What it doesn't provide
|
## What it doesn't provide
|
||||||
|
|
||||||
- As a user you have to trust the server administrator, your internet provider
|
- As a user you have to trust the server administrator not to inject any malicious
|
||||||
and any country the traffic passes not to inject any malicious javascript code.
|
javascript code.
|
||||||
For a basic security the PrivateBin installation *has to provide HTTPS*!
|
For basic security, the PrivateBin installation *has to provide HTTPS*!
|
||||||
Additionally it should be secured by
|
Otherwise you would also have to trust your internet provider, and any country
|
||||||
|
the traffic passes through.
|
||||||
|
Additionally the instance should be secured by
|
||||||
[HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) and
|
[HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) and
|
||||||
ideally by [HPKP](https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning) using a
|
ideally by [HPKP](https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning) using a
|
||||||
certificate either validated by a trusted third party (check the certificate
|
certificate. It can use traditional certificate authorities and/or use
|
||||||
when first using a new PrivateBin instance) or self-signed by the server
|
|
||||||
operator, validated using a
|
|
||||||
[DNSSEC](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions)
|
[DNSSEC](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions)
|
||||||
protected
|
protected
|
||||||
[DANE](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities)
|
[DANE](https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities)
|
||||||
record.
|
record.
|
||||||
|
|
||||||
- The "key" used to encrypt the paste is part of the URL. If you publicly post
|
- The "key" used to encrypt the paste is part of the URL. If you publicly post
|
||||||
the URL of a paste that is not password-protected, everybody can read it.
|
the URL of a paste that is not password-protected, anyone can read it.
|
||||||
Use a password if you want your paste to be private. In this case make sure to
|
Use a password if you want your paste to be private. In this case, make sure to
|
||||||
use a strong password and do only share it privately and end-to-end-encrypted.
|
use a strong password and only share it privately and end-to-end-encrypted.
|
||||||
|
|
||||||
- A server admin might be forced to hand over access logs to the authorities.
|
- A server admin might be forced to hand over access logs to the authorities.
|
||||||
PrivateBin encrypts your text and the discussion contents, but who accessed it
|
PrivateBin encrypts your text and the discussion contents, but who accessed a
|
||||||
first might still be disclosed via such access logs.
|
paste (first) might still be disclosed via access logs.
|
||||||
|
|
||||||
- In case of a server breach your data is secure as it is only stored encrypted
|
- In case of a server breach your data is secure as it is only stored encrypted
|
||||||
on the server. However the server could be misused or the server admin could
|
on the server. However, the server could be misused or the server admin could
|
||||||
be legally forced into sending malicious JavaScript to all web users, which
|
be legally forced into sending malicious JavaScript to all web users, which
|
||||||
grabs the decryption key and send it to the server when a user accesses a
|
grabs the decryption key and sends it to the server when a user accesses a
|
||||||
PrivateBin.
|
PrivateBin.
|
||||||
Therefore do not access any PrivateBin instance if you think it has been
|
Therefore, do not access any PrivateBin instance if you think it has been
|
||||||
compromised. As long as no user accesses this instance with a previously
|
compromised. As long as no user accesses this instance with a previously
|
||||||
generated URL, the content can''t be decrypted.
|
generated URL, the content can't be decrypted.
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"type": "project",
|
"type": "project",
|
||||||
"keywords": ["private", "secure", "end-to-end-encrypted", "e2e", "paste", "pastebin", "zero", "zero-knowledge", "encryption", "encrypted", "AES"],
|
"keywords": ["private", "secure", "end-to-end-encrypted", "e2e", "paste", "pastebin", "zero", "zero-knowledge", "encryption", "encrypted", "AES"],
|
||||||
"homepage": "https://github.com/PrivateBin",
|
"homepage": "https://github.com/PrivateBin",
|
||||||
"license":"zlib-acknowledgement",
|
"license":"zlib",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/PrivateBin/PrivateBin/issues",
|
"issues": "https://github.com/PrivateBin/PrivateBin/issues",
|
||||||
"wiki": "https://github.com/PrivateBin/PrivateBin/wiki",
|
"wiki": "https://github.com/PrivateBin/PrivateBin/wiki",
|
||||||
|
|
10
i18n/es.json
10
i18n/es.json
|
@ -93,7 +93,7 @@
|
||||||
"Anonymous":
|
"Anonymous":
|
||||||
"Anónimo",
|
"Anónimo",
|
||||||
"Avatar generated from IP address":
|
"Avatar generated from IP address":
|
||||||
"Avatar anónimo (Vizhash de la dirección IP)",
|
"Avatar generado a partir de la dirección IP",
|
||||||
"Add comment":
|
"Add comment":
|
||||||
"Añadir comentario",
|
"Añadir comentario",
|
||||||
"Optional nickname…":
|
"Optional nickname…":
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
"Markdown": "Markdown",
|
"Markdown": "Markdown",
|
||||||
"Download attachment": "Descargar adjunto",
|
"Download attachment": "Descargar adjunto",
|
||||||
"Cloned: '%s'": "Clonado: '%s'.",
|
"Cloned: '%s'": "Clonado: '%s'.",
|
||||||
"The cloned file '%s' was attached to this paste.": "The cloned file '%s' was attached to this paste.",
|
"The cloned file '%s' was attached to this paste.": "El archivo clonado '%s' ha sido adjuntado a este texto.",
|
||||||
"Attach a file": "Adjuntar archivo",
|
"Attach a file": "Adjuntar archivo",
|
||||||
"Remove attachment": "Remover adjunto",
|
"Remove attachment": "Remover adjunto",
|
||||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||||
|
@ -147,9 +147,9 @@
|
||||||
"Enter password":
|
"Enter password":
|
||||||
"Ingrese contraseña",
|
"Ingrese contraseña",
|
||||||
"Loading…": "Cargando…",
|
"Loading…": "Cargando…",
|
||||||
"Decrypting paste…": "Decrypting paste…",
|
"Decrypting paste…": "Descifrando texto…",
|
||||||
"Preparing new paste…": "Preparing new paste…",
|
"Preparing new paste…": "Preparando texto nuevo…",
|
||||||
"In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
|
"In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
|
||||||
"En caso de que este mensaje nunca desaparezca por favor revise <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para obtener información para solucionar problemas</a>.",
|
"En caso de que este mensaje nunca desaparezca por favor revise <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para obtener información para solucionar problemas</a>.",
|
||||||
"+++ no paste text +++": "+++ no paste text +++"
|
"+++ no paste text +++": "+++ sin texto +++"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"PrivateBin": "PrivateBin",
|
"PrivateBin": "PrivateBin",
|
||||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||||
"%s est un 'pastebin' (ou gestionnaire d'extraits de texte et de code source) minimaliste et open source, dans lequel le serveur n'a aucune connaissance des données envoyées. Les données sont chiffrées/déchiffrées <i>dans le navigateur</i> par un chiffrage AES 256 bits. Plus d'informations sur <a href=\"https://privatebin.info/\">la page du projet</a>.",
|
"%s est un 'pastebin' (ou gestionnaire d'extraits de texte et de code source) minimaliste et open source, dans lequel le serveur n'a aucune connaissance des données envoyées. Les données sont chiffrées/déchiffrées <i>dans le navigateur</i> par un chiffrement AES 256 bits. Plus d'informations sur <a href=\"https://privatebin.info/\">la page du projet</a>.",
|
||||||
"Because ignorance is bliss":
|
"Because ignorance is bliss":
|
||||||
"Parce que l'ignorance c'est le bonheur",
|
"Parce que l'ignorance c'est le bonheur",
|
||||||
"en": "fr",
|
"en": "fr",
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
"Could not create paste: %s":
|
"Could not create paste: %s":
|
||||||
"Impossible de créer le paste : %s",
|
"Impossible de créer le paste : %s",
|
||||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||||
"Impossible de déchiffrer le paste : Clé de déchiffrage manquante dans l'URL (Avez-vous utilisé un redirecteur ou un site de réduction d'URL qui supprime une partie de l'URL ?)",
|
"Impossible de déchiffrer le paste : Clé de déchiffrement manquante dans l'URL (Avez-vous utilisé un redirecteur ou un site de réduction d'URL qui supprime une partie de l'URL ?)",
|
||||||
"B": "o",
|
"B": "o",
|
||||||
"KiB": "Kio",
|
"KiB": "Kio",
|
||||||
"MiB": "Mio",
|
"MiB": "Mio",
|
||||||
|
@ -156,8 +156,8 @@
|
||||||
"Enter password":
|
"Enter password":
|
||||||
"Entrez le mot de passe",
|
"Entrez le mot de passe",
|
||||||
"Loading…": "Chargement…",
|
"Loading…": "Chargement…",
|
||||||
"Decrypting paste…": "Decrypting paste…",
|
"Decrypting paste…": "Déchiffrement du paste…",
|
||||||
"Preparing new paste…": "Preparing new paste…",
|
"Preparing new paste…": "Préparation du paste…",
|
||||||
"In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
|
"In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
|
||||||
"Si ce message ne disparaîssait pas, jetez un oeil à <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">cette FAQ pour des idées de résolution</a> (en Anglais).",
|
"Si ce message ne disparaîssait pas, jetez un oeil à <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">cette FAQ pour des idées de résolution</a> (en Anglais).",
|
||||||
"+++ no paste text +++": "+++ no paste text +++"
|
"+++ no paste text +++": "+++ no paste text +++"
|
||||||
|
|
36
i18n/oc.json
36
i18n/oc.json
|
@ -1,9 +1,9 @@
|
||||||
{
|
{
|
||||||
"PrivateBin": "PrivateBin",
|
"PrivateBin": "PrivateBin",
|
||||||
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
"%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href=\"https://privatebin.info/\">project page</a>.":
|
||||||
"%s es un 'pastebin' (o gestionari d'extrachs de tèxte e còdi font) minimalista e open source, dins lo qual lo servidor a pas cap de coneissença de las donadas mandadas. Las donadas son chifradas/deschifradas <i>dins lo navigator</i> per un chiframent AES 256 bits. Mai informacions sus <a href=\"https://privatebin.info/\">la pagina del projècte</a>.",
|
"%s es un 'pastebin' (o gestionari d’extrachs de tèxte e còdi font) minimalista e open source, dins lo qual lo servidor a pas cap de coneissença de las donadas mandadas. Las donadas son chifradas/deschifradas <i>dins lo navigator</i> per un chiframent AES 256 bits. Mai informacions sus <a href=\"https://privatebin.info/\">la pagina del projècte</a>.",
|
||||||
"Because ignorance is bliss":
|
"Because ignorance is bliss":
|
||||||
"Perque l'ignorància es bonaür",
|
"Perque lo bonaür es l’ignorància",
|
||||||
"en": "oc",
|
"en": "oc",
|
||||||
"Paste does not exist, has expired or has been deleted.":
|
"Paste does not exist, has expired or has been deleted.":
|
||||||
"Lo tèxte existís pas, a expirat, o es estat suprimit.",
|
"Lo tèxte existís pas, a expirat, o es estat suprimit.",
|
||||||
|
@ -32,11 +32,11 @@
|
||||||
"Paste was properly deleted.":
|
"Paste was properly deleted.":
|
||||||
"Lo tèxte es estat correctament suprimit.",
|
"Lo tèxte es estat correctament suprimit.",
|
||||||
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
"JavaScript is required for %s to work.<br />Sorry for the inconvenience.":
|
||||||
"JavaScript es requesit per far foncionar %s. <br />O planhèm per l'inconvenient.",
|
"JavaScript es requesit per far foncionar %s. <br />O planhèm per l’inconvenient.",
|
||||||
"%s requires a modern browser to work.":
|
"%s requires a modern browser to work.":
|
||||||
"%s necessita un navigator modèrn per foncionar.",
|
"%s necessita un navigator modèrn per foncionar.",
|
||||||
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:":
|
"Still using Internet Explorer? Do yourself a favor, switch to a modern browser:":
|
||||||
"Encora sus Internet Explorer ? Fasètz-vos una favor, passatz a un navigator modèrn :",
|
"Encora sus Internet Explorer ? Fasètz-vos una favor, passatz a un navigator modèrn :",
|
||||||
"New":
|
"New":
|
||||||
"Nòu",
|
"Nòu",
|
||||||
"Send":
|
"Send":
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
"Never":
|
"Never":
|
||||||
"Jamai",
|
"Jamai",
|
||||||
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
"Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.":
|
||||||
"Nota : Aquò es un servici d'espròva : las donadas pòdon èsser suprimidas a cada moment. De catons moriràn s'abusatz d'aqueste servici.",
|
"Nota : Aquò es un servici d’espròva : las donadas pòdon èsser suprimidas a cada moment. De catons moriràn s’abusatz d’aqueste servici.",
|
||||||
"This document will expire in %d seconds.":
|
"This document will expire in %d seconds.":
|
||||||
["Ce document expirera dans %d seconde.", "Aqueste document expirarà dins %d segondas."],
|
["Ce document expirera dans %d seconde.", "Aqueste document expirarà dins %d segondas."],
|
||||||
"This document will expire in %d minutes.":
|
"This document will expire in %d minutes.":
|
||||||
|
@ -79,21 +79,21 @@
|
||||||
"This document will expire in %d months.":
|
"This document will expire in %d months.":
|
||||||
["Ce document expirera dans %d mois.", "Aqueste document expirarà dins %d meses."],
|
["Ce document expirera dans %d mois.", "Aqueste document expirarà dins %d meses."],
|
||||||
"Please enter the password for this paste:":
|
"Please enter the password for this paste:":
|
||||||
"Picatz lo senhal per aqueste tèxte :",
|
"Picatz lo senhal per aqueste tèxte :",
|
||||||
"Could not decrypt data (Wrong key?)":
|
"Could not decrypt data (Wrong key?)":
|
||||||
"Impossible de deschifrar las donadas (marrida clau ?)",
|
"Impossible de deschifrar las donadas (marrida clau ?)",
|
||||||
"Could not delete the paste, it was not stored in burn after reading mode.":
|
"Could not delete the paste, it was not stored in burn after reading mode.":
|
||||||
"Impossible de suprimir lo tèxte, perque es pas estat gardat en mòde \"Escafar aprèp lectura\".",
|
"Impossible de suprimir lo tèxte, perque es pas estat gardat en mòde \"Escafar aprèp lectura\".",
|
||||||
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
"FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.":
|
||||||
"PER VÒSTRES UÈLHS SOLAMENT. Tampetz pas aquesta fenèstra, aqueste tèxte poirà pas mai èsser afichat.",
|
"PER VÒSTRES UÈLHS SOLAMENT. Tampetz pas aquesta fenèstra, aqueste tèxte poirà pas mai èsser afichat.",
|
||||||
"Could not decrypt comment; Wrong key?":
|
"Could not decrypt comment; Wrong key?":
|
||||||
"Impossible de deschifrar lo comentari ; marrida clau ?",
|
"Impossible de deschifrar lo comentari ; marrida clau ?",
|
||||||
"Reply":
|
"Reply":
|
||||||
"Respondre",
|
"Respondre",
|
||||||
"Anonymous":
|
"Anonymous":
|
||||||
"Anonime",
|
"Anonime",
|
||||||
"Avatar generated from IP address":
|
"Avatar generated from IP address":
|
||||||
"Avatar anonime (Vizhash de l'adreça IP)",
|
"Avatar anonime (Vizhash de l’adreça IP)",
|
||||||
"Add comment":
|
"Add comment":
|
||||||
"Apondre un comentari",
|
"Apondre un comentari",
|
||||||
"Optional nickname…":
|
"Optional nickname…":
|
||||||
|
@ -105,25 +105,25 @@
|
||||||
"Comment posted.":
|
"Comment posted.":
|
||||||
"Comentari mandat.",
|
"Comentari mandat.",
|
||||||
"Could not refresh display: %s":
|
"Could not refresh display: %s":
|
||||||
"Impossible d'actualizar l'afichatge : %s",
|
"Impossible d’actualizar l’afichatge : %s",
|
||||||
"unknown status":
|
"unknown status":
|
||||||
"Estatut desconegut",
|
"Estatut desconegut",
|
||||||
"server error or not responding":
|
"server error or not responding":
|
||||||
"Lo servidor respond pas o a rencontrat una error",
|
"Lo servidor respond pas o a rencontrat una error",
|
||||||
"Could not post comment: %s":
|
"Could not post comment: %s":
|
||||||
"Impossible de mandar lo comentari : %s",
|
"Impossible de mandar lo comentari : %s",
|
||||||
"Please move your mouse for more entropy…":
|
"Please move your mouse for more entropy…":
|
||||||
"Mercés de bolegar vòstra mirga per mai entropia…",
|
"Mercés de bolegar vòstra mirga per mai entropia…",
|
||||||
"Sending paste…":
|
"Sending paste…":
|
||||||
"Mandadís del tèxte…",
|
"Mandadís del tèxte…",
|
||||||
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
"Your paste is <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Hit [Ctrl]+[c] to copy)</span>":
|
||||||
"Vòstre tèxte es disponible a l'adreça <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Picatz sus [Ctrl]+[c] per copiar)</span>",
|
"Vòstre tèxte es disponible a l’adreça <a id=\"pasteurl\" href=\"%s\">%s</a> <span id=\"copyhint\">(Picatz sus [Ctrl]+[c] per copiar)</span>",
|
||||||
"Delete data":
|
"Delete data":
|
||||||
"Supprimir las donadas del tèxte",
|
"Supprimir las donadas del tèxte",
|
||||||
"Could not create paste: %s":
|
"Could not create paste: %s":
|
||||||
"Impossible de crear lo tèxte : %s",
|
"Impossible de crear lo tèxte : %s",
|
||||||
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
"Cannot decrypt paste: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)":
|
||||||
"Impossible de deschifrar lo tèxte : Clau de deschiframent absenta de l'URL (Avètz utilizat un redirector o un site de reduccion d'URL que suprimís una partida de l'URL ?)",
|
"Impossible de deschifrar lo tèxte : Clau de deschiframent absenta de l’URL (Avètz utilizat un redirector o un site de reduccion d’URL que suprimís una partida de l’URL ?)",
|
||||||
"B": "o",
|
"B": "o",
|
||||||
"KiB": "Kio",
|
"KiB": "Kio",
|
||||||
"MiB": "Mio",
|
"MiB": "Mio",
|
||||||
|
@ -139,14 +139,14 @@
|
||||||
"Markdown": "Markdown",
|
"Markdown": "Markdown",
|
||||||
"Download attachment": "Telecargar la pèça junta",
|
"Download attachment": "Telecargar la pèça junta",
|
||||||
"Cloned: '%s'": "Clonar: '%s'",
|
"Cloned: '%s'": "Clonar: '%s'",
|
||||||
"The cloned file '%s' was attached to this paste.": "The cloned file '%s' was attached to this paste.",
|
"The cloned file '%s' was attached to this paste.": "Aqueste fichièr clonat '%s' es estat ajustat a aqueste tèxte.",
|
||||||
"Attach a file": "Juntar un fichièr ",
|
"Attach a file": "Juntar un fichièr ",
|
||||||
"Remove attachment": "Levar la pèca junta",
|
"Remove attachment": "Levar la pèca junta",
|
||||||
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
"Your browser does not support uploading encrypted files. Please use a newer browser.":
|
||||||
"Vòstre navigator es pas compatible amb lo mandadís de fichièrs chifrats. Mercés d'emplegar un navigator mai recent.",
|
"Vòstre navigator es pas compatible amb lo mandadís de fichièrs chifrats. Mercés d’emplegar un navigator mai recent.",
|
||||||
"Invalid attachment.": "Pèça junta invalida.",
|
"Invalid attachment.": "Pèça junta invalida.",
|
||||||
"Options": "Opcions",
|
"Options": "Opcions",
|
||||||
"Shorten URL": "Acorchir l'URL",
|
"Shorten URL": "Acorchir l’URL",
|
||||||
"Editor": "Editar",
|
"Editor": "Editar",
|
||||||
"Preview": "Previsualizar",
|
"Preview": "Previsualizar",
|
||||||
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
"%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.":
|
||||||
|
@ -159,6 +159,6 @@
|
||||||
"Decrypting paste…": "Decrypting paste…",
|
"Decrypting paste…": "Decrypting paste…",
|
||||||
"Preparing new paste…": "Preparing new paste…",
|
"Preparing new paste…": "Preparing new paste…",
|
||||||
"In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
|
"In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
|
||||||
"Se per cas aqueste messatge quita pas de s'afichar mercés de gaitar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">aquesta FAQ per las solucions</a> (en Anglés).",
|
"Se per cas aqueste messatge quita pas de s’afichar mercés de gaitar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">aquesta FAQ per las solucions</a> (en Anglés).",
|
||||||
"+++ no paste text +++": "+++ no paste text +++"
|
"+++ no paste text +++": "+++ no paste text +++"
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,7 +280,7 @@ if ($PASSWORD):
|
||||||
?>
|
?>
|
||||||
<li>
|
<li>
|
||||||
<div id="password" class="navbar-form hidden">
|
<div id="password" class="navbar-form hidden">
|
||||||
<input type="password" id="passwordinput" placeholder="<?php echo I18n::_('Password (recommended)'); ?>" class="form-control" size="19" />
|
<input type="password" id="passwordinput" placeholder="<?php echo I18n::_('Password (recommended)'); ?>" class="form-control" size="23" />
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -23,6 +23,7 @@ return array(
|
||||||
'PrivateBin\\Model\\Comment' => $baseDir . '/lib/Model/Comment.php',
|
'PrivateBin\\Model\\Comment' => $baseDir . '/lib/Model/Comment.php',
|
||||||
'PrivateBin\\Model\\Paste' => $baseDir . '/lib/Model/Paste.php',
|
'PrivateBin\\Model\\Paste' => $baseDir . '/lib/Model/Paste.php',
|
||||||
'PrivateBin\\Persistence\\AbstractPersistence' => $baseDir . '/lib/Persistence/AbstractPersistence.php',
|
'PrivateBin\\Persistence\\AbstractPersistence' => $baseDir . '/lib/Persistence/AbstractPersistence.php',
|
||||||
|
'PrivateBin\\Persistence\\DataStore' => $baseDir . '/lib/Persistence/DataStore.php',
|
||||||
'PrivateBin\\Persistence\\PurgeLimiter' => $baseDir . '/lib/Persistence/PurgeLimiter.php',
|
'PrivateBin\\Persistence\\PurgeLimiter' => $baseDir . '/lib/Persistence/PurgeLimiter.php',
|
||||||
'PrivateBin\\Persistence\\ServerSalt' => $baseDir . '/lib/Persistence/ServerSalt.php',
|
'PrivateBin\\Persistence\\ServerSalt' => $baseDir . '/lib/Persistence/ServerSalt.php',
|
||||||
'PrivateBin\\Persistence\\TrafficLimiter' => $baseDir . '/lib/Persistence/TrafficLimiter.php',
|
'PrivateBin\\Persistence\\TrafficLimiter' => $baseDir . '/lib/Persistence/TrafficLimiter.php',
|
||||||
|
|
|
@ -52,6 +52,7 @@ class ComposerStaticInitDontChange
|
||||||
'PrivateBin\\Model\\Comment' => __DIR__ . '/../..' . '/lib/Model/Comment.php',
|
'PrivateBin\\Model\\Comment' => __DIR__ . '/../..' . '/lib/Model/Comment.php',
|
||||||
'PrivateBin\\Model\\Paste' => __DIR__ . '/../..' . '/lib/Model/Paste.php',
|
'PrivateBin\\Model\\Paste' => __DIR__ . '/../..' . '/lib/Model/Paste.php',
|
||||||
'PrivateBin\\Persistence\\AbstractPersistence' => __DIR__ . '/../..' . '/lib/Persistence/AbstractPersistence.php',
|
'PrivateBin\\Persistence\\AbstractPersistence' => __DIR__ . '/../..' . '/lib/Persistence/AbstractPersistence.php',
|
||||||
|
'PrivateBin\\Persistence\\DataStore' => __DIR__ . '/../..' . '/lib/Persistence/DataStore.php',
|
||||||
'PrivateBin\\Persistence\\PurgeLimiter' => __DIR__ . '/../..' . '/lib/Persistence/PurgeLimiter.php',
|
'PrivateBin\\Persistence\\PurgeLimiter' => __DIR__ . '/../..' . '/lib/Persistence/PurgeLimiter.php',
|
||||||
'PrivateBin\\Persistence\\ServerSalt' => __DIR__ . '/../..' . '/lib/Persistence/ServerSalt.php',
|
'PrivateBin\\Persistence\\ServerSalt' => __DIR__ . '/../..' . '/lib/Persistence/ServerSalt.php',
|
||||||
'PrivateBin\\Persistence\\TrafficLimiter' => __DIR__ . '/../..' . '/lib/Persistence/TrafficLimiter.php',
|
'PrivateBin\\Persistence\\TrafficLimiter' => __DIR__ . '/../..' . '/lib/Persistence/TrafficLimiter.php',
|
||||||
|
|
Loading…
Reference in New Issue