diff --git a/copyparty/__main__.py b/copyparty/__main__.py index e8eed38c..8b990997 100644 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -1047,6 +1047,7 @@ def add_webdav(ap): def add_tftp(ap): ap2 = ap.add_argument_group('TFTP options (UDP only)') ap2.add_argument("--tftp", metavar="PORT", type=int, help="enable TFTP server on \033[33mPORT\033[0m, for example \033[32m69 \033[0mor \033[32m3969") + ap2.add_argument("--tftp4", action="store_true", help="only listen on IPv4") ap2.add_argument("--tftpv", action="store_true", help="verbose") ap2.add_argument("--tftpvv", action="store_true", help="verboser") ap2.add_argument("--tftp-no-fast", action="store_true", help="debug: disable optimizations") diff --git a/copyparty/tftpd.py b/copyparty/tftpd.py index 6c650951..0ee45dec 100644 --- a/copyparty/tftpd.py +++ b/copyparty/tftpd.py @@ -150,11 +150,6 @@ class Tftpd(object): self._disarm(fos) - ip = next((x for x in self.args.i if ":" not in x), None) - if not ip: - self.log("tftp", "IPv6 not supported for tftp; listening on 0.0.0.0", 3) - ip = "0.0.0.0" - self.port = int(self.args.tftp) self.srv = [] self.ips = [] @@ -168,7 +163,7 @@ class Tftpd(object): if "::" in ips: ips.append("0.0.0.0") - if self.args.ftp4: + if self.args.tftp4: ips = [x for x in ips if ":" not in x] ips = list(ODict.fromkeys(ips)) # dedup diff --git a/copyparty/util.py b/copyparty/util.py index d64f6e49..55068fe0 100644 --- a/copyparty/util.py +++ b/copyparty/util.py @@ -231,6 +231,7 @@ IMPLICATIONS = [ ["e2vu", "e2v"], ["e2vp", "e2v"], ["e2v", "e2d"], + ["tftpvv", "tftpv"], ["smbw", "smb"], ["smb1", "smb"], ["smbvvv", "smbvv"], diff --git a/pyproject.toml b/pyproject.toml index 212f4e4b..f82fc6e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,7 +49,7 @@ thumbnails2 = ["pyvips"] audiotags = ["mutagen"] ftpd = ["pyftpdlib"] ftps = ["pyftpdlib", "pyopenssl"] -tftpd = ["partftpy>=0.3.1"] +tftpd = ["partftpy>=0.4.0"] pwhash = ["argon2-cffi"] [project.scripts] diff --git a/scripts/make-sfx.sh b/scripts/make-sfx.sh index fcc6f717..a1e3c190 100755 --- a/scripts/make-sfx.sh +++ b/scripts/make-sfx.sh @@ -219,9 +219,9 @@ necho() { mv pyftpdlib ftp/ necho collecting partftpy - f="../build/partftpy-0.3.1.tar.gz" + f="../build/partftpy-0.4.0.tar.gz" [ -e "$f" ] || - (url=https://files.pythonhosted.org/packages/37/79/1a1de1d3fdf27ddc9c2d55fec6552e7b8ed115258fedac6120679898b83d/partftpy-0.3.1.tar.gz; + (url=https://files.pythonhosted.org/packages/8c/96/642bb3ddcb07a2c6764eb29aa562d1cf56877ad6c330c3c8921a5f05606d/partftpy-0.4.0.tar.gz; wget -O$f "$url" || curl -L "$url" >$f) tar -zxf $f diff --git a/setup.py b/setup.py index c72b0d98..ba98bf15 100755 --- a/setup.py +++ b/setup.py @@ -141,7 +141,7 @@ args = { "audiotags": ["mutagen"], "ftpd": ["pyftpdlib"], "ftps": ["pyftpdlib", "pyopenssl"], - "tftpd": ["partftpy>=0.3.1"], + "tftpd": ["partftpy>=0.4.0"], "pwhash": ["argon2-cffi"], }, "entry_points": {"console_scripts": ["copyparty = copyparty.__main__:main"]},