Skip to content
A decentralized binary package manager. Zero-Configuration.
Go Shell
Branch: master
Clone or download

Latest commit

Latest commit a3975fd Apr 27, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore install.sh Mar 25, 2020
LICENSE nami Mar 25, 2020
OPENSOURCELICENSES nami Mar 25, 2020
build.sh dislike windows Mar 26, 2020
default_com.go install.sh Mar 25, 2020
demo.gif demo Mar 28, 2020
domain.go install.sh Mar 25, 2020
github_com.go
install.sh install.sh add bsd Mar 26, 2020
main.go demo Mar 28, 2020
nami.go dislike windows Mar 26, 2020
package.go nami Mar 25, 2020
readme.md readme Apr 27, 2020
test_test.go nami Mar 25, 2020

readme.md

Nami

A decentralized binary package manager

Why

There are already many package managers, more are centralized and often provide outdated softwares. Nami is a decentralized binary package manager, she allows software authors to publish their software anywhere. No longer have to worry about users downloading outdated software.

Install

$ curl https://raw.githubusercontent.com/txthinking/nami/master/install.sh | bash && exec -l $SHELL

Usage

NAME:
   nami - A decentralized binary package manager

USAGE:
   nami [global options] command [command options] [arguments...]

COMMANDS:
   install  Install package. $ nami install github.com/txthinking/nami
   upgrade  Upgrade package. $ nami upgrade github.com/txthinking/nami
   remove   Remove package. $ nami remove github.com/txthinking/joker
   info     Print package information. $ nami info github.com/txthinking/nami
   list     Print installed packages. $ nami list
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h  show help (default: false)

Example

$ nami install github.com/txthinking/nami

What Does Nami Do?

All files are stored in ~/.nami

Nami for Software Publisher

  • Package name such as yourdomain.com/package
  • Nami will send GET request to https://yourdomain.com/package/nami.json, nami.json such as:
    {
        "version": "xxx",
        "files": [
            "https://anydomain.com/anypath/BINARYNAME1_OS_ARCH",
            "https://anydomain.com/anypath/BINARYNAME2_OS_ARCH",
        ]
    }
    

Built-in supported domains

  • github.com: Package name such as github.com/txthinking/nami, put binary files in the github releases

OS & ARCH

OS ARCH
darwin 386
darwin amd64
freebsd 386
freebsd amd64
linux 386
linux amd64
linux arm64
netbsd 386
netbsd amd64
openbsd 386
openbsd amd64
openbsd arm64

License

Licensed under The GPLv3 License

You can’t perform that action at this time.