a file transfer tool. point to point, no server needed. NAT traversal equipped.
Note: pass cannot traverse LSN (Large Sacel NAT) see more in About Port Mapping
git clone https://github.com/PLUTO-ALicE-Assn/pass.git -b stable
cd pass
make
# copy to /usr/local/bin
# use sudo on linux
make install
# map for port mapping if you don't have public ip address
$ pass <file-path> <port> (optional) map
File name(not path) cannot exceed 512 characters.
Open a downloaded or web browser and go to address:port.
Currently pass can map port on only home NATs, traversing Large-scale-NAT requires PCP protocol support.
pass will try to ise ipv6 be default, so if you have ipv6 address there is no need to map address.
There is no encryption so don’t use this on any secret.
More test
miniupnpc: https://github.com/miniupnp/miniupnp
pcp.c & natpmp.c not used because I couldn’t get them to work.