Open lucaspcamargo opened 10 months ago
Indeed!
>>> import stun
>>> stun.get_ip_info(stun_host='stun.ekiga.net')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/misan/.local/lib/python3.10/site-packages/stun/__init__.py", line 252, in get_ip_info
nat_type, nat = get_nat_type(s, source_ip, source_port,
File "/home/misan/.local/lib/python3.10/site-packages/stun/__init__.py", line 186, in get_nat_type
_initialize()
File "/home/misan/.local/lib/python3.10/site-packages/stun/__init__.py", line 93, in _initialize
dictValToAttr.update({items[i][1]: items[i][0]})
TypeError: 'dict_items' object is not subscriptable
This code doesn't look to be maintained; as the fixes are simple, I forked it and fixed the code for 3.11.
Its available on pypi
as yapystun
(Yet Another PyStun)
> pip install yapystun
Collecting yapystun
Using cached yapystun-0.2.2-py3-none-any.whl (6.5 kB)
Installing collected packages: yapystun
Successfully installed yapystun-0.2.2
> pystun -H stun.l.google.com -P 19302
NAT Type: Full Cone
External IP: x.x.x.x
External Port: 54320
> python --version
Python 3.11.2
I haven't tested anything else. If it's broken, raise an issue and I'll fix it ASAP.
Does not work with python 3.11. Fails with traceback: