Skip to content

skyformat99/TinyTor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


         Logo
TinyTor

A tiny Tor client implementation (written in C).

License Issues Contributing


Currently UNDER DEVELOPMENT and doesn't yet work.

Features

TinyTor can be used as a utility to reach onion services and regular websites via Tor.
Furthermore, it may be used by developers as a library.

How To Use

# Download or clone this repository
$ git clone https://github.com/Marten4n6/TinyTor

# Go into the repository
$ cd TinyTor

Motivation

TinyTor was created to be able to run on systems (Linux) which have limited memory and disk space.
A primary example of systems with such limitations is the IoT (Internet of Things).

Technical details

wolfSSL is used for encryption, which has a memory footprint range from 20-100kB (and ~400kB disk space).
The implementation uses NTOR, which is newer type of handshake and uses curve25519 (see tor-spec 4.4.2, 5.1.4).

Name Description
Entry / guard relay This is the entry point to the Tor network.
Middle relay Prevents the guard and exit relay from knowing each other.
Exit relay Sends traffic to the final destination intended by the client.
Directory authority A trusted server where information about the Tor network is stored.
Consensus A document where all Tor relays is maintained.
Descriptor Contains the public key and a summary of each introduction point.

The following steps are followed to create a request over the Tor network:

  1. Select a random (hardcoded) directory authority
  2. Build a short list of guard, middle and exit relays

Versioning

TinyTor will be maintained under the Semantic Versioning guidelines as much as possible.
Releases will be numbered with the follow format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major
  • New additions without breaking backward compatibility bumps the minor
  • Bug fixes and misc changes bump the patch

For more information on SemVer, please visit https://semver.org/.

Support Tor

The Tor network relies on volunteers to donate bandwidth.
The more people who run relays, the faster the Tor network will be.
Please consider running a relay, you can help make the Tor network:

  • faster (and therefore more usable)
  • more robust against attacks
  • more stable in case of outages
  • safer for its users (spying on more relays is harder than on a few)

For more information on volunteering, please visit https://www.torproject.org/getinvolved/volunteer.html

References

License

GPLv3

About

A tiny Tor client implementation (written in C).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published