HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
AsamK
signal-cli
Java2015–2026
AsamK / signal-cli

signal-cli

signal-cli provides an unofficial commandline, JSON-RPC and dbus interface for the Signal messenger.

28Distinct people
39Mentions
0Explicit recommenders
5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

signal-cli provides an unofficial commandline, JSON-RPC and dbus interface for the Signal messenger.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 5:05:26 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year39 dated mentions

Observed mentions: 2015-12-03 10:24:19 UTC to 2026-08-10 19:55:12 UTC.

0510152015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 15 mentions; 1 submissions, 14 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC220
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC312
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC404
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC505
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC15114
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

15 sources
signal-cli uses a clearly identifiable user agent [0] that could easily be blocked if Signal wanted to. signal-cli could escalate by trying to evade that kind of a block, but as it stands signal-cli has been operating without trouble for several years. I meant they may ask some clients not to use their servers, but they don't have any enforcement mechanism in place beyond asking them to stop on github. [0] https://github.com/AsamK/signal-cli/blob/05abb3f9f6294677d2d...
In Command Line Interface for Signal
I said it's not enforced. I cannot speak for moxie or Signal. I can speak for my own experiences, as the maintainer of a fork of signal-cli, and I have never seen any evidence that Signal's servers block signal-cli or my fork. I don't know about signal-cli but my fork clearly identifies itself in the user agent (and another field called the "signal agent") to the server. If they wanted to block me they could. edit: signal-cli also sets a user agent clearly identifies itself: https://github.com/AsamK/signal-cli/blob/05abb3f9f6294677d2d...
In Command Line Interface for Signal
> It's practically a principle of the Signal project to discourage third-party clients It depends on what you call "client". At the protocol level sure, you're supposed to behave just like any official client. But to do that you just have to use their client library[0] and implement whatever you want on top of this, like signal-cli[1] has been doing successfully for quite some time now. Some forks exist here and there (from memory, there's one with WhatsApp import, another with UI features), there's just no interest for a completely new client. There's only so much space for innovation for what is mostly a messaging app. To be fair, the absence of an API (which Telegram has) also limits possibilities. [0]: https://github.com/signalapp/libsignal-client [1]: https://github.com/AsamK/signal-cli
In It looks like Signal isn't as open source as you thought it was anymore
Signal is still an improvement over other non-federated messengers in that it's open-source, so you actually can try to improve the situation, although it's notoriously difficult. As an example of more platform support: https://github.com/signalapp/ringrtc/pull/12 signal-cli is an example of a 3rd party client which is tolerated for now: https://github.com/AsamK/signal-cli The main problem right now is that they don't have enough developers to take care of everything, but it's not specific to centralized services (no developer == no code). If you care about it, you can develop your own client using their library (à la signal-cli). Regarding your last paragraph: I could probably list 20 features I'd like to see in Signal. That doesn't mean I want somebody implementing them with no guarantee about how securely they are implemented. One of t
Read the rest
he main goals of Signal is to provide guarantees against dragnet surveillance, and that constraint takes precedence.
In WhatsApp and most alternatives share the same problem
I've been using Signal for years now and although it still has its flaws (requirement for a phone number, PIN number debacle), it is IMHO the best alternative and I've moved my sginificant other, friends and families towards it. Combined with signal-cli (https://github.com/AsamK/signal-cli.git) you can easily set up your own files & messaging upload. For instance, I've created an automatic upload to a Google Photos album for my family group chat and they love it !
In Poll: Switching from WhatsApp

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.