Gabisonfire / raincoat

Raincoat is a tool to search torrents using Jackett and send them to your client.
51 stars 15 forks source link

Could not fetch torrent url: No connection adapters were found #22

Closed BarneyBuffet closed 2 years ago

BarneyBuffet commented 3 years ago

Hey @Gabisonfire,

Thanks for sharing your work. Appreciate it.

Trying to chase down an error and looking for a little direction.

Raincoat is installed (osx brew python3 pip3.6) and I can search Jackett no problem. When I go to add an id to the transmission download client, I get the following error using --verbose:

ERR :: Could not fetch torrent url: No connection adapters were found for 'magnet:?....
DBG :: Torrent: <raincoat.torrent.torrent object at 0x1037c4ee0>

I am using the following config:

{
    "jackett_apikey": "*****************************",
    "jackett_url": "http://192.168.8.208",
    "jackett_indexer": "all",
    "description_length": 100,
    "exclude": "",
    "results_limit": 20,
    "client_url": "http://192.168.8.202:80/transimission/rpc",
    "display": "grid",
    "torrent_client": "transmission",
    "torrent_client_username": "*****************",
    "torrent_client_password": "*****************",
    "download_dir": "/data/downloads/raincoat"
}

Jackett and Transmission are being run on a K8s cluster. Jackett and Transmission are working fine with with Sonarr and Radarr.

Thanks.

Gabisonfire commented 3 years ago

Hey,

What version of transmission are you using?

Gabisonfire commented 3 years ago

Might have found the issue. Please uninstall and reinstall using pip install git+https://github.com/Gabisonfire/raincoat.git@transmission-fix and let me know. If it works, i'll push to pypi. Thanks for reporting btw.

BarneyBuffet commented 3 years ago

Hey @Gabisonfire,

Appreciate you taking the time to look into my issue.

I uninstalled raincoat and reinstalled the transmission-fix above.

Same error

ERR :: Could not fetch torrent url: No connection adapters were found for 'magnet:?...
DBG :: Torrent: <raincoat.torrent.torrent object at 0x10f5d6bb0>

I am using Transmission: 3.00 (bb6b5a062e), RPC: 16 via haugene/docker-transmission-openvpn on a Microk8s pi cluster.

I am using port 80 for Jackett and Transmission since they have different IPs, if that could make a difference.

Side note: setup.py templating of Raincoat.json is missing "download_dir" setting, had to manually add it based on the README.md to use raincoat after pip install.

Thanks.

Gabisonfire commented 3 years ago

Hey @BarneyBuffet , sorry for the late response, I had other obligations. I tested using Transmission 3.00 from linuxserver.io and was unable to reproduce your issue.

I used raincoat -K test --verbose and these are the logs I got

[ 2021-10-04 21:49:50.150342 ] :: DBG :: 302: Found
[ 2021-10-04 21:49:50.150400 ] :: DBG :: Headers: {"User-Agent": "python-requests/2.23.0", "Accept-Encoding": "gzip, deflate", "Accept": "*/*", "Connection": "keep-alive"}
[ 2021-10-04 21:49:50.150439 ] :: DBG :: Content: b''
[ 2021-10-04 21:49:50.150480 ] :: DBG :: Connecting to torrent client...
[ 2021-10-04 21:49:50.150513 ] :: DBG :: Transmission connection info: http://127.0.0.1:9091/transmission/rpc
[ 2021-10-04 21:49:50.150612 ] :: DBG :: Connected to Transmission
[ 2021-10-04 21:49:50.150651 ] :: DBG :: Adding <redacted> with url: magnet:?xt=urn:btih:<redacted>

The torrent was properly added into Transmission as a magnet link. I'm wondering if anything could interfere but the logs seem quite similar.

seffignoz commented 2 years ago

I have the same exact problem as described by @BarneyBuffet , using macOS.

seffignoz commented 2 years ago

Fixed with:

index 6e3509c..a6772bd 100644
--- a/raincoat/helpers.py
+++ b/raincoat/helpers.py
@@ -44,6 +44,8 @@ def fetch_torrent_url(torrent):
     try:
         if shared.VERIFY:
             requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)
+        if str(torrent.download)[0:20] == 'magnet:?xt=urn:btih:':
+            return torrent.download
         r = requests.get(torrent.download, allow_redirects=False, verify=shared.VERIFY)
         logger.debug(f"Requesting {torrent.download}")
         logger.debug(f"{str(r.status_code)}: {r.reason}")
Gabisonfire commented 2 years ago

Thank you @seffignoz , I will include this fix in the next release.

Gabisonfire commented 2 years ago

Fixed in 1.3.1