30 lines
471 B
Go
30 lines
471 B
Go
package sharelink
|
|
|
|
import (
|
|
"fmt"
|
|
"lash"
|
|
"lash/internal/errx"
|
|
"net"
|
|
)
|
|
|
|
func GenerateShareLink(port int) string {
|
|
link := "http://"
|
|
link += getLocalIP()
|
|
link += fmt.Sprintf(":%d", port)
|
|
link += "/"
|
|
link += lash.ShareLinkToken
|
|
return link
|
|
}
|
|
|
|
func getLocalIP() string {
|
|
conn, err := net.Dial("udp", "8.8.8.8:80")
|
|
if err != nil {
|
|
errx.FatalPerror(err)
|
|
}
|
|
defer conn.Close()
|
|
|
|
localAddress := conn.LocalAddr().(*net.UDPAddr)
|
|
|
|
return localAddress.IP.String()
|
|
}
|