Giter Club home page Giter Club logo

zuccnet's Introduction

Zuccnet

End-to-end Encrypted Facebook Messenger

Version License

Zuccnet is a fork of https://github.com/mjkaufer/messer, a command-line client for Facebook Messenger. Only difference is, Facebook can't read your messages.

It is known that Facebook scans your messages. If you need to keep using Facebook messenger but care about privacy, Zuccnet might help.

It's pretty simple: you and your friend have Zuccnet installed. Your friend gives you their Zuccnet public key. Then, when you send a message to your friend on Zuccnet, your message is encrypted on your machine before it is sent across Facebook to your friend. Then, your friend's Zuccnet decrypts the message. Facebook never sees the content of your message.

I'm not a security person and there's probably some stuff I've missed - any contributions are very welcome! This is very beta, don't take it too seriously.

What your friend sees What Facebook sees
terminal fb

Quick Start

node version 12.x required

  1. Install zuccnet

    $ npm install -g zuccnet
  2. Run zuccnet

    $ zuccnet
  3. Enter your login details (your username and password are not stored)

  4. Get your friend's public key, and assign it to them in Zuccnet

    $ public_key "John Smith" /Users/tomquirk/Downloads/johns_id_rsa.pub
  5. Send them a message

    $ message "John Smith" Hey John, this is a super secret message
    
  6. ๐Ÿช„

FAQ

Do you store any of my data?

We don't store your username, password, or any of your interactions on Zuccnet.

The only thing we store is a temporary login token when you first log in. This let's us authenticate you with Facebook without you having to enter your username and password every time. If you want to get rid of it, simply run zuccnet cleanup, or if you're in a Zuccnet session, run the logout command.

Can I use a deactivated Facebook account?

No, unforunately not. If you use Zuccnet with a deactivated Facebook account, your account will be reactivated.

How do group chats work?

Messages from group chats appear like

(My cool friends) John Smith - hey guys!!$$@@

Send a message to a group by using the message command. The name is the name of the group chat! Reply works as normal

Commands Reference

message

Sends a message to a given user

(message | m) "<user>" <message>

Examples

  • message "Matthew" hello world!
  • m "Matthew" hello world!

When sending a message, Zuccnet picks the closest match to what you type in as user. For this reason, you should probably use last names if you want to avoid accidentally texting someone.

reply

Replys to the last message you recevied i.e. Sends a message to the user of the most recently received message.

(reply | r) <message>

Example

  • r "hey yo this is my reply"

Note: this will only work if you have received at least one message through Zuccnet.

contacts

Lists all of your Facebook friends

contacts

history

Displays the last n messages in the conversation with a given user. The number of messages to retrieve are optional (default is 5).

(history | h) "<user>" [<n>]

Examples

  • history "Matthew" 10
  • h "Matthew"

recent

Displays the n most recent conversations. The number of threads is optional (default is 5). The --history option will display the 5 most recent messages in each thread.

recent [<n>] [--history]

Examples

  • recent
  • recent 10
  • recent --history

clear

Clears the number of unread messages in the window title. Since we cannot listen on focus events, it has to be done manually.

(clear | c)

logout

Logs you out

logout

mute

Mutes a thread. If no seconds are specified, the thread is muted indefinetely.

mute "<thread-name>" [seconds]

unmute

Unmutes a thread

unmute "<thread-name>"

settings

Configure your user settings on Zuccnet

settings (set | get | list) [<key>=<value>]

Examples

  • settings list
  • settings get SHOW_READ
  • settings set SHOW_READ=true

For supported settings, see section below

Supported Settings

  • SHOW_READ
    • Marks conversation as "read" when using clear command

Lock-on Mode

Locking on to a user or group allows you to send messages without having to specify the message command; just type away!

lock "Tom Q"

To unlock, simply run:

--unlock

Secret Mode

When in this mode, any messages sent or recieved in the thread will be deleted for you (note, they won't be deleted for everyone).

lock "Tom Q" --secret

Non-interactive Mode

Zuccnet can be run in non-interactive mode with command line arguments to execute a single command.

zuccnet --command='<command>'

Login will be prompted if this is the first time logging in.

Examples

  • zuccnet --command='m "John Smith" Hey, John'
  • zuccnet --command='r Hey, John'

Cleanup

If ever you want to clean up any old Zuccnet sessions and start from scratch, run:

$ zuccnet cleanup

Contributing

Want to add a new command, fix a bug or improve Zuccnet in another way? Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

This project is licensed under the ISC License - see the LICENSE file for details

zuccnet's People

Contributors

tomquirk avatar mjkaufer avatar 2016rshah avatar jasonnor avatar ethan-ou avatar schmavery avatar kleo avatar ravichandra-c avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.