Skip to content
mtripnauxPublic

About

Command-line contact manager, library and contact format with support for symmetric relations, recursive groups, emergent organisational hierarchy and genealogical tree, social networks and many more.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

52 Commits

Folders and files

Repository files navigation

tupp

A minimalist command-line contact manager. Contacts and groups are stored locally as JSON and can optionally be exposed over a simple HTTP API.

Easy Install

To install tupp with ease, you can use its version manager: tuppdate is a shell script that downloads the right release binary for your system from GitHub and installs it in $HOME/.local/bin. Before installing, please make sure it's in your PATH.

curl -sL https://raw.githubusercontent.com/mtripnaux/tupp/refs/heads/main/tuppdate.sh -o tuppdate.sh
chmod +x tuppdate.sh
mkdir -p `"`$HOME/.local/bin`"
mv ./tuppdate.sh `"`$HOME/.local/bin/tuppdate`"

Since then, you should be able to run this from anywhere:

tuppdate latest       # install the latest release
tuppdate 1.5.0        # install a specific version

Build from source

Requires the Rust package manager, Cargo.

git clone https://github.com/mtripnaux/tupp.git
cd tupp
cargo build --release
cargo install --path .

Usage

tupp --help

Tupp Server

One could want its personal contacts to be accessible from outside its local network. For example, multiple web applications use tupp as an engine, accessed from a visual and user-friendly graphical interface. To se up your server and expose your contacts to the outside world, please create a password (here referenced as a secret, or token) and run the following command:

TUPP_API_TOKEN=<secret> tupp serve --port 8080

The 8080 port will be opened, and you will be able to access your tupp server at <your-ip>:8080 whenever you want.

Method Path Description
GET /contacts Return your contacts list as JSON
POST /contacts Create (no identifier) or update a contact

However, all requests require a Bearer token header with your super-secret token, preventing the pirates from stealing your personal data.

Authorization: Bearer <secret>

About

Command-line contact manager, library and contact format with support for symmetric relations, recursive groups, emergent organisational hierarchy and genealogical tree, social networks and many more.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages