PHPackages                             sinri/vanity - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. sinri/vanity

ActiveProject[Utility &amp; Helpers](/categories/utility)

sinri/vanity
============

A simple directory content carrier in PHP

0.1(7y ago)07AGPL-3.0PHP

Since Sep 29Pushed 7y ago1 watchersCompare

[ Source](https://github.com/sinri/Vanity)[ Packagist](https://packagist.org/packages/sinri/vanity)[ RSS](/packages/sinri-vanity/feed)WikiDiscussions master Synced today

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Vanity
======

[](#vanity)

A simple directory content carrier

How to build up a content service site with Vanity
--------------------------------------------------

[](#how-to-build-up-a-content-service-site-with-vanity)

1. install Nginx and PHP
2. fetch Vanity Source Code, `git clone https://github.com/sinri/Vanity.git` or `composer create-project sinri/vanity`
3. determine the directory to store the files, it is recommended to put it under the project root, or use a symbol link there
4. copy `config.sample.php` to `config.php` and modify it as you need
5. configure Nginx

### Permit and Forbid a Token to Access Directories or Files

[](#permit-and-forbid-a-token-to-access-directories-or-files)

You need to set the `permission` and `forbidden` in dictionary. Just follow the sample file.

The pattern format could be referred by [fnmatch](https://secure.php.net/manual/en/function.fnmatch.php) document.

### Nginx Virtual Host Sample

[](#nginx-virtual-host-sample)

```
server {
    listen       80;
    #listen 443 ssl;
    server_name  vanity.free;

    #ssl on;
    #ssl_certificate /etc/letsencrypt/live/vanity.free/fullchain.pem;
    #ssl_certificate_key /etc/letsencrypt/live/vanity.free/privkey.pem;

    root   /var/www/vanity;
    index  index.php;
    access_log /var/log/nginx/access-vanity.log;
    error_log /var/log/nginx/error-vanity.log;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    # LIMIT SCRIPT FOR STORE
    location ^~ /store/.*\.php$ {
    }
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /\.git/{
        deny all;
    }
}
```

###  Health Score

23

—

LowBetter than 30% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2732d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1f21c380187798de639192557cfc054683355c6f8c1649cff213fee795590831?d=identicon)[sinri](/maintainers/sinri)

---

Top Contributors

[![sinri](https://avatars.githubusercontent.com/u/5821330?v=4)](https://github.com/sinri "sinri (3 commits)")

### Embed Badge

![Health badge](/badges/sinri-vanity/health.svg)

```
[![Health](https://phpackages.com/badges/sinri-vanity/health.svg)](https://phpackages.com/packages/sinri-vanity)
```

###  Alternatives

[dephpend/dephpend

Dependency analysis for PHP

536101.7k2](/packages/dephpend-dephpend)[afragen/git-updater

A plugin to automatically update GitHub, Bitbucket, GitLab, or Gitea hosted plugins, themes, and language packs.

3.3k1.5k](/packages/afragen-git-updater)[weareferal/remote-sync

Sync your database and assets across Craft environments

1215.8k](/packages/weareferal-remote-sync)[dipcode/php-form

Full featured form engine library.

1110.4k](/packages/dipcode-php-form)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
