| app | ||
| util | ||
| .gitattributes | ||
| autogen.sh | ||
| README.md | ||
FLO_Twitter
This is a peer-peer Twitter like application totally encrypted in transit without needing a central server.
Current web based technologies have a inbound address problem namely ordinary web users do not have a fixed IP, so it is not easy to establish connection to them.
We propose to solve that problem by using TOR addresses for ordinary users which can provide a fixed inbound routable address on Internet for everyone including for those on dynamic IPs.
The TOR Project very easy to connect to a TOR based service. We believe it can form a stable architecture for peer to peer services.
Another limitation of current web based technologies is ordinary users cannot allocate a fixed port using just their web browsers for inbound connections. So every user will need to run their own webservers on which they can receive chat messages. We could not find a way to eliminate webservers. But we have found a very simple webserver called Mongoose Webserver, where a user can invoke a fixed port based service on click of a single button.
To facilitate globally unique identification of every peer, we propose to use FLO Blockchain IDs. Then user can then attach his TOR address onto his FLO id inside the FLO Blockchain.
Since the blockchain data is immutable, it will provide a continous uniterruptable source of connection information based on user's FLO ID.
Requirements
- Ubuntu OS or its derivatives (or) Andoid
- Onion Browser (Brave for Desktop or Tor Browser/Orbot for Android)
- FLO ID
Installation
The FLO_Twitter WSS can either run on Ubuntu OS or Android
Ubuntu
-
Download or Clone this repo
git clone https://github.com/ranchimall/FLO_Twitter -
Open terminal in the directory
cd FLO_Twitter -
Run
autogen.shto install tor, configure tor and create the start file.sudo ./autogen.sh
Android
- Download and extract FLO_Twitter to Internal Storage Home (
/storage/emulated/0/) Make sure it is extracted as FLO_Twitter (if its extracted as FLO_Twitter-master.. rename it to FLO_Twitter). The extracted path should be/storage/emulated/0/FLO_Twitter/ - Install the app using
util/FLO_Twitter.apk - Install Orbot
- Open Orbot
- Open Options (
:) -> Hidden Services -> Hosted Services- Add New Service with local port and onion port as
3232and save it
- Add New Service with local port and onion port as
- Enable
VPN Modeand open ⚙️- add
FLO_Twitterand the browser (Orfox ll be enabled by default)
- add
- Open Options (
Usage
The FLO_Twitter WSS should be started and then you can access it from any device.
Starting FLO_Twitter WSS
Ubuntu
-
run start in terminal (in the
FLO_Twitterdirectory). Enter a strongserver-passwordwhich will be used to connect in client../start <server-password> -
FLO_Twitter WSSandTorwill be started automatically. (Hidden_service will be created on the 1st time). Your hidden_serviceonion addresswill be displayed in information dialog box
Android
- Open
FLO_Twitterapp - Open
Orbotapp andStart- Open Options (
:) -> Hidden Services -> Hosted Services and Copy theonion address
- Open Options (
Bookmark the onion address (<url>.onion:3232) in the browser
Accessing the client webpages
- Open the
onion address(<url>.onion:3232) in Onion browser (Bravefor desktop orTor Browser/Orbot-enabled browsers for android) [not necessary to be on the same device] - Enter the
server-passwordand clickConnect. Access will be granted when entered correct server-password - Enter the
UsernameandFLO_ID privKey. (FLO_ID privKey can be generated using flo_webWallet or flo-core wallet). FLO_ID private key is important! DO NOT lose or share it! - Click
SignIn. New users and users changing the onion address or username will require to register in the FLO blockchain. (The registration is automatic, just click on ok when prompted). A minimum amount will be required to register [Balance recharge can be done using https://international.bittrex.com/]. Upon successful registration the txid will be alerted
- Now your are logged on to FLO_Twitter.
FLO_Twitter Features
- Home
- Enter Tweet and post.
- Watch posted tweeted by users you follow
- Profile
- Click on the profile list in right-side column to navigate to the respective user profiles
- Watch tweets posted by an user
- Follow or Unfollow the user
- Message
- Click on the profile list to open the user chat
- Send and Receive messages with the other users
NOTE:
- All Tweets are Signed using the Tweeter's FLO_ID PrivKey
- Hence all Tweets are verified by the Tweeter's PubKey
- All Messages are signed by the Sender's Privkey and Encrypted with Reciver's PubKey
- Only the Receiver can decrypt the message using their own PrivKey
- Message's signature is verified using Sender's PubKey