 9bdcbe0447
			
		
	
	9bdcbe0447
	
	
	
		
			
			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.
 |