mirror of
				https://github.com/brianshea2/meshmap.net.git
				synced 2025-03-05 21:00:01 -08:00 
			
		
		
		
	allow custom root topics
This commit is contained in:
		
							parent
							
								
									ec6cb716a6
								
							
						
					
					
						commit
						1b62110914
					
				|  | @ -227,6 +227,16 @@ func main() { | ||||||
| 	} | 	} | ||||||
| 	// connect to MQTT
 | 	// connect to MQTT
 | ||||||
| 	client := &meshtastic.MQTTClient{ | 	client := &meshtastic.MQTTClient{ | ||||||
|  | 		Topics: []string{ | ||||||
|  | 			"msh/+/2/map/", | ||||||
|  | 			"msh/+/2/e/+/+", | ||||||
|  | 			"msh/+/+/2/map/", | ||||||
|  | 			"msh/+/+/2/e/+/+", | ||||||
|  | 			"msh/+/+/+/2/map/", | ||||||
|  | 			"msh/+/+/+/2/e/+/+", | ||||||
|  | 			"msh/+/+/+/+/2/map/", | ||||||
|  | 			"msh/+/+/+/+/2/e/+/+", | ||||||
|  | 		}, | ||||||
| 		TopicRegex: regexp.MustCompile(`/2/e/[^/]+/![0-9a-f]+$|/2/map/$`), | 		TopicRegex: regexp.MustCompile(`/2/e/[^/]+/![0-9a-f]+$|/2/map/$`), | ||||||
| 		Accept: func(from uint32) bool { | 		Accept: func(from uint32) bool { | ||||||
| 			_, found := blocked[from] | 			_, found := blocked[from] | ||||||
|  |  | ||||||
|  | @ -31,6 +31,7 @@ func NewBlockCipher(key []byte) cipher.Block { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type MQTTClient struct { | type MQTTClient struct { | ||||||
|  | 	Topics         []string | ||||||
| 	TopicRegex     *regexp.Regexp | 	TopicRegex     *regexp.Regexp | ||||||
| 	Accept         func(from uint32) bool | 	Accept         func(from uint32) bool | ||||||
| 	BlockCipher    cipher.Block | 	BlockCipher    cipher.Block | ||||||
|  | @ -56,11 +57,8 @@ func (c *MQTTClient) Connect() error { | ||||||
| 	} | 	} | ||||||
| 	log.Print("[info] connected") | 	log.Print("[info] connected") | ||||||
| 	topics := make(map[string]byte) | 	topics := make(map[string]byte) | ||||||
| 	for i, region := range generated.Config_LoRaConfig_RegionCode_name { | 	for _, topic := range c.Topics { | ||||||
| 		if i == 0 { | 		topics[topic] = 0 | ||||||
| 			continue |  | ||||||
| 		} |  | ||||||
| 		topics["msh/"+region+"/#"] = 0 |  | ||||||
| 	} | 	} | ||||||
| 	token = c.SubscribeMultiple(topics, nil) | 	token = c.SubscribeMultiple(topics, nil) | ||||||
| 	<-token.Done() | 	<-token.Done() | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue