Giter Club home page Giter Club logo

onionsearch's Introduction

OnionSearch

๐Ÿ‘‹ Hi there! For any professional inquiries or collaborations, please reach out to me at: [email protected]

๐Ÿ“ง Preferably, use your professional email for correspondence. Let's keep it short and sweet, and all in English!

PyPI PyPI - Week PyPI - Downloads PyPI - License

For BTC Donations : 1FHDM49QfZX6pJmhjLE5tB2K6CaTLMZpXZ

Educational purposes only

OnionSearch is a Python3 script that scrapes urls on different ".onion" search engines.

Demo

๐Ÿ’ก Prerequisite

Python 3

๐Ÿ“š Currently supported Search engines

  • ahmia
  • darksearchio
  • onionland
  • notevil
  • darksearchenginer
  • phobos
  • onionsearchserver
  • torgle
  • onionsearchengine
  • tordex
  • tor66
  • tormax
  • haystack
  • multivac
  • evosearch
  • deeplink

๐Ÿ› ๏ธ Installation

With PyPI

pip3 install onionsearch

With Github

git clone https://github.com/megadose/OnionSearch.git
cd OnionSearch/
python3 setup.py install

๐Ÿ“ˆ Usage

Help:

usage: onionsearch [-h] [--proxy PROXY] [--output OUTPUT]
                  [--continuous_write CONTINUOUS_WRITE] [--limit LIMIT]
                  [--engines [ENGINES [ENGINES ...]]]
                  [--exclude [EXCLUDE [EXCLUDE ...]]]
                  [--fields [FIELDS [FIELDS ...]]]
                  [--field_delimiter FIELD_DELIMITER] [--mp_units MP_UNITS]
                  search

positional arguments:
  search                The search string or phrase

optional arguments:
  -h, --help            show this help message and exit
  --proxy PROXY         Set Tor proxy (default: 127.0.0.1:9050)
  --output OUTPUT       Output File (default: output_$SEARCH_$DATE.txt), where $SEARCH is replaced by the first chars of the search string and $DATE is replaced by the datetime
  --continuous_write CONTINUOUS_WRITE
                        Write progressively to output file (default: False)
  --limit LIMIT         Set a max number of pages per engine to load
  --engines [ENGINES [ENGINES ...]]
                        Engines to request (default: full list)
  --exclude [EXCLUDE [EXCLUDE ...]]
                        Engines to exclude (default: none)
  --fields [FIELDS [FIELDS ...]]
                        Fields to output to csv file (default: engine name link), available fields are shown below
  --field_delimiter FIELD_DELIMITER
                        Delimiter for the CSV fields
  --mp_units MP_UNITS   Number of processing units (default: core number minus 1)

[...]

Multi-processing behaviour

By default, the script will run with the parameter mp_units = cpu_count() - 1. It means if you have a machine with 4 cores, it will run 3 scraping functions in parallel. You can force mp_units to any value but it is recommended to leave to default. You may want to set it to 1 to run all requests sequentially (disabling multi-processing feature).

Please note that continuous writing to csv file has not been heavily tested with multiprocessing feature and therefore may not work as expected.

Please also note that the progress bars may not be properly displayed when mp_units is greater than 1. It does not affect the results, so don't worry.

Examples

To request all the engines for the word "computer":

onionsearch "computer"

To request all the engines excepted "Ahmia" and "Candle" for the word "computer":

onionsearch "computer" --exclude ahmia candle

To request only "Tor66", "DeepLink" and "Phobos" for the word "computer":

onionsearch "computer" --engines tor66 deeplink phobos

The same as previously but limiting to 3 the number of pages to load per engine:

onionsearch "computer" --engines tor66 deeplink phobos --limit 3

Please kindly note that the list of supported engines (and their keys) is given in the script help (-h).

Output

Default output

By default, the file is written at the end of the process. The file will be csv formatted, containing the following columns:

"engine","name of the link","url"

Customizing the output fields

You can customize what will be flush in the output file by using the parameters --fields and --field_delimiter.

--fields allows you to add, remove, re-order the output fields. The default mode is show just below. Instead, you can for instance choose to output:

"engine","name of the link","url","domain"

by setting --fields engine name link domain.

Or even, you can choose to output:

"engine","domain"

by setting --fields engine domain.

These are examples but there are many possibilities.

Finally, you can also choose to modify the CSV delimiter (comma by default), for instance: --field_delimiter ";".

Changing filename

The filename will be set by default to output_$DATE_$SEARCH.txt, where $DATE represents the current datetime and $SEARCH the first characters of the search string.

You can modify this filename by using --output when running the script, for instance:

onionsearch "computer" --output "\$DATE.csv"
onionsearch "computer" --output output.txt
onionsearch "computer" --output "\$DATE_\$SEARCH.csv"
...

(Note that it might be necessary to escape the dollar character.)

In the csv file produced, the name and url strings are sanitized as much as possible, but there might still be some problems...

Write progressively

You can choose to progressively write to the output (instead of everything at the end, which would prevent losing the results if something goes wrong). To do so you have to use --continuous_write True, just as is:

onionsearch "computer" --continuous_write True

You can then use the tail -f (tail follow) Unix command to actively watch or monitor the results of the scraping.

Thank you to Gobarigo

Thank you mxrch for this logo

๐Ÿ“ License

GNU General Public License v3.0

onionsearch's People

Contributors

megadose avatar pernat1y avatar srodriguez1357 avatar vldrk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

onionsearch's Issues

error in execute

โ””โ”€# onionsearch "breach" --output "$DATE.csv"
search.py started with 3 processing units...
Ahmia (#0): 0%| | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80): Max retries exceeded with url: /search/?q=breach (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f0df3dffa30>: Failed to establish a new connection: 0x01: General SOCKS server failure'))
Dark Search Enginer (#2): 100%|โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 1/1 [00:00<00:00, 692.13it/s]
Exception occured: SOCKSHTTPConnectionPool(host='oss7wrm7xvoub77o.onion', port=9090): Max retries exceeded with url: /renderer?key=4b77703d8ad74966354c9dc6a071e7a4&login=l0st&name=default&use=DarkSearch&query=breach&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f0df354ca30>: Failed to establish a new connection: 0x01: General SOCKS server failure'))

Number of processes must be at least 1

Hi !

I installed your tool to try it but I can't run it. Tor is install, tor service is launched but when I ran sudo onionsearch "computer" here is what I have :

search.py started with 0 processing units...
Traceback (most recent call last):
  File "/usr/local/bin/onionsearch", line 11, in <module>
    load_entry_point('onionsearch==1.2', 'console_scripts', 'onionsearch')()
  File "/usr/local/lib/python3.8/dist-packages/onionsearch-1.2-py3.8.egg/onionsearch/core.py", line 938, in scrape
  File "/usr/lib/python3.8/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 205, in __init__
    raise ValueError("Number of processes must be at least 1")
ValueError: Number of processes must be at least 1

Something I did wrong ?

OnionSearch error | Failed to establish a new connection: '[Errno 61] Connection refused'

I'm trying to use OnionSearch for investigating purpose, however, it occurs an error. Is there any solution?

onionsearch "abc"                                                         ๎‚ฒ INT โœ˜
search.py started with 7 processing units...
               Ahmia (#0):   0%|                                                                                         | 0/1 [00:00<?, ?it/s]Exception occured: SOCKSHTTPConnectionPool(host='l4rsciqnpzdndt2llgjx3luvnxip7vbyj6k6nmdy4xs77tx6gkd24ead.onion', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x101a17390>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='darksearch.io', port=80): Max retries exceeded with url: /api/search?query=abc&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x101a67250>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='3bbad7fauom4d6sgppalyqddsqbf5u5p56b5k5uk2zxsy3d6ey2jobad.onion', port=80): Max retries exceeded with url: /search?q=abc&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x1006f96d0>: Failed to establish a new connection: [Errno 61] Connection refused'))
                                                                                                                                              Exception occured: SOCKSHTTPConnectionPool(host='torgle5fj664v7pf.onion', port=80): Max retries exceeded with url: /torgle/index-frame.php?query=abc&search=1&engine-ver=2&isframe=0 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x101ed5690>: Failed to establish a new connection: [Errno 61] Connection refused'))                                                               | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='onionf4j3fwqpeo5.onion', port=80): Max retries exceeded with url: /search.php?search=abc&submit=Search&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x1020eca90>: Failed to establish a new connection: [Errno 61] Connection refused'))
              Torgle (#3):   0%|                                                                                         | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='no6m4wzdexe3auiupv2zwif7rm6qwxcyhslkcnzisxgeiw6pvjsgafad.onion', port=80): Max retries exceeded with url: /search.php?term=abc (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x101e98d90>: Failed to establish a new connection: [Errno 61] Connection refused'))
                                                                                                                                              Exception occured: SOCKSHTTPConnectionPool(host='phobosxilamwcg75xt22id7aywkzol6q6rfl2flipcqoc4e4ahima5id.onion', port=80): Max retries exceeded with url: /search?query=abc&p=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x10640c890>: Failed to establish a new connection: [Errno 61] Connection refused'))                                                                   | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='tordex7iie7z2wcg.onion', port=80): Max retries exceeded with url: /search?query=abc&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x101ed7910>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='tor66sewebgixwhcqfnp5inzp5x5uohhdy3kvtnyfxc2e5mxiuh34iid.onion', port=80): Max retries exceeded with url: /search?q=abc&sorttype=rel&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x1020eed10>: Failed to establish a new connection: [Errno 61] Connection refused'))
               Ahmia (#0):   0%|                                                                                         | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='juhanurmihxlp77nkq76byazcldy2hlmovfu2epvl5ankdibsot4csyd.onion', port=80): Max retries exceeded with url: /search/?q=abc (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x1056e6e50>: Failed to establish a new connection: [Errno 61] Connection refused'))
              Tormax (#3):   0%|                                                                                         | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='tormaxunodsbvtgo.onion', port=80): Max retries exceeded with url: /search?q=abc (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x101e9b610>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='haystak5njsmn2hqkewecpaxetahtwhsbsa64jom2k22z5afxhnpxfid.onion', port=80): Max retries exceeded with url: /?q=abc&offset=0 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x106479050>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='evo7no6twwwrm63c.onion', port=80): Max retries exceeded with url: /evo/search.php?query=abc&start=1&search=1&type=and&mark=bold+text&results=50 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x1020fcb10>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='multivacigqzqqon.onion', port=80): Max retries exceeded with url: /?q=abc&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x101ee97d0>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='deeplinkdeatbml7.onion', port=80): Max retries exceeded with url: /index.php (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x105b80590>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='hss3uro2hsxfogfq.onion', port=80): Max retries exceeded with url: /index.php?q=abc (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x1026d6e50>: Failed to establish a new connection: [Errno 61] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='3fzh7yuupdfyjhwt3ugzqqof6ulbcl27ecev33knxe3u7goi3vfn2qqd.onion', port=80): Max retries exceeded with url: /oss/ (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x102423b10>: Failed to establish a new connection: [Errno 61] Connection refused'))

Report:
  Execution time: 0:00:00.634420 seconds
  Results per engine:
    ahmia: 0
    darksearchio: 0
    onionland: 0
    notevil: 0
    darksearchenginer: 0
    phobos: 0
    onionsearchserver: 0
    torgle: 0
    torgle1: 0
    onionsearchengine: 0
    tordex: 0
    tor66: 0
    tormax: 0
    haystack: 0
    multivac: 0
    evosearch: 0
    deeplink: 0
  Total: 0 links written to output_abc_20240503211816.txt

Error Details

V2 onion addresses are no longer supported

I noticed that the tool is trying to search in the following addresses:

  • oss7wrm7xvoub77o.onion port 9090

  • deeplinkdeatbml7.onion port 80

  • onionf4j3fwqpeo5.onion port 80

However these V2 addresses are already deprecated.

Error Exception occured: SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80):

While I am Searching for domains I am getting below error :

Exception occured: SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80): Max retries exceeded with url: /search/?q=abc.com (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb25babb710>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='darksearch.io', port=80): Max retries exceeded with url: /api/search?query=abc.com&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb25b035f90>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='3bbad7fauom4d6sgppalyqddsqbf5u5p56b5k5uk2zxsy3d6ey2jobad.onion', port=80): Max retries exceeded with url: /search?q=abc.com&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb25b035d90>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='hss3uro2hsxfogfq.onion', port=80): Max retries exceeded with url: /index.php?q=abc.com (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb25b044650>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='l4rsciqnpzdndt2llgjx3luvnxip7vbyj6k6nmdy4xs77tx6gkd24ead.onion', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb25b0464d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='phobosxilamwcg75xt22id7aywkzol6q6rfl2flipcqoc4e4ahima5id.onion', port=80): Max retries exceeded with url: /search?query=abc.com&p=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb25b04c310>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='3fzh7yuupdfyjhwt3ugzqqof6ulbcl27ecev33knxe3u7goi3vfn2qqd.onion', port=80): Max retries exceeded with url: /oss/ (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb25b04e050>: Failed to establish a new connection: [Errno 111] Connection refused'))

I am Unable to use tor browser need results on CLI Could you please help. Thanks in Advance.

core.py changes not taken into account

Hi there,

I modified the core.py file to include my own list of search engines but when I launch the search, it's the original list which is still used by the tool.

How to correct this?

Thanks!

url links format

the links are still displayed in this form:

"onionland","Tor Browser User Manual | Tor Project | Tor Browser Manual","eyJpdiI6InFHMmJhTXVFT0NXK0haZmFORmpodFE9PSIsInZhbHVlIjoiMnBYTG15RUg5Zk9CY21yT2dWdXBoc0pZRURybHhaRnA2WkRFM1N5XC8zWTl2VHBtMnF5NU5IdSs5S2JrU0gxc2swTmNlVTc5azZpRjk0bDBUXC9GR05FeU9BblFTVzg1dnNYdnZwM2dxXC9ENGs9IiwibWFjIjoiMzQ5NTE1N2QzZjkwMWFjYmY4ZjI5YTdlYWI4YWM4NTU4NGVkYWJiNjljMzI4MjYyN2JjNWFhN2M3ZGMzNzI4MyJ9"

Headings are ok but links are unreadable

And during the search I was confused by errors. Perhaps this is due to the fact that some search engines do not work

search.py started with 3 processing units...
Ahmia (#0):   0%|                                                        | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80): Max retries exceeded with url: /search/?q=tor%20browser (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f59324c4b50>: Failed to establish a new connection: 0x01: General SOCKS server failure'))
Torgle (#0):   0%|                                                        | 0/1 [00:00<?, ?it/s]Exception occured: SOCKSHTTPConnectionPool(host='l4rsciqnpzdndt2llgjx3luvnxip7vbyj6k6nmdy4xs77tx6gkd24ead.onion', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f59324c07d0>: Failed to establish a new connection: 0x04: Host unreachable'))

But other search engines work and provide links

what format is the url link in?

I find myself confused by onionsearch.. I hadnt used it in a while and thought it originally put out directly usuable urls.. but the latest run yields links like "eyJpdiI6IkFpT3NJRHh4bWRDa1o3K0JiTXNpM2c9PSIsInZhbHVlIjoiVFRvU04zcjBYdFwvU2lLV2ZnSXVCbThka2JEc212MGhUcU9OcVdUZmJzeklaVXZMT1hwV3ZXcnh0U3RZN2xMb0o4MlwvOFpscm9BR2JvWXkrS0xcL3Y3Vms5SEFXeUJ4VEdzU1BNRmlZanJ3bHF2SU5pTGZTaTZ2dm9WVFViXC9vbEZWIiwibWFjIjoiY2U4YjBiMTUyYzZhYzgyNjQ1MmUxOTNiOGM3YjQ0NGU0M2U0N2MzZjAxMjE0MzE0MTU2NTEzMGIyNzVkODJiNiJ9" with one or two == signs on the end in some cases..

 anyone have a clue to what I am doing wrong?  onionsearch version is 1.3.

thanx in advance

onionsearch don't work | SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80): Max retries exceeded

A week ago I used onionsearch and it worked and I was able to scrape different websites. The problem is that I wanted to use it this week and it doesn't work. What can happen. I get the following errors, attached screenshot:

onionsearch computer
search.py started with 1 processing units...
               Ahmia (#0):   0%|                                                                                                                | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80): Max retries exceeded with url: /search/?q=computer (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d533d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='darksearch.io', port=80): Max retries exceeded with url: /api/search?query=computer&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d928d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='3bbad7fauom4d6sgppalyqddsqbf5u5p56b5k5uk2zxsy3d6ey2jobad.onion', port=80): Max retries exceeded with url: /search?q=computer&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d90650>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='hss3uro2hsxfogfq.onion', port=80): Max retries exceeded with url: /index.php?q=computer (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d99110>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='l4rsciqnpzdndt2llgjx3luvnxip7vbyj6k6nmdy4xs77tx6gkd24ead.onion', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d9b1d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='phobosxilamwcg75xt22id7aywkzol6q6rfl2flipcqoc4e4ahima5id.onion', port=80): Max retries exceeded with url: /search?query=computer&p=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76da51d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='3fzh7yuupdfyjhwt3ugzqqof6ulbcl27ecev33knxe3u7goi3vfn2qqd.onion', port=80): Max retries exceeded with url: /oss/ (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76da70d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
              Torgle (#0):   0%|                                                                                                                | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='no6m4wzdexe3auiupv2zwif7rm6qwxcyhslkcnzisxgeiw6pvjsgafad.onion', port=80): Max retries exceeded with url: /search.php?term=computer (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d9a810>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='torgle5fj664v7pf.onion', port=80): Max retries exceeded with url: /torgle/index-frame.php?query=computer&search=1&engine-ver=2&isframe=0 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d98f10>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='onionf4j3fwqpeo5.onion', port=80): Max retries exceeded with url: /search.php?search=computer&submit=Search&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d80d50>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='tordex7iie7z2wcg.onion', port=80): Max retries exceeded with url: /search?query=computer&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76da7790>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='tor66sewebgixwhcqfnp5inzp5x5uohhdy3kvtnyfxc2e5mxiuh34iid.onion', port=80): Max retries exceeded with url: /search?q=computer&sorttype=rel&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76dbd690>: Failed to establish a new connection: [Errno 111] Connection refused'))
              Tormax (#0):   0%|                                                                                                                | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='tormaxunodsbvtgo.onion', port=80): Max retries exceeded with url: /search?q=computer (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d80a50>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='haystak5njsmn2hqkewecpaxetahtwhsbsa64jom2k22z5afxhnpxfid.onion', port=80): Max retries exceeded with url: /?q=computer&offset=0 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76da79d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='multivacigqzqqon.onion', port=80): Max retries exceeded with url: /?q=computer&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76da6cd0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='evo7no6twwwrm63c.onion', port=80): Max retries exceeded with url: /evo/search.php?query=computer&start=1&search=1&type=and&mark=bold+text&results=50 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76d9b150>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='deeplinkdeatbml7.onion', port=80): Max retries exceeded with url: /index.php (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7f2e76dbdf10>: Failed to establish a new connection: [Errno 111] Connection refused'))

Report:
  Execution time: 0:00:00.164095 seconds
  Results per engine:
    ahmia: 0
    darksearchio: 0
    onionland: 0
    notevil: 0
    darksearchenginer: 0
    phobos: 0
    onionsearchserver: 0
    torgle: 0
    torgle1: 0
    onionsearchengine: 0
    tordex: 0
    tor66: 0
    tormax: 0
    haystack: 0
    multivac: 0
    evosearch: 0
    deeplink: 0
  Total: 0 links written to output_computer_20240215121451.txt

image

Can anyone help me, or tell me what might be going on?

Problems SOCKSHTTPConnectionPool

kali@kali:~/OnionSearch$ onionsearch "telegram"
search.py started with 3 processing units...
Ahmia (#0): 0%| | 0/1 [00:00<?, ?it/s]Exception occured: SOCKSHTTPConnectionPool(host='7pwy57iklvt6lyhe.onion', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb92054d60>: Failed to establish a new connection: [Errno 111] Connection refused'))
Ahmia (#0): 0%| | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80): Max retries exceeded with url: /search/?q=telegram (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9206c2e0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='3bbad7fauom4d6sgppalyqddsqbf5u5p56b5k5uk2zxsy3d6ey2jobad.onion', port=80): Max retries exceeded with url: /search?q=telegram&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb92056ac0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='darksearch.io', port=80): Max retries exceeded with url: /api/search?query=telegram&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9206cd00>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='phobosxilamwcg75xt22id7aywkzol6q6rfl2flipcqoc4e4ahima5id.onion', port=80): Max retries exceeded with url: /search?query=telegram&p=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9207d6d0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='torgle5fj664v7pf.onion', port=80): Max retries exceeded with url: /torgle/index-frame.php?query=telegram&search=1&engine-ver=2&isframe=0 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9207df70>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='oss7wrm7xvoub77o.onion', port=80): Max retries exceeded with url: /oss/ (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb91812610>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='hss3uro2hsxfogfq.onion', port=80): Max retries exceeded with url: /index.php?q=telegram (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9207c640>: Failed to establish a new connection: [Errno 111] Connection refused'))
Torgle (#0): 0%| | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='submarhglcl66nz6.onion', port=80): Max retries exceeded with url: //search.php?term=telegram (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9206c940>: Failed to establish a new connection: [Errno 111] Connection refused'))
Tormax (#0): 0%| | 0/1 [00:00<?, ?it/s]Exception occured: SOCKSHTTPConnectionPool(host='tordex7iie7z2wcg.onion', port=80): Max retries exceeded with url: /search?query=telegram&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9207ceb0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='onionf4j3fwqpeo5.onion', port=80): Max retries exceeded with url: /search.php?search=telegram&submit=Search&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9200b850>: Failed to establish a new connection: [Errno 111] Connection refused'))
Tormax (#0): 0%| | 0/1 [00:00<?, ?it/s]
Exception occured: SOCKSHTTPConnectionPool(host='tormaxunodsbvtgo.onion', port=80): Max retries exceeded with url: /search?q=telegram (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb92054910>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='multivacigqzqqon.onion', port=80): Max retries exceeded with url: /?q=telegram&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9207d820>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='tor66sezptuu2nta.onion', port=80): Max retries exceeded with url: /search?q=telegram&sorttype=rel&page=1 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9208a790>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='haystakvxad7wbk5.onion', port=80): Max retries exceeded with url: /?q=telegram&offset=0 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb91812c40>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='evo7no6twwwrm63c.onion', port=80): Max retries exceeded with url: /evo/search.php?query=telegram&start=1&search=1&type=and&mark=bold+text&results=50 (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb920c6d30>: Failed to establish a new connection: [Errno 111] Connection refused'))
Exception occured: SOCKSHTTPConnectionPool(host='deeplinkdeatbml7.onion', port=80): Max retries exceeded with url: /index.php (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fdb9207c5e0>: Failed to establish a new connection: [Errno 111] Connection refused'))

Report:
Execution time: 0:00:00.056478 seconds
Results per engine:
ahmia: 0
darksearchio: 0
onionland: 0
notevil: 0
darksearchenginer: 0
phobos: 0
onionsearchserver: 0
torgle: 0
torgle1: 0
onionsearchengine: 0
tordex: 0
tor66: 0
tormax: 0
haystack: 0
multivac: 0
evosearch: 0
deeplink: 0

Getting error while searching?

Hello,

What needs to be done? I have 2 core CPU

      OnionLand (#0):   1%|โ–ˆ                                                                                                      | 1/100 [00:00<00:00, 282.25it/s]

Exception occured: SOCKSHTTPConnectionPool(host='hss3uro2hsxfogfq.onion', port=80): Max retries exceeded with url: /index.php?q=nerolac (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fbc3fb65000>: Failed to establish a new connection: 0x01: General SOCKS server failure'))
Exception occured: SOCKSHTTPConnectionPool(host='l4rsciqnpzdndt2llgjx3luvnxip7vbyj6k6nmdy4xs77tx6gkd24ead.onion', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fbc3fbb5000>: Failed to establish a new connection: 0x04: Host unreachable'))

ss -tln
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 4096 127.0.0.1:9050 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*

Exception occured: SOCKSHTTPConnectionPool / Failed to establish a new connection

Hi there,
first: thx so much for your work!!!!!

I am in the process of getting to work with your tools right now.
Step 1: I use onionsearch without Torbrowser
-> ok, thats a bad idea: Exception occured: SOCKSHTTPConnectionPool(host='darksearch.io', port=80)

Step 2: Turn on Tor Browser & #onionsearch "computer"
=> search.py started with 1 processing units...
Ahmia (#0): 0%| | 0/1 [00:00<?, ?it/s]
than, the search stands still. After one or two minutes I'll get the error Exception occured: Exception occured: SOCKSHTTPConnectionPool(host='msydqstlz2kzerdg.onion', port=80): Max retries exceeded with url: /search/?q=computer (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb832be3430>: Failed to establish a new connection: 0x06: TTL expired'))

Ok, DarkSearch runs
DarkSearch (.io) (#0): 100%|โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 30/30 [00:31<00:00, 1.04s/it]

but OnionLand gives an error again:
OnionLand (#0): 68%|โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ– | 68/100 [01:52<00:53, 1.66s/it]
Exception occured: SOCKSHTTPConnectionPool(host='hss3uro2hsxfogfq.onion', port=80): Max retries exceeded with url: /index.php?q=computer (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSConnection object at 0x7fb832378f40>: Failed to establish a new connection: 0x06: TTL expired'))

and so on and on....

What am I doing wrong, can you help?

Regards
henry

A lot of found onion links cannot be opened in tor browser...

When I enter some of the found .onion websites in tor browser I have the following error :

Details: 0xF6 โ€” The provided .onion address is invalid. This error is returned due to one of the following reasons: the address checksum doesn't match, the ed25519 public key is invalid, or the encoding is invalid.

That seems to be due to to recent tor browser updates, doesn't it ?

Thank you.

html5lib error

I am running Kali Linux 2024.1, This was a new installation of onionsearch. Installation was easy. But when I run a search I get an error message saying Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library? I reinstalled bs, html5lib, and lxml, removed and reinstalled onionsearch with same problem any thoughts.

Unable connect

onionsearch "computer"

search.py started with 1 processing units...
Ahmia (#0): 0%| | 0/1 [00:00<?, ?it/s]
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect
Torgle (#0): 0%| | 0/1 [00:00<?, ?it/s]
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect
Tormax (#0): 0%| | 0/1 [00:00<?, ?it/s]
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect
Error: unable to connect

Report:
Execution time: 0:00:00.044569 seconds
Results per engine:
ahmia: 0
darksearchio: 0
onionland: 0
notevil: 0
darksearchenginer: 0
phobos: 0
onionsearchserver: 0
torgle: 0
torgle1: 0
onionsearchengine: 0
tordex: 0
tor66: 0
tormax: 0
haystack: 0
multivac: 0
evosearch: 0
deeplink: 0
Total: 0 links written to output_computer_20201201123252.txt

[error] cannot pickle '_thread.RLock' object.

Looks like a bug.

Installation

pip3 install onionsearch

Run

onionsearch "computer"

Output

search.py started with 3 processing units...
Traceback (most recent call last):
  File "/usr/local/bin/onionsearch", line 8, in <module>
    sys.exit(scrape())
  File "/usr/local/lib/python3.9/site-packages/onionsearch/core.py", line 938, in scrape
    with Pool(units, initializer=tqdm.set_lock, initargs=(tqdm.get_lock(),)) as p:
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/pool.py", line 212, in __init__
    self._repopulate_pool()
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/pool.py", line 303, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/pool.py", line 326, in _repopulate_pool_static
    w.start()
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/local/Cellar/[email protected]/3.9.0_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle '_thread.RLock' object
  • CPU: i386
  • OS: macOS 10.13.6
  • Python: 3.9.0

Thanks.

TypeError: cannot pickle '_thread.RLock' object

Getting the same error - rebooted system - have tried pip install as well as installing from git clone - neither works

search.py started with 15 processing units...
Traceback (most recent call last):
  File "/usr/local/bin/onionsearch", line 33, in <module>
    sys.exit(load_entry_point('onionsearch==1', 'console_scripts', 'onionsearch')())
  File "/usr/local/lib/python3.9/site-packages/onionsearch/core.py", line 938, in scrape
    with Pool(units, initializer=tqdm.set_lock, initargs=(tqdm.get_lock(),)) as p:
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/pool.py", line 212, in __init__
    self._repopulate_pool()
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/pool.py", line 303, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/pool.py", line 326, in _repopulate_pool_static
    w.start()
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/local/Cellar/[email protected]/3.9.1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle '_thread.RLock' object

Errors due to outdated onion search engine addresses

I did a pip install of this package (by the way I like it very much) I need to update the onion addresses of some of the search engines. I have been unable to find the core.py file. Can you point a direction, please.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.