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)
Iet uz failu
xuu f351c73319 fix: use default client for testing (#191)
Co-authored-by: Jon Lundy <me@sour.is>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/191
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: xuu <xuu@noreply@mills.io>
Co-committed-by: xuu <xuu@noreply@mills.io>
2023-03-05 22:05:24 +00: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 Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +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 Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
tools Add lookup command (#4) 2022-03-18 14:48:59 +00:00
.drone.yml Fix CI by using my local exec runner(s) (#190) 2023-01-28 07:07:19 +00: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
CHANGELOG.md Update CHANGELOG for 0.0.22 2022-05-14 01:01:00 +10:00
Caddyfile feat: add compression negotiation for sent messages (#91) 2022-03-29 22:23:16 +00:00
Corefile Add Avatar service and cli for updating avatar on a broker (#116) 2022-04-02 02:59:39 +00:00
Dockerfile Fix Dockerfile and add internal/pwas/utils (#100) 2022-03-31 00:58:09 +00:00
LICENSE Fix README (Fixes #74) 2022-09-25 12:52:51 +10:00
Makefile Add resolver tests (#182) 2023-01-27 23:14:03 +00:00
OLDREADME.md Update 'OLDREADME.md' 2022-03-23 00:18:30 +00:00
README.md Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
Roadmap.md Update 'Roadmap.md' 2022-03-25 21:38:44 +00: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
client.go Fix typo 2023-02-28 08:47:14 +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
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
example-config.yml feat: make endpoint uniform. add profiles (#30) 2022-03-21 00:31:59 +00:00
format.go Add format tests (#181) 2023-01-27 23:13:51 +00:00
format_test.go Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
go.mod fix: use default client for testing (#191) 2023-03-05 22:05:24 +00:00
go.sum fix: use default client for testing (#191) 2023-03-05 22:05:24 +00:00
identity.go Add client e2e integration tests (#180) 2023-01-26 22:30:16 +00:00
identity_test.go Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
lookup.go Add resolver tests (#182) 2023-01-27 23:14:03 +00:00
lookup_test.go Add client e2e integration tests (#180) 2023-01-26 22:30:16 +00: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
resolver.go Add resolver tests (#182) 2023-01-27 23:14:03 +00:00
resolver_e2e_test.go Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10: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.go fix: use default client for testing (#191) 2023-03-05 22:05:24 +00:00
utils_test.go Add unit tests (#55) 2022-03-25 01:52:59 +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.