AS2 file transfer Server built on Python and Django.
Project description
django-pyas2 is an AS2 server/client written in python and built on the django framework. The application supports AS2 version 1.2 as defined in the RFC 4130. Our goal is to provide a native python library for implementing the AS2 protocol. It supports Python 3.6+
django-pyas2 includes a set of django-admin commands that can be used to send files as a client, send asynchronous MDNs and so on. It also has a web based front end interface for configuring partners and organizations, monitoring message transfers and also initiating new transfers.
Features
Technical
Asynchronous and Synchronous MDN
Partner and Organization management
Digital signatures
Message encryption
Secure transport (SSL)
Support for SSL client authentication
System task to auto clear old log entries
Data compression (AS2 1.1)
Multinational support: Uses Django’s internationalization feature
Integration
Easy integration to existing systems, using a partner based file system interface
Message post processing (scripting on receipt)
Monitoring
Web interface for transaction monitoring
Email event notification
The following encryption algorithms are supported:
Triple DES
RC2-128
RC4-128
AES-128
AES-192
AES-256
The following hash algorithms are supported:
SHA-1
SHA-224
SHA-256
SHA-384
SHA-512
Documentation
You can find more information in the documentation.
Discussion
If you run into bugs, you can file them in our issue tracker.
Contribute
Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
Create your feature branch: git checkout -b my-new-feature
Commit your changes: git commit -am ‘Add some feature’
Push to the branch: git push origin my-new-feature
Send a pull request and bug the maintainer until it gets merged and published. :) Make sure to add yourself to AUTHORS.
Running Tests
Install django-environ and pytest into your environment to support the example.settings module and test framework.
To run django-pyas2's test suite:
django-admin.py test pyas2 --settings=example.settings --pythonpath=.
License
- GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.