tor
unofficial git repo -- report bugs/issues/pull requests on https://gitlab.torproject.org/ --
Top Related Projects
This is a list of substantial, commercial-or-social-good mainstream websites which provide onion services.
Securely and anonymously share files, host websites, and chat with friends using the Tor network
vanity address generator for tor onion v3 (ed25519) hidden services
The obfourscator (Courtesy mirror)
Quick Overview
Tor is a free and open-source software for enabling anonymous communication. It directs Internet traffic through a free, worldwide, volunteer overlay network consisting of more than seven thousand relays to conceal a user's location and usage from network surveillance and traffic analysis.
Pros
- Provides strong anonymity and privacy protection for users
- Helps bypass censorship and access blocked content
- Widely used and trusted by journalists, activists, and privacy-conscious individuals
- Continuously updated and maintained by a dedicated community
Cons
- Can be slower than regular internet browsing due to traffic routing
- Some websites may block or restrict access from Tor exit nodes
- Potential for misuse by malicious actors for illegal activities
- Requires some technical knowledge for optimal use and security
Code Examples
As Tor is not primarily a code library but a network protocol and software, we'll skip the code examples section.
Getting Started
To get started with Tor:
- Download the Tor Browser from the official website: https://www.torproject.org/download/
- Install the browser on your system
- Launch the Tor Browser
- Click "Connect" to join the Tor network
- Start browsing anonymously
For developers interested in integrating Tor into their applications:
- Refer to the Tor documentation: https://2019.www.torproject.org/docs/documentation.html
- Explore the Tor source code on GitHub: https://github.com/torproject/tor
- Join the Tor development mailing list for support and discussions
Competitor Comparisons
This is a list of substantial, commercial-or-social-good mainstream websites which provide onion services.
Pros of real-world-onion-sites
- Provides a curated list of legitimate .onion sites, enhancing user discovery
- Regularly updated with new additions and removals
- Includes categorization and brief descriptions of listed sites
Cons of real-world-onion-sites
- Limited in scope compared to the full Tor project
- Does not provide actual anonymity or privacy tools
- Relies on community contributions for updates
Code comparison
tor:
static int
circuit_handle_first_hop(origin_circuit_t *circ)
{
int ret;
const node_t *node;
// ... (additional code)
}
real-world-onion-sites:
## News And Media
### ProPublica
* http://p53lf57qovyuvwsc6xnrppyply3vtqm7l6pcobkmyqsiofyeznfu5uqd.onion/
* :lock: SSL/TLS available
* frontend for propublica.org
The tor repository contains the core implementation of the Tor network, focusing on anonymity and privacy. In contrast, real-world-onion-sites is a markdown-based list of legitimate .onion sites, serving as a directory for Tor users. While tor provides the underlying technology, real-world-onion-sites complements it by offering a curated list of destinations within the Tor network.
Securely and anonymously share files, host websites, and chat with friends using the Tor network
Pros of OnionShare
- User-friendly GUI for easy file sharing and anonymous hosting
- Supports multiple features like chat rooms and website publishing
- Designed for non-technical users, making Tor technology more accessible
Cons of OnionShare
- Limited to specific use cases (file sharing, chat, website hosting)
- Smaller developer community and less frequent updates
- Depends on Tor for its core functionality
Code Comparison
Tor (C):
int
connection_ap_handshake_process_socks(entry_connection_t *conn)
{
socks_request_t *socks;
int sockshere;
or_options_t *options = get_options();
// ... (additional code)
}
OnionShare (Python):
def start_onion_service(self):
self.auth_string = None
if self.settings.get('auth_type') != 'none':
self.auth_string = base64.b64encode(os.urandom(33))
# ... (additional code)
The code snippets highlight the different languages and approaches used in each project. Tor, written in C, focuses on low-level networking and protocol implementation. OnionShare, written in Python, emphasizes higher-level functionality and user interaction.
vanity address generator for tor onion v3 (ed25519) hidden services
Pros of mkp224o
- Specialized tool for generating vanity .onion addresses
- Faster and more efficient for its specific purpose
- Lightweight and easy to use for a single task
Cons of mkp224o
- Limited functionality compared to the full Tor implementation
- Not actively maintained or updated as frequently
- Lacks the extensive security auditing of the main Tor project
Code Comparison
mkp224o (main.c):
int main(int argc,char **argv)
{
parse_cmdline(argc,argv);
init_globals();
worker();
return 0;
}
Tor (main.c):
int main(int argc, char *argv[])
{
int result = 0;
tor_init(argc, argv);
result = do_main_loop();
tor_cleanup();
return result;
}
Summary
mkp224o is a specialized tool for generating vanity .onion addresses, offering faster performance for this specific task. However, it lacks the comprehensive features and security measures of the full Tor implementation. The code comparison shows mkp224o's focused approach versus Tor's more complex initialization and main loop structure.
The obfourscator (Courtesy mirror)
Pros of obfs4
- Specialized in traffic obfuscation, making it harder to detect Tor usage
- Lighter weight and more focused on a single purpose
- Easier to integrate into other projects due to its modular design
Cons of obfs4
- Limited functionality compared to the full Tor implementation
- Requires additional setup and configuration to work with Tor
- Less active development and smaller community support
Code Comparison
tor:
static int
connection_handle_read_impl(connection_t *conn)
{
int ret = 0;
ssize_t max_to_read;
if (conn->marked_for_close)
return 0;
conn->timestamp_last_read_allowed = approx_time();
obfs4:
func (t *Transport) ServerHandshake(conn net.Conn) (net.Conn, error) {
defer func() {
if err := recover(); err != nil {
log.Debugf("ServerHandshake failed: %s", err)
}
}()
return t.serverHandshake(conn)
}
The tor project is primarily written in C, focusing on the entire Tor network implementation. obfs4 is written in Go and specializes in obfuscation techniques. While tor handles various aspects of the network, obfs4 concentrates on making traffic appear random to evade detection.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
This project is no longer hosted here. Come find us at our gitlab repository instead.
About
Tor protects your privacy on the internet by hiding the connection between your Internet address and the services you use. We believe Tor is reasonably secure, but please ensure you read the instructions and configure it properly.
Resources
Home page:
Download new versions:
Documentation, including links to installation and setup instructions:
Frequently Asked Questions:
Top Related Projects
This is a list of substantial, commercial-or-social-good mainstream websites which provide onion services.
Securely and anonymously share files, host websites, and chat with friends using the Tor network
vanity address generator for tor onion v3 (ed25519) hidden services
The obfourscator (Courtesy mirror)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot