[tor-dev] GsoC - Interested in "Revamp GetTor"

Israel Leiva israel.leiva at usach.cl
Sun Mar 16 21:31:31 UTC 2014


Hi!

My name is Israel Leiva, I'm a computer science student at University of
Santiago, Chile. More info about me in [1]. I'm interested in the 'Revamp
GetTor' project for the Google summer of code. I think that GetTor has a
huge impact on how to avoid censorship, and therefore it could be expanded
to do a lot more of what it does now. Here is my idea:

i) A modular design, with a core module in charge of transmitting data to
the others modules, each one of them would represent a different "service"
(e.g. SMTP)

ii) The core module will be in charge of receiving requests from the other
modules and answer them. For example, the SMTP module will say "Give me the
URL links for TBB in this language" and the core module will answer with
the desired links. These links could be retrieved from several locations,
my proposal is that the links could be stored in a private git repository
available only to trusted Tor developers, so the links and other data could
vary with time according to the different censorship behaviours.

iii) As I said, the other modules will each represent a different
"service". I propose the following three for starting:

   * SMTP: Enhance the current bot. I tried it a couple of days ago and it
didn't work as I expected (sent me a windows link when I asked for linux).

   * Twitter: this module will answer requests via twitter, either via
mentions or via direct messages. It will ask for the corresponding links to
the core module. There are lots of bots implemented out there, no need to
reinvent the wheel.

   * Skype: this module will listen for calls or chats and will answer with
a file transfer or message with the links. I believe this can be done using
the sevabot [2] in Python or the Skype::Any [3] in Perl.

The main idea is that this new design would allow for new services to be
implemented in the future.


** OTHER IDEAS **

Here are some minor ideas that could also be considered:

a) Most OS bring tools to make DNS requests, and an (experimented) user
could make custom requests for TXT records that contain links. I know this
isn't the case for most people, but it could be helpful.

b) Users could send formatted mails with their public PGP keys to the SMTP
service, and the bot will answer them with encrypted content.

c) Users could notify services with censored links, this means that if, for
example, a user requests the links via SMTP and one of them has been
blocked, he/she could send a message notifying this to the SMTP service.
This info along with stats about which services are more popular will be
saved in a log file (I think this is how is working now) and/or a database.
The purpose of this data will be to enhance GetTor, no info about users
will be recorded.

d) Other option to storage could be Github (as you may know, repos can be
downloaded as ZIP files).

e) For all the above, GetTor will need official twitter/github accounts.

f) Comunication between modules could be done via system commands, but I'm
open to any other suggestions. This communication will involve sending
links (trusted servers, github repo, dropbox accounts) or local uris
(~/tbb/latest.tgz).

A basic diagram representing what I've tried to explain can be found on [4].

I think the best way to achieve this is to rewrite GetTor, but if you
choose extend the current code to do it I'm okay with it. If you choose the
former, I could do it in Python, eventhough I have a lot more experience in
Perl (I've coded a module to automate the grading of programming tasks [5]).

This is just a draft, please let me know if you find this is the way to go
and I'll work in the details and a possible timeline to see how much can be
done in 4 months.


[1] http://ileiva.github.io
[2] https://github.com/opensourcehacker/sevabot
[3] http://search.cpan.org/~akiym/Skype-Any-0.06/lib/Skype/Any.pm
[4] https://raw.github.com/ileiva/Tor/master/revamp-gettor-simplediagram.txt
[5] https://metacpan.org/author/ILV

best.
--
israel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20140316/40502666/attachment.html>


More information about the tor-dev mailing list