Comments (5)
@hoffmabc The original project on google code wasn't on PyPI, development had stopped for years, and the original author gaohawk wasn't responding so I decided to adopt it, put it on github, and publish to PyPI. I'm not particularly an expert on STUN but I have maintained Python projects so I figured I'd try to give it a home and keep it relatively up to date. Besides that I plan to eventually use it in my StarCluster project to dynamically add/remove security group rules to restrict access to clusters on Amazon.
So the short answer is yes it's still maintained but gets very low traffic. I'd be more than happy to take enhancements/improvements but without proper tests it's hard to do that. I think a good first step is to write some tests for pystun and aim for 90% coverage before piling on new features/improvements. What do you think?
from pystun.
@hoffmabc Would you be willing/able to write tests for pystun?
from pystun.
Hello @jtriley, I am from the OpenBazaar team. We recently had some issues with the STUN server list, so I decided to fork the project and maintain it. I plan to:
- Install a Continuous Integration system (Travis CI).
- Have the code statically analyzed via prospector.
- Support Python versions 2.7+ for now, as well as 3.4+ in the future.
- Split the I/O code from the response-processing code.
- Unit test the response-processing code to verify it is following the RFC.
- Showcase the test coverage via coveralls.
- Follow good packaging practices and make the setup
pip
-friendly.
I 've already begun working on some of the above. Being backwards compatible isn't high on my list, as we mostly intend this to be an in-house project. However, I 'd be happy to work on a shared roadmap, so that our development can be pushed upstream, too.
from pystun.
@Renelvon Cool! The changes you've made so far in your develop branch look good - mind submitting a PR for review? Moving forward it shouldn't be too terribly difficult to provide backwards compatibility at least for the public function/method calls and deprecate them over time - other than that I'm not opposed to major refactoring given that this is still very close to the original code and really needs it anyway.
Feel free to file another issue to review some ideas for a roadmap. Also, if you're interested in becoming the official maintainer of the project you should ping me on IRC (same nick on freenode)
from pystun.
For the record: @Renelvon and I had a chat on IRC and agreed to eventually hand the project over to @Renelvon once the tests and coverage are in place. Until then I will continue to review and merge his PRs and handle making new releases. We've also agreed to keep the MIT license on the project moving forward.
from pystun.
Related Issues (20)
- [Bug] The wrong way to determine the port restricted NAT or restricted NAT HOT 1
- [Bug] Never returns OpenInternet if explicit bind address not specified
- Stun Packet Magic Cookie Must Be `0x2112A442` HOT 1
- Installation on IronPython error
- dict_item indexing issue in Python 3.5 HOT 9
- KeyError: b'0101' issue in Python 3.5 HOT 2
- KeyError: '0100'
- NAT type detect run "Do Test3" had a BUG HOT 1
- how set passwd and username
- i think the stun server is all down, so this tool can't work well now.
- KeyError: u'0800'
- why not test mapping rules?
- TypeError: 'dict_items' object is not subscriptable HOT 2
- Fixed multiple bugs with pystun and added async support
- Broken on Python 3.11 HOT 2
- Stun request doesnt include a magic cookie making all requests invalid for this program (most servers wont work)
- UnboundLocalError
- Logic error in handling error response HOT 2
- always getting 54320 as external port HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pystun.