libreqr/README.md
vdbhb59 77f048085b Synced + few of my changes
Drop Less support: The style.less and themes/libreqr/theme.php files are converted to plain CSS.

The main Less features used in LibreQR were variables and selector nesting, but since CSS custom properties and nesting are now widely supported across browsers, the less.php dependency can be ditched.

To read the background color for contrast improvement, a regex is used on the theme CSS file.

(5468a43a2f)

Format locales according to Weblate

(f3e2249a84)

Estonian Translation (eb0ea03857)

doc: Add link to Weblate + enhance markup

(49394ebd9b)
2025-11-29 21:56:41 +05:30

62 lines
No EOL
1.8 KiB
Markdown
Executable file

# LibreQR
A PHP Web interface for generating QR codes.
## Demo
A LibreQR instance is available at <https://qr.antopie.org>.
## Installation
### Generic
Place this source code in a Web server with PHP8.0+, extensions `gd`, `mbstring` and `iconv`, and writing rights on the `css/` directory. Every request needs to be sent to `index.php`.
#### Security hardening
##### HTTP headers
Your HTTP server can reply the following headers:
```
Content-Security-Policy: default-src 'none'; img-src 'self' data:; style-src 'self'; frame-ancestors 'none'; form-action 'self';
Referrer-Policy: no-referrer
```
##### PHP-FPM chroot
LibreQR can be chrooted using PHP-FPM.
### YunoHost
There is [a package for YunoHost](https://apps.yunohost.org/app/qr).
For historical reasons, LibreQR is technically named `qr` in YunoHost.
You can install it from the WebAdmin or with this command:
```
sudo yunohost app install qr
```
## Themes
Themes are located in `themes/*`, the default theme is in `themes/libreqr/`.
You can customize your LibreQR instance look by changing the colors in `theme.php`, the logo in `logo.less` or the icons in `icons/<size>.png` (then list the sizes in `theme.php`).
## Contribute
You can open issues and pull requests on [the public forge](https://code.antopie.org/miraty/libreqr).
### Translations
[Contribute on Codeberg's Weblate](https://translate.codeberg.org/engage/libreqr2/)
You can also manually edit translations in `locales/<language-code>.php`.
## Contact
You can get [contact details for the maintainer](https://miraty.niv.re/contact), feel free to use them if you want more information about using or contributing to LibreQR.
## License
LibreQR is published under [AGPLv3+](LICENSE). Librairies located in the `vendor` subdirectory use their own compatible licenses.