Hi everyone,

Today is the pencils-down day for the GSOC 2013. I am really happy to have
been a part of this project. This is my first time at open-source and at
development at a bigger scale. Sometimes, the thought that a lot of people
might actually use the android app really scares me, but it has also been
an inspiration.

My project's goals were to develop an android application that can help in
easy and secure exchange of darknet node references and also to try an
android port of freenet. The latter part has been dropped at a very initial
stage because of want of time. I have given a brief description of my
project towards the end of the mail.

I would like to thank my mentor nextgens for his valuable advises at the
apt times (using multicast, reducing unnecessary complexities, using Moxie
trustmanager, to modify MDNSReceiver ...) and toad_ for always being prompt
with replies to all the random questions I've had and also for his useful
inline comments on every mail. Also, I wish to thank all the other
developers on irc. Especially Arnebab, tgs3 for trying, unsuccessfully, to
break me out of my school LAN. Another experience I cherish about the
project, are the thought provoking discussions between experienced
developers about the NSA, about gwt, about maven, about recursively
building whole operating system and even about global warming.. on irc


Brief Description:

Each mobile is meant to be associated with a home freenet node. To achieve
this, a darknet app server (on the lines of SimpleToadletServer) is added
to freenet. The presence of this server is broadcast on all the network
interfaces by using jmdns through MDNSDiscoveryPlugin. When our mobile is
connected to the home network (either connecting to same router/ap or
tethering via usb/bt/wifi) "and" the app is running, it discovers this
broadcast, tries to verify whether it is actually talking to the home
network (manual confirmation during first association and automatic from
later on) and downloads our darknet node reference. Also, if it has
recently exchanged new references, it pushes them to our home node. These
references are displayed on the add a friend page until the user either
confirms/rejects them.

To exchange nodereferences, either bt or wifi-direct (on newer mobiles) can
be used on the app. As soon as one of these is started, a server starts on
individual mobiles. The details of the device required for connection e.g.
SSID, MAC, passkey etc. are stored as a QRCode and also as an NDEF message
(nfc) on each mobile. Now, one of the mobiles has to transfer its details
to the other mobile either by bringing devices back to back or by scanning
QR. The device which receives the details shuts down its own server and
connects to the other mobile's. After exchanging node references, the
connection is closed. In addition, the conventional approach of "discovery,
click to connect" is also supported. Also, for mobiles with good
cameras(>5MP), scanning the whole nodereference as a QR is supported

There is much scope for improvement on the app.
For example, putting android application record in nfc message so that the
app will be automatically downloaded from play store if our friend does not
already have the app or mobile - friendnode exchange or homenode-homenode
exchange etc.
I am very much willing to continue being a part of the project

Thanks,
Nitesh Bharadwaj
_______________________________________________
Devl mailing list
Devl@freenetproject.org
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to