Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fract Source Server

Host your own Fract source.

Features

  • Admin panel to add, edit, and delete packages.

  • Multiple versions per package.

  • Multiple architectures per version.

  • JSON-based storage (packages.json) in data/ folder.

  • Configurable via config.json:

    • Admin login credentials
    • Host and port
    • Debug mode
    • Base directory for shared files
  • API endpoints to retrieve package data:

    • /package/{name}/{version}/{architecture}
    • /latest/{name}

Installation

  1. Clone the repository
git clone https://github.com/Fizz-Org/your-repo.git
cd your-repo
  1. Install dependencies
pip install flask flask-basicauth
  1. Prepare the data folder and JSON

The app automatically creates the data/ folder and a blank packages.json if they don’t exist.

  1. Create config.json

Example:

{
    "admin-username": "admin",
    "admin-password": "password",
    "host": "0.0.0.0",
    "port": 5000,
    "debug": true,
    "base-dir": "shared"
}

Usage

  1. Run the Flask app
python app.py
  1. Access the admin panel

Open your browser:

http://localhost:5000/admin

Default login (change in config.json):

  • Username: admin
  • Password: password
  1. Manage packages
  • Add packages with multiple versions and architectures.
  • Edit existing packages to add more versions/arches.
  • Delete packages if needed.
  1. API endpoints
  • Get specific package:
/package/{name}/{version}/{architecture}
  • Get latest version of a package:
/latest/{name}

JSON Structure

A package entry looks like this:

{
    "ezcmd": {
        "name": "Package",
        "latest": "1.0",
        "description": "A great package!",
        "versions": {
            "1.0": {
                "any": {
                    "path": "https://fract-source.example.com/files/package.deb",
                    "sha256": "76922b2209e762134556c60cccd438f437d70fbf77c6b7bbf543539540b8295e",
                    "filename": "package.deb"
                }
            }
        }
    }
}
  • versions can contain multiple versions.
  • Each version can have multiple architectures (e.g., any, amd64, arm64).

Notes

  • The admin panel only requires a browser and basic authentication.
  • The project is lightweight, uses JSON for storage, and is easily extendable.
  • Make sure the base-dir in config.json exists or will be created automatically if needed.

About

The Fizz appstore source server software.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages