Skip to content

asciimoth/ident

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ident

RFC 1413 implementation

package main

import (
	"fmt"
	"github.com/asciimoth/ident"
	"net"
)

func main() {
	listener, err := net.Listen("tcp4", "127.0.0.1:8080")
	if err != nil {
		panic(err)
	}
	defer listener.Close()
	for {
		conn, err := listener.Accept()
		if err != nil {
			fmt.Println(err)
			continue
		}
		_, lport, err := net.SplitHostPort(conn.LocalAddr().String())
		if err != nil {
			fmt.Println(err)
			conn.Close()
			continue
		}
		rhost, rport, err := net.SplitHostPort(conn.RemoteAddr().String())
		if err != nil {
			fmt.Println(err)
			conn.Close()
			continue
		}
		rhost = net.JoinHostPort(rhost, ident.DEFAULT_PORT)
		resp, err := ident.Query(conn.RemoteAddr().Network(), rhost, rport, lport)
		if err != nil {
			fmt.Println(err)
			conn.Close()
			continue
		}
		fmt.Println("Connn from", conn.RemoteAddr(), resp)
		conn.Close()
	}
}

License

Files in this repository are distributed under the CC0 license.

CC0
To the extent possible under law, ASCIIMoth has waived all copyright and related or neighboring rights to ident.

About

RFC 1413 implementation

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages