BitCannon V.0.0.0.0.1

I got fed up with how slow file transfers over instant messaging clients
are, so I made this:

http://ossbox.com/bitcannon.htm (sorry for the terrible web page)

_QUOTE_
BitCannon is an easy to use secure file transfer program. It lets you
send and receive files over the internet through a direct and encrypted
connection. By using BitCannon, you'll be able to send files to your
friends as fast as your internet connection will allow. All of your data
is securely encrypted and authenticated, so you'll never have to worry
about anyone else being able to see the files you send!
_END_

It's just an experimental release, It's very minimally implemented, just
to see if it's worth making. So if anyone wants any features to be added
to the final version, now is the time to let me know :)

-- 
Studies have shown that 193% of all percentages are inaccurate.
0
FireXware
3/28/2011 2:06:11 AM
grc.news.latestversions 8022 articles. 0 followers. Follow

12 Replies
1388 Views

Similar Articles

[PageSpeed] 52
Get it on Google Play
Get it on Apple App Store

"FireXware" wrote

> It's just an experimental release, It's very minimally implemented, just
> to see if it's worth making. So if anyone wants any features to be added
> to the final version, now is the time to let me know :)

you already have v0.1.; much closer to v1.0 ;-)

A not needing .NET software version would make my day. 


0
lisa
3/28/2011 9:27:50 AM
On 3/27/2011 10:06 PM, FireXware wrote:
> I got fed up with how slow file transfers over instant messaging clients
> are, so I made this:
>
> http://ossbox.com/bitcannon.htm (sorry for the terrible web page)
>
> _QUOTE_
> BitCannon is an easy to use secure file transfer program. It lets you
> send and receive files over the internet through a direct and encrypted
> connection. By using BitCannon, you'll be able to send files to your
> friends as fast as your internet connection will allow. All of your data
> is securely encrypted and authenticated, so you'll never have to worry
> about anyone else being able to see the files you send!
> _END_
>
> It's just an experimental release, It's very minimally implemented, just
> to see if it's worth making. So if anyone wants any features to be added
> to the final version, now is the time to let me know :)
>

I rather like the graphic... :)
I have bookmarked this and hope to give it a whirl when it is likely to 
work (I actually could use it - using "dropbox" and other file 
repositories is a PITA when I need to transfer a file to a colleague)

0
Kerry
3/28/2011 2:28:35 PM
On 03/28/2011 03:27 AM, lisa wrote:
> "FireXware" wrote
> 
>> It's just an experimental release, It's very minimally implemented, just
>> to see if it's worth making. So if anyone wants any features to be added
>> to the final version, now is the time to let me know :)
> 
> you already have v0.1.; much closer to v1.0 ;-)
> 
> A not needing .NET software version would make my day. 
> 
> 

I'm learning how to do native windows programming right now, so that's a
possibility :)

-- 
Win32, get ready to be LEARNED... page 42 of 1233 of Programming Windows.
0
FireXware
3/28/2011 5:16:15 PM
> http://ossbox.com/bitcannon.htm (sorry for the terrible web page)

[...]
> It's just an experimental release, It's very minimally implemented,
> just to see if it's worth making. So if anyone wants any features to
> be added to the final version, now is the time to let me know :)

Just a question: who runs the "central server" ? See, given the
approach (i just *quickly* eyeballed the crypto page) it /may/
be possible for that server to "spoof" itself with the "other party"
which in turn means being able to send or receive files which
are meant to be private :( - then maybe I missed something
but that's what's I'm thinking after quickly looking at the crypto
page explaining how the whole thing works



0
ObiWan
3/30/2011 4:49:51 PM
On 03/30/2011 10:49 AM, ObiWan wrote:
>> http://ossbox.com/bitcannon.htm (sorry for the terrible web page)
> 
> [...]
>> It's just an experimental release, It's very minimally implemented,
>> just to see if it's worth making. So if anyone wants any features to
>> be added to the final version, now is the time to let me know :)
> 
> Just a question: who runs the "central server" ? See, given the
> approach (i just *quickly* eyeballed the crypto page) it /may/
> be possible for that server to "spoof" itself with the "other party"
> which in turn means being able to send or receive files which
> are meant to be private :( - then maybe I missed something
> but that's what's I'm thinking after quickly looking at the crypto
> page explaining how the whole thing works
> 

Right. The central server would be acting both as the CA and id-to-ip
lookup database, so it's not a TNO system, you have to trust the central
server.

If I go forward with the project, I'll probably open source it so anyone
could run their own central server. I'll also include some sort of TNO
ability allowing two people to exchange a key IRL for maximum security.
The CA would provide good security for people who can't physically
exchange a key, but don't mind having to trust a third party.

-- 
Win32, get ready to be LEARNED... page 95 of 1233 of Programming Windows.
0
FireXware
3/30/2011 7:45:44 PM
> Right. The central server would be acting both as the CA and id-to-ip
> lookup database, so it's not a TNO system, you have to trust the
> central server.

Which isn't exacly so "cool" - not criticizing your work, mind me,
but we all know the kind of "issues" to which the use of a centralized
approach may lead :(

> If I go forward with the project, I'll probably open source it so
> anyone could run their own central server. I'll also include
> some sort of TNO ability allowing two people to exchange
> a key IRL for maximum security.

Hmm... why don't you just leverage the existing GPG infrastucture ?

I mean... generating keys and upping them to GPG servers so that
folks will just need to fetch each others keys and use those for the
encryption... I know, that won't be the same as working with certs,
yet I think it may be worth exploring :)

Also... does the current approach perform a bi-directional check ?

I mean, let's say A wants to send a file to B; now... A does send its
cert to B but does also A receive a cert from B to check if, in effect
the file it's being sent to B and not elsewhere ?



0
ObiWan
3/31/2011 7:02:14 AM
On 03/31/2011 01:02 AM, ObiWan wrote:
>> Right. The central server would be acting both as the CA and id-to-ip
>> lookup database, so it's not a TNO system, you have to trust the
>> central server.
> 
> Which isn't exacly so "cool" - not criticizing your work, mind me,
> but we all know the kind of "issues" to which the use of a centralized
> approach may lead :(
> 
>> If I go forward with the project, I'll probably open source it so
>> anyone could run their own central server. I'll also include
>> some sort of TNO ability allowing two people to exchange
>> a key IRL for maximum security.
> 
> Hmm... why don't you just leverage the existing GPG infrastucture ?

Good idea! That's perfect!

> 
> I mean... generating keys and upping them to GPG servers so that
> folks will just need to fetch each others keys and use those for the
> encryption... I know, that won't be the same as working with certs,
> yet I think it may be worth exploring :)

I'll definitely check that out. Using GPG would be MUCH easier than
trying to implement my own ssl-ish protocol. Since I'm making a FILE
transfer program, encrypting and authenticating the files makes MUCH
MORE sense than encrypting the connection. Thanks for the idea.

> 
> Also... does the current approach perform a bi-directional check ?
> 
> I mean, let's say A wants to send a file to B; now... A does send its
> cert to B but does also A receive a cert from B to check if, in effect
> the file it's being sent to B and not elsewhere ?

Yes authentication happens both ways.

-- 
Win32, get ready to be LEARNED... page 95 of 1233 of Programming Windows.
0
FireXware
3/31/2011 10:31:52 PM
>> Hmm... why don't you just leverage the existing
>> GPG infrastucture ?

> Good idea! That's perfect!

well... as I wrote, it won't be the same as using SSL, yet...

>> I mean... generating keys and upping them to GPG servers so that
>> folks will just need to fetch each others keys and use those for the
>> encryption... I know, that won't be the same as working with certs,
>> yet I think it may be worth exploring :)

> I'll definitely check that out. Using GPG would be MUCH easier than
> trying to implement my own ssl-ish protocol. Since I'm making a FILE
> transfer program, encrypting and authenticating the files makes MUCH
> MORE sense than encrypting the connection. Thanks for the idea.

exactly, see, given that the purpose is transferring files in a way
which should avoid a 3rd party from reading them, instead of
using an encrypted connection you may just encrypt the whole
file at origin using the other party key, shoot it (given that the
app name is "cannon" I think it's appropriate) on the wire to
the other party and then, once received decrypt the file using
the receiver private key; this will also avoid the need for a
central server since the existing GPG keyservers will fit *and*
also, given that those server only carry *public* key, there
won't be any risk related to some fake certificate server ;-)

Also, and since we're at it; here are some further ideas

Parallel transfers: use multiple sockets on both sides and
transfer different chuncks of the file over all sockets at the
same time, then, at end, reassemble the file at destination

Use of UDP: use a single TCP socket for the main connection
this one won't be used to transfer data but only to control the
connection, exchange whatever needed info and so on;
at the same time, the transfer sockets will use UDP which
will allow to reduce overhead and maximize speed

Sliding window: dynamically compute and adjust the size
of each "data chunk" to maximize speed; reduce the size
in case of errors, increase it (up to a given limit) if all ok

QoS: when creating the sockets, add some code to
request a "max speed" QoS policy

HTH


0
ObiWan
4/1/2011 9:46:25 AM
> Parallel transfers: use multiple sockets on both sides and
> transfer different chuncks of the file over all sockets at the
> same time, then, at end, reassemble the file at destination

forgot; in such a case you may want to add something to
the GUI to allow the user to specify the max number of
parallel sockets (up to a fixed max you'll configure) which
will then be used for the transfer

Uh ... another idea ... since we're at it :D this one will defeat
the idea of using UDP, yet it may be worth exploring; let's
say the cannon starts and the receiving party has only a
SINGLE port opened/forwarded; now, to use parallel
connection the receiver would need to open/forward
more ports but ... instead of forcing the user doing it, why
don't you just leverage the router/firewall built-in logic
to let it automagically open and forward ports for you :) ?

I mean... most if not all routers/firewalls understand the
FTP protocol so that, when they see a "PORT" command
they'll automatically open and forward the needed port,
now... if you implement the main "cannon" connection so
that it will work like a "fake FTP" it will just be a matter of
sending out some "PORT" commands on the "control
socket" to have the firewall dutifully open and forward
the transfer ports :)

In such a case we may have something like this

sender connects to receiver (receiver port is the one
manually opened/forwarded)

receiver sends out to the sender a number of "PORT"
commands over the "control socket"

sender gets each PORT commands and starts a
listening socket on that port - or, if too much ports
are requested, replies with an error :)

receiver connects to the given port and goes on
with the next port or, in case of error message, it
just uses the number of connection established
till that moment (or errors if no connection)

receiver sends a GET command (no real file name
needed here) to tell the sender it's ready to get
the payload (file)

sender starts the "chunked parallel transfer" on
all the sockets at once

all this only need to manually forward a SINGLE port :D


0
ObiWan
4/1/2011 10:00:35 AM
On 04/01/2011 03:46 AM, ObiWan wrote:
>>> Hmm... why don't you just leverage the existing
>>> GPG infrastucture ?
> 
>> Good idea! That's perfect!
> 
> well... as I wrote, it won't be the same as using SSL, yet...
> 
>>> I mean... generating keys and upping them to GPG servers so that
>>> folks will just need to fetch each others keys and use those for the
>>> encryption... I know, that won't be the same as working with certs,
>>> yet I think it may be worth exploring :)
> 
>> I'll definitely check that out. Using GPG would be MUCH easier than
>> trying to implement my own ssl-ish protocol. Since I'm making a FILE
>> transfer program, encrypting and authenticating the files makes MUCH
>> MORE sense than encrypting the connection. Thanks for the idea.
> 
> exactly, see, given that the purpose is transferring files in a way
> which should avoid a 3rd party from reading them, instead of
> using an encrypted connection you may just encrypt the whole
> file at origin using the other party key, shoot it (given that the
> app name is "cannon" I think it's appropriate) on the wire to
> the other party and then, once received decrypt the file using
> the receiver private key; this will also avoid the need for a
> central server since the existing GPG keyservers will fit *and*
> also, given that those server only carry *public* key, there
> won't be any risk related to some fake certificate server ;-)

Perfect.

> 
> Also, and since we're at it; here are some further ideas
> 
> Parallel transfers: use multiple sockets on both sides and
> transfer different chuncks of the file over all sockets at the
> same time, then, at end, reassemble the file at destination

Will do that for sure.

> 
> Use of UDP: use a single TCP socket for the main connection
> this one won't be used to transfer data but only to control the
> connection, exchange whatever needed info and so on;
> at the same time, the transfer sockets will use UDP which
> will allow to reduce overhead and maximize speed
> 
> Sliding window: dynamically compute and adjust the size
> of each "data chunk" to maximize speed; reduce the size
> in case of errors, increase it (up to a given limit) if all ok
> 
> QoS: when creating the sockets, add some code to
> request a "max speed" QoS policy

I can see that being useful, thanks.

> 
> HTH
> 
> 


-- 
He who sacrifices freedom for security will obtain neither.
0
FireXware
4/2/2011 6:48:59 AM
On 04/01/2011 04:00 AM, ObiWan wrote:
>> Parallel transfers: use multiple sockets on both sides and
>> transfer different chuncks of the file over all sockets at the
>> same time, then, at end, reassemble the file at destination
> 
> forgot; in such a case you may want to add something to
> the GUI to allow the user to specify the max number of
> parallel sockets (up to a fixed max you'll configure) which
> will then be used for the transfer
> 
> Uh ... another idea ... since we're at it :D this one will defeat
> the idea of using UDP, yet it may be worth exploring; let's
> say the cannon starts and the receiving party has only a
> SINGLE port opened/forwarded; now, to use parallel
> connection the receiver would need to open/forward
> more ports but ... instead of forcing the user doing it, why
> don't you just leverage the router/firewall built-in logic
> to let it automagically open and forward ports for you :) ?

Since it's TCP, it's possible to accept multiple connections on the same
port (think: http accepting many clients on port 80). I'm not sure if
two connections coming from the same IP would work. Maybe not, since
there's not much in the TCP packet header that would distinguish the
connections. But that idea, along with that UPnP crap, might make NAT
traversal a possibility.

> 
> I mean... most if not all routers/firewalls understand the
> FTP protocol so that, when they see a "PORT" command
> they'll automatically open and forward the needed port,
> now... if you implement the main "cannon" connection so
> that it will work like a "fake FTP" it will just be a matter of
> sending out some "PORT" commands on the "control
> socket" to have the firewall dutifully open and forward
> the transfer ports :)

Very good idea. Thanks.

[snip a lot of good stuff]


-- 
He who sacrifices freedom for security will obtain neither.
0
FireXware
4/2/2011 6:55:04 AM
>> SINGLE port opened/forwarded; now, to use parallel
>> connection the receiver would need to open/forward
>> more ports but ... instead of forcing the user doing it, why
>> don't you just leverage the router/firewall built-in logic
>> to let it automagically open and forward ports for you :) ?
>
> Since it's TCP, it's possible to accept multiple connections on the
> same port (think: http accepting many clients on port 80). I'm not
> sure if two connections coming from the same IP would work.

Well... yes, that would work too; as for same IP that won't be an
issue; the source port would be different :) at that point you may
just handle over the socket obtained by the "accept" to a thread
which will hande traffic on that particular socket

> But that idea, along with that UPnP crap,

Hey, *never* wrote about UPnP :) I was referring to a different
kind of approach which won't require enabling UPnP or having
a router/firewall understaning that stuff :)

As for the multiple ports, I was just thinking to UDP but, again,
yes, using a single port and multiple connections to that will
work w/o problems


0
ObiWan
4/4/2011 6:34:41 AM
Reply:

Similar Artilces:

0.0.0.0
Can someone tell me the function of this scan? FWIN,2001/08/28,20:06:43 -6:00 GMT,0.0.0.0:800,255.255.255.255:800,UDP "Ben" <notben@home.com> wrote in message news:9mhion$2hf9$1@news.grc.com... > Can someone tell me the function of this scan? > FWIN,2001/08/28,20:06:43 -6:00 GMT,0.0.0.0:800,255.255.255.255:800,UDP Ben, I haven't a clue. 800 TCP mdbs_daemon 800 UDP mdbs_daemon http://www.robertgraham.com/pubs/firewall-seen.html http://www.robertgraham.com/pubs/firewall-seen.html#3.6 http://www.robertgraham.com/pubs/firewall-seen.html#3.2 -- ...

0.0.0.0 ????
Obviously a local IP, but what are its functions/purpose? Thanks for educating the uneducated. In article <MPG.18bf7ade16e851cb989680@news.grc.com>, shr@p.com says... > > > Obviously a local IP, but what are its functions/purpose? > > Thanks for educating the uneducated. > Any available adapter - i.e. not bound to specific IP address. -- Bloated Elvis In article <MPG.18bf7ade16e851cb989680@news.grc.com>, shr@p.com says... > > > Obviously a local IP, but what are its functions/purpose? > > Thanks for educating the une...

!27.0.0.1 vs. 0.0.0.0
I can use any number of tools to see what ports I have listening and/or connected. But among the *Listening* ports, some are 127.0.0.1 and some are 0.0.0.0. What is the difference between 127.0.0.1 and 0.0.0.0 ? Since I've got both - there MUST be a difference. Thanks, Alan 0.0.0.0 stands for all interfaces (example: yourIPaddress,127.0.0.1-127.254.254.254) 127.0.0.1 stands for local interface only (127.0.0.1) > 0.0.0.0 stands for all interfaces > (example: yourIPaddress,127.0.0.1-127.254.254.254) > > 127.0.0.1 stands for local interface only (127....

63.0.0.0.0/255..0.0.0
Has anyone ever heard of this or know where it goes to.It was asking permission to act as a server? Thanks in advance for any help. "pb" <nothing@nomail.com> wrote in message news:9pa1u4$38b$1@news.grc.com... > Has anyone ever heard of this or know where it goes to.It was asking > permission to act as a server? Thanks in advance for any help. If it shows in your firewall log, can you post a copy of it? -- � -- Robert grc.com forum FAQ - http://grc.com/discussions.htm grc.com forum quick reference - http://grc.com/nntpquickref.htm grc.com forum disclaim...

IP Address 0.0.0.0.0
Some Agent which crosses proxy (MS ISA proxy) are register to the database with 0.0.0.0. When the agent send a request to the server for register, the field ContactAddress has 0.0.0.0 .0 The same PC - Agent without passing a proxy (another location) send a good ContactAdress IP when it register to the server. (Proxy or not) how agent defined addresses IP before to send for registration ? (Locally, with a service network, patchlink network) christian Astinx, can you post the agent update log? -- Shaun Pond PatchLink Update Agent.log 2006/10/23 10:45:14.033...

127.0.0.1 Sweet 127.0.0.1
Four days off starting tomorrow and am staying home! Love it!! -- seabirdII ------------------------------------------------------------------------ I think I heard seabirdII say something like: > Four days off starting tomorrow and am staying home! Love it!! Nice! I went through a couple months of 4 day weekends, they get addicting. Stevo On Thu, 08 Oct 2009 14:38:10 +0000, Stevo wrote: > Nice! I went through a couple months of 4 day weekends, they get > addicting. Same with 4-day work weeks, which I start this week until the end of November...

IP address 0.0.0.0
I am curious to find out entries in my router log (Linksys) which have LAN IP of 0.0.0.0 and destination URL/IP of �. Does nayone know what it means? Is this any hacker activity? Sam <nspam@nospam.net> wrote: > I am curious to find out entries in my router log (Linksys) which > have LAN IP of 0.0.0.0 and destination URL/IP of �. Does nayone know > what it means? Is this any hacker activity? http://www.geocities.com/merijn_bellekom/new/netstatan.html -- Robert GRC newsgroup tips - http://www.imilly.com/noregrets.htm List of Lists - http://lists.gpick.com/ Privac...

0.0.0.0 IP ADRESS
Hi !I cant understanding. why the my pc documets using 0.0.0.0 ip adress out for internet ? expecially inetsvc.exe and I got active ports program. I see that, the some of the xp (server 2003) documents using 0.0.0.0 ip adress... is there anyone for help this subject. ? and our server (they have dedicated server) no giving us any information about their company. anyone can be know that why ? and I checked my pc with netstat - r ! its seem so different information that my adsl information...thanksARKIN Explain your problem better please, would love to help you on this subject.Bryan Samp...

I like firefox 2.0.0.0 better than 2.0.0.1
Name: tsit chan Email: chantsitathkbndotnet Product: Firefox Summary: I like firefox 2.0.0.0 better than 2.0.0.1 Comments: 2.0.0.1 version allows minimized pages pop up when open multi- tabs in one page ,until this fixed i prefer 2.0.0.0 before any new release. Browser Details: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1) Gecko/20061010 Firefox/2.0 ...

[ 0.0.3461.0 ]
Gang... Quick fix of increasing the Add/Remove dialog's inter-button spacing to see whether that cures the effect Robin and others found when using the Classic Windows theme. Did that fix it??? <g> -- ________________________________________________________________ Steve. Working on: GRC's DNS Benchmark utility: http://www.grc.com/dev/DNSBench.exe [for the unabridged version, see Steve Gibson post above] > Did that fix it??? <g> That appears to have done the trick. And the increased spacing makes the result look much nice under the ...

[PATCH] When is 0 + 0 != 0
A non-existing buffer + a non-existing buffer should be a non-existing buffer, not "", which is really '\0'. Index: string.c =================================================================== RCS file: /home/perlcvs/parrot/string.c,v retrieving revision 1.50 diff -u -r1.50 string.c --- string.c 28 Feb 2002 18:26:07 -0000 1.50 +++ string.c 1 Mar 2002 05:22:54 -0000 @@ -267,7 +265,7 @@ return string_copy(interpreter, b); } else { - return string_make(interpreter, "", 0, NULL, 0, NU...

[ 0.0.3460.0 ]
Gang... I decided to put up today's first build since it incorporates Sparky's really perfect improvement to the Add/Remove dialog. :) -- ________________________________________________________________ Steve. Working on: GRC's DNS Benchmark utility: http://www.grc.com/dev/DNSBench.exe Steve Gibson wrote: > Gang... > > I decided to put up today's first build since it incorporates > Sparky's really perfect improvement to the Add/Remove dialog. > > :) > I had already worked out a bunch of tests and I've found a ...

Set DateTime to nothing or 0 0 0 0 0 how? C#
How can I set this DateTime to nothing or zero hours, zero minutes, 0 seconds  DateTime tempOrgDate   Regards,-- "Mark As Answer" if my reply helped you --  By default a new DateTime starts out at {01/01/0001 00:00:00} This is taken from MinValue = {01/01/0001 00:00:00} You cant set it any lower than that. Attempts to will generate a compiler error. The alternative is to declare it as null like:DateTime tempOrgDate = null;   sukumarraju:How can I set this DateTime to nothing or zero hours, zero minutes, 0 seconds &nbs...

1.5.0.0.3 vs 1.5.0.0.4
I have had numerous difficulties with FF 1.5.0.0.4, in particular, some sites often just hang when I click on links. A particularly bad site is Dell http://www.dell.com/, which - when I try to configure a computer - gets all kinds of "waiting for dell" status bar messages. I tried it with a clean profile, to no avail. It works flawlessly with IE. I downloaded fresh copies of 1.5.0.3 and 1.5.0.4 with the intent of uninstalling the latter and then trying the former. *The uninstall process hung*. So I installed 1.5.0.3 on top of 1.5.0.4. The Dell site now works fl...

Web resources about - BitCannon V.0.0.0.0.1 - grc.news.latestversions

BitCannon
... of publicly available backups. The main reason for this is that the backups were never meant to be usable on their own. This is why BitCannon ...

Still looking for Pirate Bay alternatives? BitCannon lets you build your own in a few clicks
The Pirate Bay is getting ready to make its triumphant return , but that doesn't mean torrent users can rest easy. The popular online torrent ...

Don't use arrays for torrent meta · Issue #32 · Stephen304/bitcannon · GitHub
bitcannon - A torrent index archiving, browsing, and backup tool

BitCannon: Download Torrent Sites to Use Offline
... the initiative. A new open source tool, however, brings torrent site preservation into the hands of everyone with a PC. The idea behind BitCannon ...

Contact HTPC Guides •
Facebook0Google+0Twitter0Reddit0Email0I’m Mike the founder of HTPC Guides. If you have questions specific to a piece of software or a guide that ...

Product Hunt
Product Hunt is a curation of the best new products, every day. Discover the latest mobile apps, websites, and technology products that everyone's ...

Download Entire Kickasstorrents site offline with Bitcannon
What BitCannon does is that it makes a backup of the entire KickAssTorrents website in every single computer, so that the site remains active ...

Stephen304/bitcannon · GitHub
bitcannon - A torrent index archiving, browsing, and backup tool

Product Hunt
Product Hunt is a curation of the best new products, every day. Discover the latest mobile apps, websites, and technology products that everyone's ...

Windows Archives - Tech Munks
Home Android Apps Web iOS Windows Torrents Author Neha Contact Us The Best Technology Site Category: Windows 1 Apps / Torrents / Web / Windows ...

Resources last updated: 2/11/2016 1:18:08 AM