Giter VIP home page Giter VIP logo

faceless's People

Contributors

ocram avatar sarciszewski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

faceless's Issues

Delete branch with "MCRYPT_BLOWFISH" in "decrypt()" method

After a transition period of roughly 42 days (i.e. 2014-08-28), the branch that uses MCRYPT_BLOWFISH in decrypt() can be safely deleted.

All new messages and comments are already encrypted in Rijndael/AES and from that date, old messages will be either outdated or have been destroyed automatically, anyway.

Cost of running the app

This is a question and not an issue.

Apart from the cost of buying an sms-enabled phone. Is there an cost associated with sending and receiving sms on the phone in your Twilio account. If yes, what is the average running cost of setting up the service.

Secondly, is it possible to work other third-party sms/phone services.

Make the block feature work for global feed (not friends) as well

Right now the "Block user" feature only prevents new messages by that user from appearing in the "Friends" feed.

When a user is blocked, however, this should also cause new messages by that user from appearing in the "Latest" and "Popular" feeds.

A requirement is that blocking affects future messages only.

is `id` really needed in `throttling`?

Looking at the table structure, I would suggest to replace all the IDs with a UUID to allow multiple servers to write at the same time without possible DB problems, but until you do some code rewriting, I would suggest to drop the field id in the throttling table and change the UNIQUE key left into a PRIMARY one

Allow posting messages to the public only (and not to friends)?

Users often report that they don't want to write something and reveal certain things because they're afraid their friends may read it.

Of course, friends cannot identify the author of a post, but especially right now (at the beginning), users are afraid of friends guessing their identity.

This brings up the question whether users should be allowed to select the audience of their messages, for example like this:

Audience:
+ Friends and Public
+ Public only
+ Friends only

Public means that their messages will appear in the global feeds and Friends means that their messages will appear in the specific feeds with a label such as "Friend" or "Friend of a friend".

But this may cause users to select "Friends only" or "Public only" habitually, defeating much of the purpose and potential of the app while there is no rational reason and need to do so.

Word-of-mouth advertising

Benefiting from word-of-mouth advertising is realy hard for anonymity/pseudonymity apps.

Users want to hide precisely the fact that they're using such an app, usually.

Allowing for anonymous invitations to be sent to friends may sound like a great solution, but this should normally be considered spam/illegal.

Contact discovery (private information retrieval)

The first instinct is often just to hash the contact information before sending it to the server. If the server has the SHA256 hash of every registered user, it can just check to see if those match any of the SHA256 hashes of contacts transmitted by a client.

Unfortunately, this doesn’t work because the “preimage space” (the set of all possible hash inputs) is small enough to easily calculate a map of all possible hash inputs to hash outputs. There are only roughly 10^10 phone numbers, and while the set of all possible email addresses is less finite, it’s still not terribly great. Inverting these hashes is basically a straightforward dictionary attack. It’s not possible to “salt” the hashes, either (they always have to match), which makes building rainbow tables possible.
[...]
As far as we can determine, practical privacy preserving contact discovery remains an unsolved problem.

https://whispersystems.org/blog/contact-discovery/

Encryption - questions and timing side-channel

https://github.com/delight-im/Faceless/blob/master/Server/public_html/classes/Encryption.php#L49
This HMAC comparison is not made in constant-time, nor does it follow a "double HMAC" construct.

http://blog.astrumfutura.com/2010/10/nanosecond-scale-remote-timing-attacks-on-php-applications-time-to-take-them-seriously/

https://github.com/delight-im/Faceless/blob/master/Server/base_crypto.php
I'm curious as to why you're using MCRYPT_BLOWFISH instead of something like, say, AES (MCRYPT_RIJNDAEL_128)?

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.