Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
79 lines
1.6 KiB
Markdown
79 lines
1.6 KiB
Markdown
go-nat-pmp
|
|
==========
|
|
|
|
A Go language client for the NAT-PMP internet protocol for port mapping and discovering the external
|
|
IP address of a firewall.
|
|
|
|
NAT-PMP is supported by Apple brand routers and open source routers like Tomato and DD-WRT.
|
|
|
|
See https://tools.ietf.org/rfc/rfc6886.txt
|
|
|
|
|
|
[](https://travis-ci.org/jackpal/go-nat-pmp)
|
|
|
|
Get the package
|
|
---------------
|
|
|
|
# Get the go-nat-pmp package.
|
|
go get -u github.com/jackpal/go-nat-pmp
|
|
|
|
Usage
|
|
-----
|
|
|
|
Get one more package, used by the example code:
|
|
|
|
go get -u github.com/jackpal/gateway
|
|
|
|
Create a directory:
|
|
|
|
cd ~/go
|
|
mkdir -p src/hello
|
|
cd src/hello
|
|
|
|
Create a file hello.go with these contents:
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/jackpal/gateway"
|
|
natpmp "github.com/jackpal/go-nat-pmp"
|
|
)
|
|
|
|
func main() {
|
|
gatewayIP, err := gateway.DiscoverGateway()
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
client := natpmp.NewClient(gatewayIP)
|
|
response, err := client.GetExternalAddress()
|
|
if err != nil {
|
|
return
|
|
}
|
|
fmt.Printf("External IP address: %v\n", response.ExternalIPAddress)
|
|
}
|
|
|
|
Build the example
|
|
|
|
go build
|
|
./hello
|
|
|
|
External IP address: [www xxx yyy zzz]
|
|
|
|
Clients
|
|
-------
|
|
|
|
This library is used in the Taipei Torrent BitTorrent client http://github.com/jackpal/Taipei-Torrent
|
|
|
|
Complete documentation
|
|
----------------------
|
|
|
|
http://godoc.org/github.com/jackpal/go-nat-pmp
|
|
|
|
License
|
|
-------
|
|
|
|
This project is licensed under the Apache License 2.0.
|