Pennyw0rth / NetExec

The Network Execution Tool
https://netexec.wiki/
BSD 2-Clause "Simplified" License
2.83k stars 303 forks source link

Testing for Python 3.12 #233

Open NeffIsBack opened 5 months ago

NeffIsBack commented 5 months ago

This issue should document changes that need to be done before we can "officially" support Python 3.12.

So far it looks like everything works just out of the box 🎉 Just some SyntaxWarnings from other packages: image image

NeffIsBack commented 4 months ago

Somehow now aardwolf installation fails with poetry complaining about not having rust.

noraj commented 1 month ago

Somehow now aardwolf installation fails with poetry complaining about not having rust.

aardwolf relies on setuptools-rust. When using distro package manager like pacman on ArchLinux, the PKGBUILD of python-setuptools-rust depends on rust, so everything is fine. But on poetry / pip / whateverpythonpackagemanager, it is only able to install python dependencies, not system dependencies. That's why having distro packages is important.

noraj commented 1 month ago

On BlackArch, we use a virtualenv poetry packaging for netexec instead of using ArchLinux python system packages because there are too much dependencies, for Netexec, updating too often and more importantly sometimes not using the last version for months while breaking changes are introduced in the dependency.

Right now ArchLinux uses python 3.12.4, so to make NetExec work via a poetry install, I had to install system dependencies (rust) in depends in the PKGBUILD as poetry can't install them cf. https://github.com/BlackArch/blackarch/pull/4186/files.

NeffIsBack commented 1 month ago

Okay makes sense! Weird stuff, i could have sworn the last time i tested it on a fresh kali installation it worked. Maybe it is preinstalled nowadays or some dependency installed it