feat: support pasv mode port mapping #521
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Modify the type of
PassiveTransferPortRange
in the driver settings to the interfacePasvPortGetter
, which is essentially a function that can return the exposed port and the listened port. The listened port will be listened by the local host, while the exposed port will be returned as the result of thePASV
orEPSV
command. This design ensures that the library can adapt to cases where port mapping exists between the client and server, such as deployment within Docker.PortRange
implementedPasvPortGetter
, so the modified version will remain compatible with previous versions.