/partftpy

Pure Python TFTP library (copyparty edition)

Primary LanguagePythonMIT LicenseMIT

this is a fork of tftpy with copyparty-specific changes

available on pypi

99% of the code here is copyright 2010-2021, Michael P. Soulier (msoulier@digitaltorque.ca)

warning

the purpose of this fork is to support copyparty with any necessary changes (possibly controversial ones, such as 4e873925)

while unlikely at this point, there might be additional breaking changes, but I'll try to not break anything by accident

my main focus will be features/bugs which affect copyparty, meaning the server part of this library -- anything else will be low priority, or maybe even wontfix (sorry!)

breaking changes

  • from tftpy import TftpServer => from partftpy.TftpServer import TftpServer 4e873925

    • to make it possible to monkeypatch stuff inside TftpServer, for example swapping out the os module with a virtual filesystem, which copyparty does
    • crude alternative to fknittel's proper VFS but copyparty was already doing this for impacket so for my purposes it's fine
  • packethook gets called with two arguments (TftpPacket, TftpContext) instead of just the TftpPacket f2e10d3f

significant changes

other changes


how to release:

  • update version and date in __init__.py
  • git commit -m v0.x.y
  • git tag v0.x.y
  • git push --tags
  • ./scripts/make-pypi-release.sh u