\u001B[1mSYNOPSIS\u001B[0m
    ${project.description}

    Original Maven URL:
        \u001B[33mmvn:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m

\u001B[1mDESCRIPTION\u001B[0m
    Apache Commons Net implements the client side of many basic Internet protocols. The purpose of the library
    is to provide fundamental protocol access, not higher-level abstractions. Therefore, some of the design
    violates object-oriented design principles. Our philosophy is to make the global functionality of a protocol
    accessible (e.g., TFTP send file and receive file) when possible, but also provide access to the fundamental
    protocols where applicable so that the programmer may construct his own custom implementations (e.g, the
    TFTP packet classes and the TFTP packet send and receive methods are exposed).

    Supported protocols are:

        * FTP/FTPS
        * NNTP
        * SMTP
        * POP3
        * Telnet
        * TFTP
        * Finger
        * Whois
        * rexec/rcmd/rlogin
        * Time (rdate) and Daytime
        * Echo
        * Discard
        * NTP/SNTP

\u001B[1mSEE ALSO\u001B[0m
    \u001B[36mhttp://commons.apache.org/net/\u001B[0m
