PacketSender icon indicating copy to clipboard operation
PacketSender copied to clipboard

Reduce of command line dependencies

Open lazna opened this issue 3 years ago • 6 comments

Make packetsender.com free of dependency on almost all bundled DLL, and thus make it better redistributable.

lazna avatar May 04 '22 02:05 lazna

OpenSSL and several run-time redistributables cannot be removed. However, if only command-line is desired, a good chunk of the GUI libraries could potentially be dropped.

Having a completely separate download for just command-line is too much hassle. Instead, a .bat file could be included to help purge the unneeded DLLs to make the directly command-line only.

dannagle avatar May 04 '22 20:05 dannagle

Isnt a solution to check SSL libraries just in moment when SSL is employed (HTTPS packes is assembled), instead of check it on program startup?

lazna avatar May 04 '22 22:05 lazna

That is exactly how it works currently. If there are no SSL libraries, then you simply cannot use encrypted connections such as HTTPS or TLS.

I bundle OpenSSL on Windows because I cannot use its built-in libraries (easily). For MacOS and Linux, I can use its built-in crypto libraries.

dannagle avatar May 05 '22 00:05 dannagle

So, in case someone not utilizing sercured protocols, only packetsender.com will be enough for command line operations?

Also print errormessage into console STDERR (in case of console usage, when some library missing) is better than pop-up GUI msgbox, because STDERR could be handled by script. Console programs generally should never open GUI box and wait for user interaction, it could happen in some server or in hidden environment started by taskscheduler, where is ho chance to click on it...... And set-up specific (documented!!) exitcodes in case of error, will be absolutelly perfect.

lazna avatar May 05 '22 07:05 lazna

You still need the run-time libraries. Not needing secure protocols only saves maybe 4 DLLs.

dannagle avatar May 05 '22 13:05 dannagle

You still need the run-time libraries. Not needing secure protocols only saves maybe 4 DLLs.

Make it as small as possible for cmdline usage, please.

lazna avatar Jul 01 '22 11:07 lazna

Development branch now has the fix so GUI libraries are not needed for command-line only use.

dannagle avatar Nov 27 '22 02:11 dannagle

is there a list of DLLs, which could be omitted when packing console only reditributable zip?

lazna avatar Nov 27 '22 13:11 lazna

Eventually, yes. The README will be updated in the next release.

dannagle avatar Nov 28 '22 00:11 dannagle

You still need the run-time libraries. Not needing secure protocols only saves maybe 4 DLLs.

Are you cut this secure protocols dll too? This may be required even at point user assemble secure protocol packet.

lazna avatar Nov 28 '22 09:11 lazna

You can remove the secure DLLs now. That will remove any features that use SSL.

dannagle avatar Nov 29 '22 01:11 dannagle

So for console operation without security functions, only main exe file in enough now?

lazna avatar Nov 29 '22 11:11 lazna

You still need the core run-time libraries. You won't need as near as many. I don't have the exact number, but the biggest ones, the graphics libraries, can be eliminated.

dannagle avatar Nov 30 '22 03:11 dannagle

Thansk for your effort. It would be great if this will be mented in readme file:

  • list of files needed for unsecure command line operations
  • list of files needed for secure command line operations

lazna avatar Nov 30 '22 09:11 lazna

https://github.com/dannagle/PacketSender/blob/master/README.md#ddls-that-can-be-removed-in-console-only-portable-mode

dannagle avatar Dec 17 '22 03:12 dannagle

Perfect, thank you!!

lazna avatar Dec 17 '22 11:12 lazna