@ -4,6 +4,7 @@ import (
				@@ -4,6 +4,7 @@ import (
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						"bytes"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						"io/ioutil"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						"net/http"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						"net/url"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						"os"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						"time"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -66,6 +67,15 @@ func (yp *YP) Stop() {
				@@ -66,6 +67,15 @@ func (yp *YP) Stop() {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					func  ( yp  * YP )  ping ( )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						myInstanceURL  :=  config . Config . YP . InstanceURL  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						isValidInstanceURL  :=  isUrl ( myInstanceURL )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						if  myInstanceURL  ==  ""  ||  ! isValidInstanceURL  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  ! _inErrorState  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								log . Warnln ( "YP Error: unable to use" ,  myInstanceURL ,  "as a public instance URL. Fix this value in your configuration." )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							_inErrorState  =  true  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						key  :=  yp . getSavedKey ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						log . Traceln ( "Pinging YP as: " ,  config . Config . InstanceDetails . Name )  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -142,3 +152,7 @@ func DisplayInstructions() {
				@@ -142,3 +152,7 @@ func DisplayInstructions() {
					 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						text  :=  "Your instance can be listed on the Owncast directory at http://directory.owncast.online by enabling YP in your config.  Learn more at https://directory.owncast.online/get-listed."  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						log . Debugln ( text )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					func  isUrl ( str  string )  bool  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						u ,  err  :=  url . Parse ( str )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						return  err  ==  nil  &&  u . Scheme  !=  ""  &&  u . Host  !=  ""  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}