All Projects → KoalaBear84 → Opendirectorydownloader

KoalaBear84 / Opendirectorydownloader

Licence: gpl-3.0
Indexes open directories

Projects that are alternatives of or similar to Opendirectorydownloader

odcrawler-frontend
A frontend for ODCrawler, an Open Directory search engine.
Stars: ✭ 20 (-96.02%)
Mutual labels:  open, directory
Kong
Kong is a command-line parser for Go
Stars: ✭ 481 (-4.18%)
Mutual labels:  parser
Encrypted Dns
Configuration profiles for DNS HTTPS and DNS over TLS for iOS 14 and MacOS Big Sur
Stars: ✭ 455 (-9.36%)
Mutual labels:  https
Telegraph
Secure Web Server for iOS, tvOS and macOS
Stars: ✭ 474 (-5.58%)
Mutual labels:  https
Stream Json
The micro-library of Node.js stream components for creating custom JSON processing pipelines with a minimal memory footprint. It can parse JSON files far exceeding available memory streaming individual primitives using a SAX-inspired API.
Stars: ✭ 462 (-7.97%)
Mutual labels:  parser
Html5 Dom Document Php
A better HTML5 parser for PHP.
Stars: ✭ 477 (-4.98%)
Mutual labels:  parser
Minigo
minigo🐥is a small Go compiler made from scratch. It can compile itself.
Stars: ✭ 456 (-9.16%)
Mutual labels:  parser
Globalize
A JavaScript library for internationalization and localization that leverages the official Unicode CLDR JSON data
Stars: ✭ 4,612 (+818.73%)
Mutual labels:  parser
Sweet Core
Sweeten your JavaScript.
Stars: ✭ 4,501 (+796.61%)
Mutual labels:  parser
Eiblog
a fast blog system in golang
Stars: ✭ 472 (-5.98%)
Mutual labels:  https
Scandir
Better directory iterator and faster os.walk(), now in the Python 3.5 stdlib
Stars: ✭ 471 (-6.18%)
Mutual labels:  directory
Rsql Parser
Parser for RSQL / FIQL – query language for RESTful APIs
Stars: ✭ 463 (-7.77%)
Mutual labels:  parser
Ansible Role Certbot
Ansible Role - Certbot (for Let's Encrypt)
Stars: ✭ 477 (-4.98%)
Mutual labels:  https
Wordpress Nginx Docker Compose
Run WordPress with nginx using Docker Compose.
Stars: ✭ 460 (-8.37%)
Mutual labels:  https
Localdots
HTTPS domains for localhost. 🏠
Stars: ✭ 486 (-3.19%)
Mutual labels:  https
Compiler
The Hoa\Compiler library.
Stars: ✭ 458 (-8.76%)
Mutual labels:  parser
Libhttpserver
C++ library for creating an embedded Rest HTTP server (and more)
Stars: ✭ 464 (-7.57%)
Mutual labels:  https
Deta parser
快速中文分词分析word segmentation
Stars: ✭ 476 (-5.18%)
Mutual labels:  parser
Textx
Domain-Specific Languages and parsers in Python made easy http://textx.github.io/textX/
Stars: ✭ 496 (-1.2%)
Mutual labels:  parser
Tenko
An 100% spec compliant ES2021 JavaScript parser written in JS
Stars: ✭ 490 (-2.39%)
Mutual labels:  parser

Open Directory Downloader

Indexes open directories listings in 100+ supported formats, including FTP, Google Drive, GoIndex (alternatives).

Written in C# with .NET (Core), which means it is cross platform!

Downloading is not (yet) implemented, but is already possible when you use the resulting file into another tool (for most of the formats).

Downloading with wget:
wget -x -i theurlsfile.txt

Downloading with aria2c (Does not support directory structure..):
aria2c -i theurlsfile.txt

If you have improvements, supply me with a pull request! If you have a format not yet supported, please let me know.

Releases / Binaries

For builds (64-bit) for Windows, Linux and Mac, or ARM/ARM64 builds for Pi:

https://github.com/KoalaBear84/OpenDirectoryDownloader/releases

When using the self-contained releases you don't need to install the .NET Runtime.

Prerequisites

When you are NOT using the self-contained releases, you need to install the latest/current Runtime version of .NET:

https://dotnet.microsoft.com/download/dotnet/current/runtime

Usage

Command line parameters:

Short Long Description
-u --url Url to scan
-t --threads Number of threads (default 5)
-o --timeout Number of seconds for timeout
-q --quit Quit after scanning (No "Press a key")
-c --clipboard Automatically copy the Reddits stats once the scan is done
-j --json Save JSON file
-f --no-urls Do not save URLs file
-r --no-reddit Do not show Reddit stats markdown
-l --upload-urls Uploads urls file
-e --exact-file-sizes Exact file sizes (WARNING: Uses HEAD requests which takes more time and is heavier for server)
-s --speedtest Does a speed test after indexing
-a --user-agent Use custom default User Agent
  --username Username
  --password Password
  --output-file Output file to use for urls file

Example:
OpenDirectoryDownloader.exe --url "https://myopendirectory.com"

If you want to learn more or contribute, see the following paragraphs!

Copying on Linux

When you want to copy (C key or -c flag) the stats at the end on Linux you need to have xclip installed.

Docker

Every release will automatically push an image to the Docker Hub:

https://hub.docker.com/repository/docker/koalabear84/opendirectorydownloader

Run it like:

docker run --rm -v c:/Scans:/app/Scans -it koalabear84/opendirectorydownloader --quit --speedtest

It will save the URLs files onto C:\Scans (windows), or replace with a custom folder on other OS-ses.

* You can also run it without -v c:/scans:/app/Scans if you don't want to save the results on your host.

Getting the code

For Visual Studio (Windows)

  1. Install Visual Studio: https://visualstudio.microsoft.com/vs/community/
  • With workload: ".NET Core cross-platform development"
  • With individual components: Code tools > Git for Windows and Code tools > GitHub extension for Visual Studio
  1. Be sure to install Git: https://git-scm.com/downloads
  2. Clone the repository by clicking "Clone or download" and click "Open in Visual Studio"

For Visual Studio Code

  1. Download Visual Studio Code: https://code.visualstudio.com/download
  2. Be sure to install Git: https://git-scm.com/downloads
  3. Clone the repository: https://code.visualstudio.com/docs/editor/versioncontrol#_cloning-a-repository
  4. More help: https://docs.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio-code

Building

  1. Install the newest .NET 5 SDK.
  2. git clone https://github.com/KoalaBear84/OpenDirectoryDownloader
  3. cd OpenDirectoryDownloader/OpenDirectoryDownloader
  4. dotnet build .
  5. cd bin/Debug/net5.0
  6. ./OpenDirectoryDownloader --url "https://myopendirectory.com"

For Linux (Might not be needed since .NET 5):
Then, if you need to package it into a binary, you can use warp-packer

When you have cloned the code, you can also run it without the SDK. For that, download the "Runtime" and do "dotnet run ." instead of build.

Google Drive

For Google Drive scanning you need to get a Google Drive API credentials file, it's free!

You can use a many steps manual option, or the 6 steps 'Quickstart' workaround.

Manual/customized:

  1. Go to https://console.cloud.google.com/projectcreate
  2. Fill in Project Name, like "opendirectorydownloader" or so, lease Location unchanged
  3. Change Project ID (optional)
  4. Click "CREATE"
  5. Wait a couple of seconds until the project is created and open it (click "VIEW")
  6. On the APIs pane, click "Go to APIs overview"
  7. Click "ENABLE APIS AND SERVICES"
  8. Enter "Drive", select "Google Drive API"
  9. Click "ENABLE"
  10. Go to "Credentials" menu in the left menu bar
  11. Click "CONFIGURE CONSENT SCREEN"
  12. Choose "External", click "CREATE"
  13. Fill in something like "opendirectorydownloader" in the "Application name" box
  14. At the bottom click "Save"
  15. Go to "Credentials" menu in the left menu bar (again)
  16. Click "CREATE CREDENTIALS"
  17. Select "OAuth client ID"
  18. Select "Desktop app" as "Application type"
  19. Change the name (optional)
  20. Click "Create"
  21. Click "OK" in the "OAuth client created" dialog
  22. In the "OAuth 2.0 Client IDs" section click on the just create Desktop app line
  23. In the top bar, click "DOWNLOAD JSON"
  24. You will get a file like "client_secret_xxxxxx.apps.googleusercontent.com.json", rename it to "OpenDirectoryDownloader.GoogleDrive.json" and replace the one in the release

Wow, they really made a mess of this..

Alternative method (easier):

This will 'abuse' a 'Quickstart' project.

  1. Go to https://developers.google.com/drive/api/v3/quickstart/python
  2. Click the "Enabled the Drive API"
  3. "Desktop app" will already be selected on the "Configure your OAuth client" dialog
  4. Click "Create"
  5. Click "DOWNLOAD CLIENT CONFIGURATION"
  6. You will get a file like "credentials.json", rename it to "OpenDirectoryDownloader.GoogleDrive.json" and replace the one in the release

On the first use, you will get a browser screen that you need to grant access for it, and because we haven't granted out OAuth consent screen (This app isn't verified), we get an extra warning. You can use the "Advanced" link, and use the "Go to yourappname (unsafe)" link.

Support

If you like OpenDirectoryDownloader, please consider supporting me!

❤️ Sponsor

Contact me

Reddit https://www.reddit.com/user/KoalaBear84

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].