Metadata-Version: 2.1
Name: lfss
Version: 0.2.1
Summary: Lightweight file storage service
Home-page: https://github.com/MenxLi/lfss
Author: li, mengxun
Author-email: limengxun45@outlook.com
Requires-Python: >=3.9
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: aiosqlite (==0.*)
Requires-Dist: fastapi (==0.*)
Requires-Dist: mimesniff (==1.*)
Project-URL: Repository, https://github.com/MenxLi/lfss
Description-Content-Type: text/markdown

# Lightweight File Storage Service (LFSS)
[![PyPI](https://img.shields.io/pypi/v/lfss)](https://pypi.org/project/lfss/)

A lightweight file/object storage service!

Usage: 
```sh
pip install .
lfss-user add <username> <password>
lfss-serve
```

By default, the data will be stored in `.storage_data`. 
You can change storage directory using the `LFSS_DATA` environment variable.

I provide a simple client to interact with the service.  
Just start a web server at `/frontend` and open `index.html` in your browser, or use:
```sh
lfss-panel
```

The API usage is simple, just `GET`, `PUT`, `DELETE` to the `/<username>/file/url` path.  
Authentication is done via `Authorization` header, with the value `Bearer <token>`.  
You can refer to `frontend` as an application example, and `frontend/api.js` for the API usage.

By default, the service exposes all files to the public for `GET` requests, 
but file-listing is restricted to the user's own files.  
Please refer to [docs/Permission.md](./docs/Permission.md) for more details on the permission system.
