Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I2P interface on android #58

Closed
Ruulul opened this issue May 19, 2022 · 1 comment
Closed

I2P interface on android #58

Ruulul opened this issue May 19, 2022 · 1 comment

Comments

@Ruulul
Copy link

Ruulul commented May 19, 2022

I am getting a big chunk of error trying to use I2P interface on android. I tried to install the package from the link, the i2p python package through pip3 and also the i2pd package by pkg.

Error message:

Exception in thread Thread-14 (tunnel_job):                                
Traceback (most recent call last):
  
File "/data/data/com.termux/files/usr/lib/python3.10/threading.py", line 1009, in _bootstrap_inner                                                      
self.run()
  
File "/data/data/com.termux/files/usr/lib/python3.10/threading.py", line 946, in run                                                                    
self._target(*self._args, **self._kwargs)
  
File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/RNS/Interfaces/I2PInterface.py", line 571, in tunnel_job
    self.i2p.server_tunnel(self)                                             
File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/RNS/Interfaces/I2PInterface.py", line 143, in server_tunnel
    i2p_dest = asyncio.run_coroutine_threadsafe(coro, self.loop).result()    
File "/data/data/com.termux/files/usr/lib/python3.10/concurrent/futures/_base.py", line 446, in result
    return self.__get_result()                                               
File "/data/data/com.termux/files/usr/lib/python3.10/concurrent/futures/_base.py", line 391, in __get_result
    raise self._exception                                                    
File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/RNS/vendor/i2plib/aiosam.py", line 67, in new_destination                            
reader, writer = await get_sam_socket(sam_address, loop)                 
File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/RNS/vendor/i2plib/aiosam.py", line 28, in get_sam_socket
reader, writer = await asyncio.open_connection(*sam_address, loop=loop)  
File "/data/data/com.termux/files/usr/lib/python3.10/asyncio/streams.py", line 47, in open_connection

[2022-05-19 08:32:26] [Notice] Started rnsd version 0.3.6                      
transport, _ = await loop.create_connection(
TypeError: BaseEventLoop.create_connection() got an unexpected keyword argument 'loop'
@markqvist
Copy link
Owner

Thank you very much for reporting this. The cause of this was that Python 3.10 removed several options from the asyncio API, that i2plib uses. I have fixed this in the i2plib that is distributed with Reticulum, and all is working again.

For good measure, I tested with the following I2P Router implementations, and these are the results:

  • Using i2pd installed through termux's package manager = Working
  • Using the i2pd app installed through F-Droid = Working
  • Using the "official" I2P app installed through F-Droid = Working
  • Using the "official" I2P app installed through Google Play Store = Working

Btw, you don't need to install any i2p package for python, Reticulum includes its own means to communicate with the local I2P Router.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants