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
xuu 2818d54383 fix: vuln check results (#195)
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/195
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: xuu <me@sour.is>
Co-committed-by: xuu <me@sour.is>
2024-03-03 16:49:21 +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 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
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 to remove non-existent internal/web paths 2023-04-23 20:01:03 +10:00
LICENSE Fix README (Fixes #74) 2022-09-25 12:52:51 +10:00
Makefile Split out the PWA into its own repository (#194) 2023-04-23 09:31:43 +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: 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.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.