Skip to content

Commit

Permalink
Remove tor
Browse files Browse the repository at this point in the history
  • Loading branch information
ppfeister committed May 18, 2024
1 parent 16e6ee6 commit 606743b
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 58 deletions.
58 changes: 4 additions & 54 deletions sherlock/sherlock.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
)

from requests_futures.sessions import FuturesSession
from torrequest import TorRequest
from sherlock.result import QueryStatus
from sherlock.result import QueryResult
from sherlock.notify import QueryNotifyPrint
Expand Down Expand Up @@ -167,8 +166,6 @@ def sherlock(
username,
site_data,
query_notify,
tor=False,
unique_tor=False,
proxy=None,
timeout=60,
):
Expand All @@ -183,8 +180,6 @@ def sherlock(
query_notify -- Object with base type of QueryNotify().
This will be used to notify the caller about
query results.
tor -- Boolean indicating whether to use a tor circuit for the requests.
unique_tor -- Boolean indicating whether to use a new tor circuit for each request.
proxy -- String indicating the proxy URL
timeout -- Time in seconds to wait before timing out request.
Default is 60 seconds.
Expand All @@ -205,20 +200,10 @@ def sherlock(

# Notify caller that we are starting the query.
query_notify.start(username)
# Create session based on request methodology
if tor or unique_tor:
# Requests using Tor obfuscation
try:
underlying_request = TorRequest()
except OSError:
print("Tor not found in system path. Unable to continue.\n")
sys.exit(query_notify.finish())

underlying_session = underlying_request.session
else:
# Normal requests
underlying_session = requests.session()
underlying_request = requests.Request()
# Normal requests
underlying_session = requests.session()
underlying_request = requests.Request()

# Limit number of workers to 20.
# This is probably vastly overkill.
Expand Down Expand Up @@ -342,15 +327,10 @@ def sherlock(
# Store future in data for access later
net_info["request_future"] = future

# Reset identify for tor (if needed)
if unique_tor:
underlying_request.reset_identity()

# Add this site's results into final dictionary with all the other results.
results_total[social_network] = results_site

# Open the file containing account links
# Core logic: If tor requests, make them here. If multi-threaded requests, wait for responses
for social_network, net_info in site_data.items():
# Retrieve results again
results_site = results_total.get(social_network)
Expand Down Expand Up @@ -554,23 +534,7 @@ def main():
"-o",
dest="output",
help="If using single username, the output of the result will be saved to this file.",
)
parser.add_argument(
"--tor",
"-t",
action="store_true",
dest="tor",
default=False,
help="Make requests over Tor; increases runtime; requires Tor to be installed and in system path.",
)
parser.add_argument(
"--unique-tor",
"-u",
action="store_true",
dest="unique_tor",
default=False,
help="Make requests over Tor with new Tor circuit after each request; increases runtime; requires Tor to be installed and in system path.",
)
),
parser.add_argument(
"--csv",
action="store_true",
Expand Down Expand Up @@ -694,22 +658,10 @@ def main():
except Exception as error:
print(f"A problem occurred while checking for an update: {error}")

# Argument check
# TODO regex check on args.proxy
if args.tor and (args.proxy is not None):
raise Exception("Tor and Proxy cannot be set at the same time.")

# Make prompts
if args.proxy is not None:
print("Using the proxy: " + args.proxy)

if args.tor or args.unique_tor:
print("Using Tor to make requests")

print(
"Warning: some websites might refuse connecting over Tor, so note that using this option might increase connection errors."
)

if args.no_color:
# Disable color output.
init(strip=True, convert=False)
Expand Down Expand Up @@ -788,8 +740,6 @@ def main():
username,
site_data,
query_notify,
tor=args.tor,
unique_tor=args.unique_tor,
proxy=args.proxy,
timeout=args.timeout,
)
Expand Down
4 changes: 0 additions & 4 deletions tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@ def setUp(self):
# Create notify object for query results.
self.query_notify = QueryNotify()

self.tor = False
self.unique_tor = False
self.timeout = None
self.skip_error_sites = True

Expand Down Expand Up @@ -115,8 +113,6 @@ def username_check(self, username_list, site_list, exist_check=True):
results = sherlock.sherlock(username,
site_data,
self.query_notify,
tor=self.tor,
unique_tor=self.unique_tor,
timeout=self.timeout
)
for site, result in results.items():
Expand Down

0 comments on commit 606743b

Please sign in to comment.