• This repository has been archived on 17/Nov/2021
  • Stars
    star
    1
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 8 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An example of a simple Onion address generator

Torino

Torino is an example of an Onion Address generator for Tor hidden services.

This was a simple little "can I do it project?" and ultimately isn't likely worth using in a production environment due to how slow the program is but it's fun all the same if you want to try it out or see how Tor addresses are generated.

Install and use

To install globally run

npm install -g torino

running torino -h


  Usage: torino [options]

  Options:

    -h, --help                           output usage information
    -V, --version                        output the version number
    -m, --match-pattern [regex pattern]  find an onion address that matches the [regex pattern]

To generate any address (no pattern) run with no options:

torino

Giving you an output like so:

uqggk3zd6ragkh3n.onion

-----BEGIN RSA PRIVATE KEY-----
MIIBWwIBAAKBgQCsIqpV5MeQO20kYEsRtpUoYPz6uG3marMmJb6a3u7TovDolVPm
KPsvI+KNt9QMCmzDfEjF/Mhmfo2/7reMuhNWNe07lowFmQ+DSRLdNbnWnExmdd36
FW8I0LveHYPsWwXFR8Vq53MG2ncSbEF8vJ/pE+lZXljfYDzvmGwrc5XA8QIBAQIB
AQJBAOurrhMMeSjAxVdRpesB5nTmXIbuG1/BuEyDh/LLQ41QvgLYr1YPVc4hHPjp
Ar/oJbOoYAWvdqORyIVWPI/vuzsCQQC6+++OaJp8gy6ALF4W2GoOtcQDVdKkw6VW
PlYIzF+PwI17eztaoLNpdAbieaJy7VUmM1PHOTLa25eZGRLVPjnDAgEBAgEBAkBL
A17mdcSJzrKWkhYsuqBir1mEDq8CR+P73+2v9bT43+5MPDoF6XkXKLy3Ie8vgFXK
kPO3xrwooif+2ozG/CzY
-----END RSA PRIVATE KEY-----

To generate an address that matches a regex pattern run with :

torino --match-pattern ^a

With the pattern ^a it'll key generating keys until it has an address that starts with the character a.

You can also use the library behind the program as well in your own project if you so wish simply install it like so:

npm install torino --save

Then use as follows:

const torino = require('torino').onionAddressGenerator;
const rsa = require('torino').privateKey;

const myPattern = '^torino';

torino.searchForAddress(myPattern).then(function (result) {
    const address = result.address;
    const privateKey = rsa.privateKeyToPem(result.privateKey); // Converts it to a PEM format for use in Tor
});

Hell it's slow, can it be improved?

I'd love to make the program production useful but to compete against the likes of Shallot and Scallion it's just not possible without having a low level implementation of the key generation or hashing algorithms. There's no reason the use of OpenCL that's seen in Scallion couldn't be done in nodejs, it's just not something I have a huge background in or time to learn about. If you want to give it ago, please do share your results.

License

It's licensed under MIT, enjoy.

More Repositories

1

laravel-webhook-demo

The example code for the article https://medium.com/@SlyFireFox/laravel-innovations-making-your-own-webhook-mechanism-through-notifications-96e75e99a2b1
PHP
17
star
2

laravel-elixir-mjml

A task plugin for running MJML templates in Laravel Elixir
JavaScript
11
star
3

hexavel

A modified version of the Laravel Framework
PHP
7
star
4

openai-laravel-demo

A demo app for using OpenAI with Laravel
PHP
7
star
5

macros-demo

A Demo for Macros
PHP
7
star
6

nova-social-login-demo

A demo for how to implement Social Logins for Laravel Nova
PHP
5
star
7

laravel-runscope

A PHP library for making it easy to use Runscope with your web hooks and external API calls
PHP
5
star
8

notifications-demo

The code in this project is an example of how to create a simple streamlined email unsubscribe mechanism for Laravel's notification system
PHP
5
star
9

hieroglyph

A package to simplify changing between different icon sets
PHP
3
star
10

roadrunner-plugin-template

Template project for a RoadRunner plugin
Go
3
star
11

bitpayclient

An OOP PHP client for interacting with the BitPay API
PHP
2
star
12

validation-rule-demo

The example code for the article https://medium.com/@SlyFireFox/test-driven-development-for-custom-laravel-validation-rules-669d01e34a65
PHP
2
star
13

seo-demo

The code in this project is an example of how to create root level URLs for dynamic content without causing wildcard clashes
PHP
2
star
14

make-command-demo

A demo for making new Make commands in Laravel
PHP
2
star
15

laravel-incident-logs-demo

The example code for the article https://medium.com/@SlyFireFox/laravel-how-to-make-incident-logs-d7fa88e48490
PHP
2
star
16

hexavel-spark

A library for making installs of Spark compatible with Laravel Spark
PHP
1
star
17

graphaware-reco-client-php

A configurable PHP library for fetching recommendations from a GraphAware Recommendation setup
PHP
1
star
18

waitformysql

A mini golang util for waiting for a mysql database to be up
Go
1
star
19

laravel-casts-examples

A demo for Laravel Custom Casts with common examples for Money, Location/Address and Date Intervals
PHP
1
star
20

testing-trait-hooks-demo

Demo for Trait hooks to use in Test Cases
PHP
1
star
21

custom-make-model-command

A demo for customising the Laravel make model command to use singular table names.
PHP
1
star