6
1
mirror of https://git.mills.io/saltyim/saltyim.git synced 2024-07-19 17:25:11 +00:00
saltyim is the Go library and reference client and broker implementation for Salty IM it contains a command-line client (cli), a terminal user interface (tui), builtin server/broker and a Mobile / Desktop App PWA (progressive web app)
Go to file
2024-06-24 12:28:36 +10:00
.chglog Add chglog config 2022-03-20 00:49:56 +10:00
.dockerfiles Tidy up the Docker image's entrypoint 2022-03-27 00:58:28 +10:00
bin Make the service bot actually work finally (#73) 2022-03-27 05:25:09 +00:00
certs Add clean-all target to Makefile 2022-03-28 11:08:19 -06:00
cmd Fix client.Read() context usage 2023-03-12 15:17:57 +10:00
data Add blob service and support for signing and verifying HTTP requests (#178) 2023-01-25 23:05:29 +00:00
docs Add blob service and support for signing and verifying HTTP requests (#178) 2023-01-25 23:05:29 +00:00
hooks support for contacts, multiple chat threads, and persistence (#77) 2022-03-28 21:49:01 +00:00
internal Fixed a spot I missed with a remaining go-app import 2023-07-16 10:42:38 +10:00
tools Add lookup command (#4) 2022-03-18 14:48:59 +00:00
.drone.yml Update version of kaniko used to build docker images 2023-04-23 20:00:19 +10:00
.gitattributes Add clean-all target to Makefile 2022-03-28 11:08:19 -06:00
.gitignore Add blob service and support for signing and verifying HTTP requests (#178) 2023-01-25 23:05:29 +00:00
.goreleaser.yml Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
addr.go Fix typos (#186) 2023-01-27 23:24:19 +00:00
assertions_test.go Add client e2e integration tests (#180) 2023-01-26 22:30:16 +00:00
Caddyfile feat: add compression negotiation for sent messages (#91) 2022-03-29 22:23:16 +00:00
CHANGELOG.md Update CHANGELOG for 0.0.22 2022-05-14 01:01:00 +10:00
client_blob_service.go Add .Blobs() service object to the client for easier usage of the Blob API (#184) 2023-01-27 23:20:49 +00:00
client_e2e_test.go Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
client.go Fix typo 2023-02-28 08:47:14 +10:00
Corefile Add Avatar service and cli for updating avatar on a broker (#116) 2022-04-02 02:59:39 +00:00
db.home.arpa Add Avatar service and cli for updating avatar on a broker (#116) 2022-04-02 02:59:39 +00:00
doc.go Add package level docs 2023-01-14 12:48:22 +10:00
Dockerfile Fix Dockerfile to remove non-existent internal/web paths 2023-04-23 20:01:03 +10:00
example-config.yml feat: make endpoint uniform. add profiles (#30) 2022-03-21 00:31:59 +00:00
format_test.go Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
format.go Add format tests (#181) 2023-01-27 23:13:51 +00:00
go.mod fix: vuln check results (#195) 2024-03-03 16:49:21 +00:00
go.sum fix: vuln check results (#195) 2024-03-03 16:49:21 +00:00
identity_test.go Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
identity.go Add client e2e integration tests (#180) 2023-01-26 22:30:16 +00:00
LICENSE Fix README (Fixes #74) 2022-09-25 12:52:51 +10:00
lookup_test.go Add client e2e integration tests (#180) 2023-01-26 22:30:16 +00:00
lookup.go Add resolver tests (#182) 2023-01-27 23:14:03 +00:00
Makefile Split out the PWA into its own repository (#194) 2023-04-23 09:31:43 +00:00
OLDREADME.md Fix typo in OLDREADME.md (See #196) 2024-06-24 12:28:36 +10:00
options.go Add client e2e integration tests (#180) 2023-01-26 22:30:16 +00:00
preflight.sh feat: hax for great justice (#14) 2022-03-19 21:33:03 +00:00
README.md Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
resolver_e2e_test.go Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
resolver.go Add resolver tests (#182) 2023-01-27 23:14:03 +00:00
Roadmap.md Update 'Roadmap.md' 2022-03-25 21:38:44 +00:00
send.go Add doc strings for all the thigns 2023-01-14 12:46:47 +10:00
service.go Refactor read options with functional options for easier usage (#183) 2023-01-27 23:19:52 +00:00
state.go Add doc strings for all the thigns 2023-01-14 12:46:47 +10:00
types.go Fix typos (#186) 2023-01-27 23:24:19 +00:00
utils_test.go Add unit tests (#55) 2022-03-25 01:52:59 +00:00
utils.go fix: use default client for testing (#191) 2023-03-05 22:05:24 +00:00
version.go Fix version output when no version is injected (i.e: go install) 2023-01-14 10:38:53 +10:00

Salty IM -- secure, easy, self-hosted messaging

Build Status Go Report Card Go Reference

SaltyIM Logo

Salty IM is a secure, decentrlaised and easy self-hosted instant messaging alternative. Salty IM is fully encrypted using the salty Go library utilising the Saltypack messaging format and parts of keys.pub implemtnation for its cryptography. Encryption, Decryption and Signing of messages is performed with public key cryptography using the Ed25519 algoritms.

For more information on how the protocol works, please refer to the Specification.

This repository also contains a reference client (written in Go), a reference broker (server) as well as a Terminal TUI (TUI) client called salty-chat and command-line tools:

  • saltyd -- Reference broker (server)
  • salty-chat -- Command-line tools and Terminal UI (TUI)
  • saltyim -- Reference client (Go library)

Quick Start CLI

$ go install go.salty.im/saltyim/cmd/salty-chat@latest
$ salty-chat make-user user@domain
# Follow the insturctions
$ salty-chat chat prologic@mills.io

Alternatively follow the full documentation below to setup your own Salty broker and your domain name.

Quick Start (DEV)

Documentation

See also the Old Readme for how this implementation started out as a simple shell script which you can still find at salty-chat.sh.

Roadmap

Please refer to the Roadmap document.

License

saltyd and salty-chat are licensed under the terms of the MIT license.