-
Notifications
You must be signed in to change notification settings - Fork 445
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
app-to-app communicator on Android #2131
Comments
Why does this have to be a standalone app instead of one based on @brussee's work? |
@whirm Another student, first Java prototype.. :-) |
yeah, but that will mean having to reimplement it from scratch in python, I think that will be a waste of effort. Isn't it better to directly implement the prototype feature on the existing codebase? |
This project by design is isolated from the huge Tribler/Dispersy code base. If it works this method cannot be easily be integrated into Dispersy. Sometimes you need 10 tries before it punctures on Android with 3G/4G carrier networks. Dispersy only tries stuff once and only once. |
First running code: https://github.com/Jaapp-/app-to-app-communicator |
Next sprint Goals: |
Detailed report on NAT puncturing: http://www.ds.ewi.tudelft.nl/reports/2010/PDS-2010-007.pdf |
Advanced feature: voting on external IPv4 https://github.com/Tribler/dispersy/blob/devel/dispersy.py#L738 |
Tribler IP Use Datagram Socket instead of Socket |
Algorithm for peer list:
|
Fixes and polish:
|
Live on app store: https://play.google.com/store/apps/details?id=org.tribler.app_to_appcommunicator @YourDaddyIsHere our progress from earlier this year |
Good demo app, now project has finished |
Create a first app for automagic NAT puncturing and traversal on Android.
The app will connect to others which installed this app and try to establish a connection with them. This is the only functionality of this app: getting an UDP NAT puncture to others. Part of this functionality is discovering others and coordinating a puncture attempt. On this first screen of the app the currently discovered other app installs are shown. For each other user the status of the puncture is show in real-time. Builds upon the ideas of this work.
Testing This app will be released on TUDelft Android account, source code on Github, and with Tweakers coverage we aim to obtain test users.
No-server-needed Only 1 app is needed, without any dedicated server software. TUDelft will provide two Nexus 6 test phones with two fixed wifi-based IPv4 numbers. These will run the dedicated app and serve as hard-coded servers running the client servers and facilitate peer discovery.
PEX PEX builds on the no-server-needed part to discover others. Simply use the Peer Exchange message to decentralise the peer discovery. Use a simple PEX implementation. Only implement the ut_pex message without the added and dropped extras.
many ports One idea to evaluate is to open 60000 UDP listen ports from your app. This extreme approach would capture all incoming packets.
puncturing Implement the puncture-request message to conduct the actual NAT traversal with the help of another user. Essential approach description, see section 4 for another description of this, plus IETF draft
Starting point: https://github.com/MaStanford/AndroidSimpleNetworkInfo
Possible sprints (2 weeks each):
The text was updated successfully, but these errors were encountered: