@ -2,7 +2,6 @@ package main
import (
b64 "encoding/base64"
"encoding/json"
"encoding/pem"
"fmt"
"io/ioutil"
@ -64,12 +63,12 @@ func main() {
fmt . Println ( "failed to decode PEM block containing certificate" )
}
certificate := b64 . Std Encoding. EncodeToString ( [ ] byte ( block . Bytes ) )
certificate := b64 . RawURL Encoding. EncodeToString ( [ ] byte ( block . Bytes ) )
var macBytes [ ] byte
if loadedConfig . Zap Connect. Invoice {
if loadedConfig . Lnd Connect. Invoice {
macBytes , err = ioutil . ReadFile ( loadedConfig . InvoiceMacPath )
} else if loadedConfig . Zap Connect. Readonly {
} else if loadedConfig . Lnd Connect. Readonly {
macBytes , err = ioutil . ReadFile ( loadedConfig . ReadMacPath )
} else {
macBytes , err = ioutil . ReadFile ( loadedConfig . AdminMacPath )
@ -80,38 +79,33 @@ func main() {
return
}
macaroonB64 := b64 . Std Encoding. EncodeToString ( [ ] byte ( macBytes ) )
macaroonB64 := b64 . RawURL Encoding. EncodeToString ( [ ] byte ( macBytes ) )
ipString := ""
if loadedConfig . Zap Connect. Host != "" {
ipString = loadedConfig . Zap Connect. Host
} else if loadedConfig . Zap Connect. LocalIp {
if loadedConfig . Lnd Connect. Host != "" {
ipString = loadedConfig . Lnd Connect. Host
} else if loadedConfig . Lnd Connect. LocalIp {
ipString = getLocalIP ( )
} else if loadedConfig . Zap Connect. Localhost {
} else if loadedConfig . Lnd Connect. Localhost {
ipString = "127.0.0.1"
} else {
ipString = getPublicIP ( )
}
ipString = net . JoinHostPort (
ipString , fmt . Sprint ( loadedConfig . Zap Connect. Port ) ,
ipString , fmt . Sprint ( loadedConfig . Lnd Connect. Port ) ,
)
cert := & certificates {
Cert : certificate ,
Macaroon : macaroonB64 ,
Ip : ipString ,
}
certB , _ := json . Marshal ( cert )
urlString := fmt . Sprintf ( "lndconnect:?cert=%s&macaroon=%s&host=%s" , certificate , macaroonB64 , ipString )
if loadedConfig . Zap Connect. Json {
fmt . Println ( string ( certB ) )
} else if loadedConfig . Zap Connect. Image {
qrcode . WriteFile ( string ( certB ) , qrcode . Medium , 512 , "zap connect-qr.png" )
fmt . Println ( "Wrote QR Code to file \"zap connect-qr.png\"" )
if loadedConfig . LndConnect . Json {
fmt . Println ( urlString )
} else if loadedConfig . LndConnect . Image {
qrcode . WriteFile ( urlString , qrcode . Medium , 512 , "lndconnect-qr.png" )
fmt . Println ( "Wrote QR Code to file \"lnd connect-qr.png\"" )
} else {
obj := qrcodeTerminal . New ( )
obj . Get ( string ( certB ) ) . Print ( )
fmt . Println ( "\n⚠️ Press \"cmd + -\" a few times to see the full QR Code!\nIf that doesn't work run \"zap connect -j\" to get a code you can copy paste into the app." )
obj . Get ( urlString ) . Print ( )
fmt . Println ( "\n⚠️ Press \"cmd + -\" a few times to see the full QR Code!\nIf that doesn't work run \"lnd connect -j\" to get a code you can copy paste into the app." )
}
}