Skip to content

A lightweight STUN client written in C to get the external IPv4 address.

License

Notifications You must be signed in to change notification settings

0xFireWolf/STUNExternalIP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STUN External IP

##Description A lightweight STUN client written in C to get the external IPv4 address. ##Usage The API provided in this library is pretty straightforward.

int getPublicIPAddress(struct STUNServer server, char* address);

This function requires a valid STUN server and a non-null buffer to store the external IP address. It returns 0 on success or a negative number on error.

struct STUNServer
{
    char* address;
    
    unsigned short port;
};

A STUNServer contains the address and port number. address can be either an IP address or a domain name. Check the example code in main.c. ####Notes Not all STUN servers use the XOR mapped address. So this function will return -5 if it cannot find the XOR mapped address in the response. ##Compilation cd to the STUNExternalIP directory and type make to compile. Type make clean to clean up. ##Tested Environments I have tested the code on macOS Sierra, Ubuntu 14.04 LTS and OpenSUSE. Windows is probably not supported now because of the headers for socket. ##Reference Check the RFC5386 for further information. ##License MIT License

About

A lightweight STUN client written in C to get the external IPv4 address.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published