Hybrid P2P and server/client messaging protocol? - Android Q&A, Help & Troubleshooting

I´m not a developer, but do have a superficial understanding of communications.
There are many attempts on creating a more censorship resistant and independent/incorruptible communications protocol.
To me it appears that these attempts are splitted between:
1) Those that attempts to be decentralized p2p. (like Jami and Briar)
2) Those that rely on a server. (like Signal and Matrix)
P2P is more desirable from a censorship point of view, but it´s very challenging to get realiable P2P communication up and running seamlessly over the Internet, without any server. It´s virtually impossible for ordinary people to use Jami and Briar.
On the other hand we have Signal and Matrix, that are easier to use, but as I understand it they run all the communication over centralized servers?
A more balanced approach is XMPP that has federated servers. The issue here is that all communication is running through the servers, which means that a lot of capacity is needed and all the data is flowing through few points. In my experience I was kicked from a voluntary server, because my son he had fun bombarding me with messages and pictures. Then I could of course use a paid server.
In my mind a much better approach would be to develop a federated hybrid server/p2p protocol, like XMPP, just only for exchanging IP adresses and ports between friends. Then let all the traffic flow p2p? From a security and safty point of view, there´s no reason that all the messages/pictures/videos goes through a centralized server? In this way a server could serve factors more people, a paid server would become a lot cheaper and a voluntary server would be of much greater utility?

Related

What is difference between the Web application testing and Client Server testing?

Testing the application in intranet (without browser) is an example for client -server.(The company firewalls for the server are not open to outside world. Outside people cannot access the application.)So there will be limited number of people using that application.
Testing an application in internet (using browser) is called web testing. The application which is accessible by numerous numbers around the world (World Wide Web.)
So testing web application, apart from the above said two testing’s there are many other testing’s to be done depending on the type of web application we are testing.
If it is a secured application (like banking site- we go for security testing etc.)
If it is an ecommerce testing application we go for Usability etc. Testing’s.

[Q] Android p2p file transfer with Google Cloud Messaging push notification

I have an issue which I can't even start to solve after hours of researching. I need to use GCM to facilitate peer to peer file transfer (JPEG image of circa 1.5 megabytes in file size to be specific).
Client A opens a socket and uses AirBOP to notify client B that it wants to send a picture and gives B relevant information (IP address + port to use, ephemeral I guess). B then connects to A and downloads the picture. All this behind NAT and via 3G/4G if at all possible. No server involved.
I looked into TTorrent, Snark, Cling, NAT hole punching, PWnat etc. but I still don't know how to achieve the above, and if it is possible at all..
This is a developer question but I'm restricted to General. I'm looking for a road map/guide lines/library/existing tutorials/projects on solving the above problem.
Thank you.

[Q] ISO two apps with specific functionality

App 1: Ability to make multiple IP profiles for one SSID. For example, when connected to one SSID, I want to be able to change my IP from the dynamic, DHCP IP I pulled automatically to a previously designated static IP in a different subnet. Perhaps have multiple static profiles that I can bounce between as needed. This is not for connecting to a router to get on the internet. This is for a specialized process in my company. Also, if this could be accomplished without root, that would be great.
App 2: An augmented reality app that I can import my own Google Earth KMZ/KML files that have my personal points of interest that I could view in the augmented reality app. I do not want these POI's to be published to the public.
Anyone know of any apps that can do these things? My search has been fruitless thus far. I am asking here because I'm always amazed by your Google-Fu. Thanks.

[APP][2.3+] Project Space Cloud: Decentralized, personal entertainment cloud server

Hey there,
I am currently developing some kind of entertainment cloud server for Android. It runs on any Android device and turns your phone into a personal cloud server, remote media player, webcam and much more.
You can manage access and permissions with the help of users and groups and employ it as your personal messenger, invite your friends and automatically sync data accross multiple devices.
The core is a robust, leightweight, SSL secured and Android optimized web server (MISS) that makes it possible to access the cloud from any browser. All unnecessary overhead is removed to deliver great performance, even on slow devices. The web interface is designed to be rendered really fast on phones and tablets.
Another central part will be the media plugin. An old android device can be a great remote controlled media player or web radio with a fancy display and cool visualizers.
I cannot disclose all the features, yet. It would be quite a list, anyway.
Another thing that I really love about this project is the fact that it might help reduce electronic waste and power consumption. One could call it regional syncing :cyclops:
I am really curious about your opinions. The development is in progress, and I hope the effort is not in vain.
I created some drafts to explain the basics: imgur.com/a/LXu24

Should I be authenticating users against a locally synchronized database?

I'm building an Android application which will allow my sales team to quote projects and I want it to work while they're in remote areas, which means it will download price changes when they get into service areas and also upload any quotes they have done. Since it needs to work offline, I need to authenticate the user login but I'm hesitant to be authenticating them against the database stored locally on the device. Is there a proper way of doing this? I can't authenticate remotely because it has to work offline. Is the local NoSQL database secure? Should I not worry too much about it and just make sure they're authenticated remotely prior to the synchronization when a connection becomes available? Thanks a lot.

Categories

Resources