• Stars
    star
    488
  • Rank 90,182 (Top 2 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created over 10 years ago
  • Updated almost 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[UNMAINTAINED] Faceless is where you can talk freely

Faceless

Faceless is where you can talk freely. Share messages with your friends and the whole world.

Preview

Main screen Message details Adding messages
01 Main 02 Details 03 Add

Installation

Android

  1. Rename Android/src/im/delight/faceless/ConfigExample.java to Config.java and replace all occurrences of REPLACE_THIS_WITH_VALUE with a proper configuration value for your setup
    • For CRYPTO_HASH_SEED_ROT13, generate a long random string, e.g. 9QMfiOCPJ78gaRY6DZjzR7HQ
    • For CRYPTO_HMAC_KEY_ROT13, generate a long random string as well, e.g. 7zKCg9pU2ulUgYTi8ImHZETQg5AtCP3UWNwrLI2QCwl8Aiil3jOUmh52HCHF29ssOezUMx4c
  2. Add the following dependencies as library projects:

Server

  1. Set up a web server with Apache + PHP + MySQL
  2. Optionally, set up a Twilio account and register an SMS-enabled phone number POSTing to the public URL of Server/htdocs/internal/sms_verify.php. If you skip this step, users will still be able to use the app, but only on a single device. When switching to a new device, they won't be able to use the app anymore. This is because re-activation on the new device is done via this SMS verification.
  3. Rename Server/config.example.php to Server/config.php and replace all occurrences of REPLACE_THIS_WITH_VALUE with a proper configuration value for your setup
    • For CONFIG_CLIENT_HASH_SEED, take the value of CRYPTO_HASH_SEED_ROT13 from the Android configuration and encode it using ROT13
    • For CONFIG_API_SECRET, take the value of CRYPTO_HMAC_KEY_ROT13 from the Android configuration and encode it using ROT13
    • If you haven't set up SSL/TLS for your server yet, disable CONFIG_ENFORCE_SSL by setting it to false
    • Set CONFIG_API_DEBUG to true while setting up and debugging your server instance
  4. Set up cron jobs for htdocs/workers/dispatcher.php, htdocs/workers/score_updater.php and htdocs/workers/cleaner.php
  5. Enable mod_rewrite for the Apache web server
  6. If you don't host your server on Heroku, you can delete the two files Server/Procfile and Server/web-boot.sh

Troubleshooting

  • If the app responds with "please check your internet connection"
    • Please copy the value of API_BASE_URL from your Android configuration and append /messages/list to it
    • Try to open that URL in your web browser
    • If the URL doesn't exist (404 Not Found), either your directory paths are wrong or mod_rewrite is not working correctly
    • If mod_rewrite is not working, please ask your hosting provider for help or check your httpd.conf for LoadModule rewrite_module modules/mod_rewrite.so and AllowOverride FileInfo
  • If the app responds that it is "out of service"
    • Please check that CONFIG_API_LIVE is set to true in your server configuration
    • Please check that the database configuration in the CONFIG_DB_* constants in your server configuration is correct
  • Optionally, if you want to debug the server responses in general
    • Please open Android/src/im/delight/faceless/Server.java from the Android app
    • Search for the method protected static int parseStatus(final String responseText, final boolean requireError)
    • Add something like System.out.println(responseText); as the first line inside that method
    • All your server responses will now be logged to your console by the Android app

Translations

Known issues

Android

  • The app cannot be installed on devices without telephony features (e.g. tablets). This is because (a) the app is optimized for phones and (b) users would have to enter their phone number manually, otherwise, and (c) the app curently can run on a single device only.

Twilio

  • "At the receiving end of SMS messages, Twilio cannot guarantee that every international SMS message sent to us will be received in your SMS log. Twilio accepts these messages, however it is the responsibility of the sending phone number carrier to deliver the SMS message to our network. I'd particularly recommend using our UK mobile numbers or Swedish mobile numbers. These numbers have been pretty successful at receiving SMS from other countries. There are two other things you should be aware of which affect the delivery of inbound international SMS: not all users will have plans which support international SMS, and international roaming might make the phone unable to send or receive SMS. If your users are primarily travelers, it's very likely that you will see issues of this type." (Lauren B. from Twilio)

Similar services

License

Copyright (c) delight.im <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see {http://www.gnu.org/licenses/}.

More Repositories

1

Android-AdvancedWebView

Enhanced WebView component for Android that works as intended out of the box
Java
2,387
star
2

FreeGeoDB

Free database of geographic place names and corresponding geospatial data
PHP
1,586
star
3

HTML-Sheets-of-Paper

Word processor in your browser using HTML and CSS (for invoices, legal notices, etc.)
CSS
1,208
star
4

PHP-Auth

Authentication for PHP. Simple, lightweight and secure.
PHP
1,073
star
5

ShortURL

Bijective conversion between natural numbers (IDs) and short strings
C
381
star
6

Android-DDP

[UNMAINTAINED] Meteor's Distributed Data Protocol (DDP) for clients on Android
Java
273
star
7

PHP-PrivacyPolicy

Programmatically composable privacy policies for humans and machines
PHP
257
star
8

Android-SimpleLocation

Utility class for easy access to the device location on Android
Java
198
star
9

Knowledge

Random pieces of knowledge β€” with anecdotes and quotes
189
star
10

PHP-Cookie

Modern cookie management for PHP
PHP
165
star
11

MovieContentFilter

Watch movies with the freedom (not) to filter
PHP
142
star
12

Emoji

[UNMAINTAINED] Emoji (Unicode) and emoticon support for Java and Android
Java
95
star
13

AppRater

Android library that lets you prompt users to rate your application on their appstore (e.g. Google Play)
Java
75
star
14

Android-Languages

Custom language selection and access to language names for Android
Java
74
star
15

PHP-Str

Convenient object-oriented operations on strings
PHP
70
star
16

Android-Commons

[UNMAINTAINED] Reusable components and utilities for Android
Java
69
star
17

AndroidPatternLock

List of all combinations for the Android pattern lock
Java
69
star
18

PHP-FileUpload

Simple and convenient file uploads β€” secure by default
PHP
63
star
19

PHP-I18N

Internationalization and localization for PHP
PHP
57
star
20

Javadoc-to-Markdown

[UNMAINTAINED] Generate Markdown from your Javadoc, PHPDoc or JSDoc comments
JavaScript
56
star
21

JS-NeuralNetwork

Neural networks in JavaScript. Well-documented and object-oriented.
JavaScript
56
star
22

OpenSoccer

[UNMAINTAINED] Online Soccer Manager
PHP
51
star
23

PHP-DB

Safe and convenient SQL database access in a driver-agnostic way
PHP
47
star
24

Localize

[UNMAINTAINED] Collaborative Translation for Android
PHP
46
star
25

PHP-Router

Router for PHP. Simple, lightweight and convenient.
PHP
38
star
26

Android-Audio

High-level library for efficient playback of sounds and music on Android
Java
35
star
27

htaccess

.htaccess with reasonable defaults for most sites
ApacheConf
29
star
28

PHP-Foundation

Writing modern PHP applications efficiently
Shell
29
star
29

PHP-IDs

Short, obfuscated and efficient IDs for PHP
PHP
27
star
30

Secure-Firefox

Hardening Mozilla Firefox for maximum privacy and security
27
star
31

Android-Identicons

[UNMAINTAINED] Identicons for Android β€” turn any data into a visual hash
Java
23
star
32

PHP-Random

The most convenient way to securely generate anything random in PHP
PHP
22
star
33

PHP-GitScraper

Downloads entire Git repositories from publicly accessible ".git" folders over HTTP
PHP
20
star
34

PHP-HTTP

Hypertext Transfer Protocol (HTTP) utilities for PHP
PHP
18
star
35

Android-Countries

Provides country codes in accordance with ISO-3166-1 and localized names for each country
Java
18
star
36

PHP-Base64

Simple and convenient Base64 encoding and decoding for PHP
PHP
15
star
37

PHP-BaseConvert

Conversion of arbitrarily large numbers between any two bases or alphabets
PHP
15
star
38

NationSoccer

[UNMAINTAINED] Free 1-vs-1 soccer game for Android
Java
14
star
39

PHP-Temporal

Immutable date and time for PHP with a convenient interface
PHP
13
star
40

Java-Shapefile-Parser

Parses ESRI shapefiles and extracts all spatial/geometric data with attributes
Java
11
star
41

Android-WebRequest

Fluent interface for easy HTTP requests to web servers (GET, POST, PUT or DELETE)
Java
11
star
42

Android-Time

Library for displaying locale-specific time in Android
Java
10
star
43

Android-Tasks

[UNMAINTAINED] Helper classes for recurring and automatic tasks in Android
Java
9
star
44

AndroidDrawableResizer

[UNMAINTAINED] Automatic resizing of Android drawables from one density to all others
PHP
8
star
45

Java-Crash-ID

Generates unique fingerprints for crashes on Android and the JVM
Java
8
star
46

AndroidEmoji-PNG

[UNMAINTAINED] Android emoji from AndroidEmoji.ttf as single icons in PNG format
PHP
8
star
47

Android-KeyValueSpinner

Spinner component that works with normal values but additionally lets you use keys of an arbitrary class
Java
7
star
48

AndroidImageScraper

Extracts all image URLs from a given website ordered by file size
Java
7
star
49

MusikPlayer

Simple Music Player for Windows/Linux/Mac
Java
6
star
50

PHP-Foundation-Core

Core of β€œPHP-Foundation”
PHP
6
star
51

Android-InfiniteScrolling

Easily add infinite scrolling to ListView or GridView instances in Android
Java
5
star
52

2048

Fork of the popular game "2048"
CSS
5
star
53

Tools-for-Spotify

Tools and utilities for Spotify using the Spotify Web API
PHP
5
star
54

PHP-Alphabets

Sets of digits or characters that may be used for base conversions, encoding and decoding tasks, and input validation
PHP
4
star
55

Weather

Current weather data and hourly weather forecasts
PHP
4
star
56

JS-AbstractStorage

Flexible data storage for JavaScript backed by the Web Storage API
JavaScript
3
star
57

Maintenance

Simple and effective maintenance page for websites
PHP
3
star
58

Android-Monkey

[UNMAINTAINED] Library that generates pseudo-random streams of user input for Android apps
Java
3
star
59

JS-MediaPlayer

Convenient media playback with powerful controls in JavaScript
JavaScript
3
star
60

JS-PRNG

Pseudorandom number generator (PRNG) for JavaScript
JavaScript
2
star
61

2FA-Backup-Sheet

Create backup sheets for any service where you use two-factor authentication (2FA)
Shell
2
star
62

Batch-Renamer

Platform-independent utility for renaming batches of files
PHP
2
star
63

News60

Simple news aggregator and Twitter charts
PHP
2
star
64

PHP-OTP

One-time password (OTP) implementation for two-factor authentication with TOTP in accordance with RFC 6238 and RFC 4226
PHP
2
star
65

Requests

Logging and analysis of requests with optional static responses and redirects
Shell
2
star
66

Simple-ACRA-Storage

[UNMAINTAINED] Simple storage system for crash reports from ACRA on Android
PHP
2
star
67

Twitter-Charts-DE-AT-CH

Inofficial Twitter charts for Germany, Austria and Switzerland
1
star
68

Social-News-Germany

500 most-shared pieces from German online newspapers (March '13 β€” May '14)
1
star