mirror of
				https://github.com/PurpleI2P/i2pd.git
				synced 2025-11-04 08:30:46 +00:00 
			
		
		
		
	perfecting qt status page
This commit is contained in:
		
							parent
							
								
									11dca2b352
								
							
						
					
					
						commit
						7225231814
					
				
					 4 changed files with 342 additions and 326 deletions
				
			
		| 
						 | 
					@ -198,7 +198,10 @@ namespace http {
 | 
				
			||||||
		s << "<b>ERROR:</b> " << string << "<br>\r\n";
 | 
							s << "<b>ERROR:</b> " << string << "<br>\r\n";
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void ShowStatus (std::stringstream& s, bool includeHiddenContent)
 | 
					    void ShowStatus (
 | 
				
			||||||
 | 
					            std::stringstream& s,
 | 
				
			||||||
 | 
					            bool includeHiddenContent,
 | 
				
			||||||
 | 
					            i2p::http::OutputFormatEnum outputFormat)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		s << "<b>Uptime:</b> ";
 | 
							s << "<b>Uptime:</b> ";
 | 
				
			||||||
		ShowUptime(s, i2p::context.GetUptime ());
 | 
							ShowUptime(s, i2p::context.GetUptime ());
 | 
				
			||||||
| 
						 | 
					@ -245,9 +248,12 @@ namespace http {
 | 
				
			||||||
		ShowTraffic (s, i2p::transport::transports.GetTotalTransitTransmittedBytes ());
 | 
							ShowTraffic (s, i2p::transport::transports.GetTotalTransitTransmittedBytes ());
 | 
				
			||||||
		s << " (" << (double) i2p::transport::transports.GetTransitBandwidth () / 1024 << " KiB/s)<br>\r\n";
 | 
							s << " (" << (double) i2p::transport::transports.GetTransitBandwidth () / 1024 << " KiB/s)<br>\r\n";
 | 
				
			||||||
		s << "<b>Data path:</b> " << i2p::fs::GetDataDir() << "<br>\r\n";
 | 
							s << "<b>Data path:</b> " << i2p::fs::GetDataDir() << "<br>\r\n";
 | 
				
			||||||
		s << "<div class='slide'><label for='slide-info'>Hidden content. Press on text to see.</label>\r\n<input type='checkbox' id='slide-info'/>\r\n<p class='content'>\r\n";
 | 
					        s << "<div class='slide'>";
 | 
				
			||||||
		if(includeHiddenContent) {
 | 
					        if((outputFormat==OutputFormatEnum::forWebConsole)||!includeHiddenContent) {
 | 
				
			||||||
			s << "<b>Router Ident:</b> " << i2p::context.GetRouterInfo().GetIdentHashBase64() << "<br>\r\n";
 | 
					            s << "<label for='slide-info'>Hidden content. Press on text to see.</label>\r\n<input type='checkbox' id='slide-info'/>\r\n<p class='content'>\r\n";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if(includeHiddenContent) {
 | 
				
			||||||
 | 
					            s << "<b>Router Ident:</b> " << i2p::context.GetRouterInfo().GetIdentHashBase64() << "<br>\r\n";
 | 
				
			||||||
			s << "<b>Router Family:</b> " << i2p::context.GetRouterInfo().GetProperty("family") << "<br>\r\n";
 | 
								s << "<b>Router Family:</b> " << i2p::context.GetRouterInfo().GetProperty("family") << "<br>\r\n";
 | 
				
			||||||
			s << "<b>Router Caps:</b> " << i2p::context.GetRouterInfo().GetProperty("caps") << "<br>\r\n";
 | 
								s << "<b>Router Caps:</b> " << i2p::context.GetRouterInfo().GetProperty("caps") << "<br>\r\n";
 | 
				
			||||||
			s << "<b>Our external address:</b>" << "<br>\r\n" ;
 | 
								s << "<b>Our external address:</b>" << "<br>\r\n" ;
 | 
				
			||||||
| 
						 | 
					@ -272,9 +278,12 @@ namespace http {
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				s << address->host.to_string() << ":" << address->port << "<br>\r\n";
 | 
									s << address->host.to_string() << ":" << address->port << "<br>\r\n";
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
					        }
 | 
				
			||||||
		s << "</p>\r\n</div>\r\n";
 | 
							s << "</p>\r\n</div>\r\n";
 | 
				
			||||||
		s << "<b>Routers:</b> " << i2p::data::netdb.GetNumRouters () << " ";
 | 
					        if(outputFormat==OutputFormatEnum::forQtUi) {
 | 
				
			||||||
 | 
					            s << "<br>";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        s << "<b>Routers:</b> " << i2p::data::netdb.GetNumRouters () << " ";
 | 
				
			||||||
		s << "<b>Floodfills:</b> " << i2p::data::netdb.GetNumFloodfills () << " ";
 | 
							s << "<b>Floodfills:</b> " << i2p::data::netdb.GetNumFloodfills () << " ";
 | 
				
			||||||
		s << "<b>LeaseSets:</b> " << i2p::data::netdb.GetNumLeaseSets () << "<br>\r\n";
 | 
							s << "<b>LeaseSets:</b> " << i2p::data::netdb.GetNumLeaseSets () << "<br>\r\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -285,15 +294,17 @@ namespace http {
 | 
				
			||||||
		s << "<b>Client Tunnels:</b> " << std::to_string(clientTunnelCount) << " ";
 | 
							s << "<b>Client Tunnels:</b> " << std::to_string(clientTunnelCount) << " ";
 | 
				
			||||||
		s << "<b>Transit Tunnels:</b> " << std::to_string(transitTunnelCount) << "<br>\r\n<br>\r\n";
 | 
							s << "<b>Transit Tunnels:</b> " << std::to_string(transitTunnelCount) << "<br>\r\n<br>\r\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		s << "<table><caption>Services</caption><tr><th>Service</th><th>State</th></tr>\r\n";
 | 
					        if(outputFormat==OutputFormatEnum::forWebConsole) {
 | 
				
			||||||
		s << "<tr><td>" << "HTTP Proxy"		<< "</td><td><div class='" << ((i2p::client::context.GetHttpProxy ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
					            s << "<table><caption>Services</caption><tr><th>Service</th><th>State</th></tr>\r\n";
 | 
				
			||||||
		s << "<tr><td>" << "SOCKS Proxy"	<< "</td><td><div class='" << ((i2p::client::context.GetSocksProxy ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
					            s << "<tr><td>" << "HTTP Proxy"		<< "</td><td><div class='" << ((i2p::client::context.GetHttpProxy ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
				
			||||||
		s << "<tr><td>" << "BOB"			<< "</td><td><div class='" << ((i2p::client::context.GetBOBCommandChannel ())	? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
					            s << "<tr><td>" << "SOCKS Proxy"	<< "</td><td><div class='" << ((i2p::client::context.GetSocksProxy ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
				
			||||||
		s << "<tr><td>" << "SAM"			<< "</td><td><div class='" << ((i2p::client::context.GetSAMBridge ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
					            s << "<tr><td>" << "BOB"			<< "</td><td><div class='" << ((i2p::client::context.GetBOBCommandChannel ())	? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
				
			||||||
		s << "<tr><td>" << "I2CP"			<< "</td><td><div class='" << ((i2p::client::context.GetI2CPServer ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
					            s << "<tr><td>" << "SAM"			<< "</td><td><div class='" << ((i2p::client::context.GetSAMBridge ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
				
			||||||
		bool i2pcontrol; i2p::config::GetOption("i2pcontrol.enabled", i2pcontrol);
 | 
					            s << "<tr><td>" << "I2CP"			<< "</td><td><div class='" << ((i2p::client::context.GetI2CPServer ())			? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
				
			||||||
		s << "<tr><td>" << "I2PControl"		<< "</td><td><div class='" << ((i2pcontrol) 									? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
					            bool i2pcontrol; i2p::config::GetOption("i2pcontrol.enabled", i2pcontrol);
 | 
				
			||||||
		s << "</table>\r\n";
 | 
					            s << "<tr><td>" << "I2PControl"		<< "</td><td><div class='" << ((i2pcontrol) 									? "enabled" : "disabled") << "'></div></td></tr>\r\n";
 | 
				
			||||||
 | 
					            s << "</table>\r\n";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void ShowLocalDestinations (std::stringstream& s)
 | 
						void ShowLocalDestinations (std::stringstream& s)
 | 
				
			||||||
| 
						 | 
					@ -863,7 +874,7 @@ namespace http {
 | 
				
			||||||
		} else if (req.uri.find("cmd=") != std::string::npos) {
 | 
							} else if (req.uri.find("cmd=") != std::string::npos) {
 | 
				
			||||||
			HandleCommand (req, res, s);
 | 
								HandleCommand (req, res, s);
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			ShowStatus (s, true);
 | 
					            ShowStatus (s, true, i2p::http::OutputFormatEnum::forWebConsole);
 | 
				
			||||||
			res.add_header("Refresh", "10");
 | 
								res.add_header("Refresh", "10");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		ShowPageTail (s);
 | 
							ShowPageTail (s);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,7 +80,8 @@ namespace http
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //all the below functions are also used by Qt GUI, see mainwindow.cpp -> getStatusPageHtml
 | 
					    //all the below functions are also used by Qt GUI, see mainwindow.cpp -> getStatusPageHtml
 | 
				
			||||||
    void ShowStatus (std::stringstream& s, bool includeHiddenContent);
 | 
					    enum OutputFormatEnum { forWebConsole, forQtUi };
 | 
				
			||||||
 | 
					    void ShowStatus (std::stringstream& s, bool includeHiddenContent, OutputFormatEnum outputFormat);
 | 
				
			||||||
    void ShowLocalDestinations (std::stringstream& s);
 | 
					    void ShowLocalDestinations (std::stringstream& s);
 | 
				
			||||||
    void ShowLeasesSets(std::stringstream& s);
 | 
					    void ShowLeasesSets(std::stringstream& s);
 | 
				
			||||||
    void ShowTunnels (std::stringstream& s);
 | 
					    void ShowTunnels (std::stringstream& s);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,308 +1,310 @@
 | 
				
			||||||
QT += core gui
 | 
					QT += core gui
 | 
				
			||||||
 | 
					
 | 
				
			||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 | 
					greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TARGET = i2pd_qt
 | 
					TARGET = i2pd_qt
 | 
				
			||||||
TEMPLATE = app
 | 
					TEMPLATE = app
 | 
				
			||||||
QMAKE_CXXFLAGS *= -std=c++11
 | 
					QMAKE_CXXFLAGS *= -std=c++11
 | 
				
			||||||
DEFINES += USE_UPNP
 | 
					DEFINES += USE_UPNP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# change to your own path, where you will store all needed libraries with 'git clone' commands below.
 | 
					# change to your own path, where you will store all needed libraries with 'git clone' commands below.
 | 
				
			||||||
MAIN_PATH = /path/to/libraries
 | 
					MAIN_PATH = /path/to/libraries
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# git clone https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git
 | 
					# git clone https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git
 | 
				
			||||||
# git clone https://github.com/PurpleI2P/OpenSSL-for-Android-Prebuilt.git
 | 
					# git clone https://github.com/PurpleI2P/OpenSSL-for-Android-Prebuilt.git
 | 
				
			||||||
# git clone https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git
 | 
					# git clone https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git
 | 
				
			||||||
# git clone https://github.com/PurpleI2P/android-ifaddrs.git
 | 
					# git clone https://github.com/PurpleI2P/android-ifaddrs.git
 | 
				
			||||||
BOOST_PATH = $$MAIN_PATH/Boost-for-Android-Prebuilt
 | 
					BOOST_PATH = $$MAIN_PATH/Boost-for-Android-Prebuilt
 | 
				
			||||||
OPENSSL_PATH = $$MAIN_PATH/OpenSSL-for-Android-Prebuilt
 | 
					OPENSSL_PATH = $$MAIN_PATH/OpenSSL-for-Android-Prebuilt
 | 
				
			||||||
MINIUPNP_PATH = $$MAIN_PATH/MiniUPnP-for-Android-Prebuilt
 | 
					MINIUPNP_PATH = $$MAIN_PATH/MiniUPnP-for-Android-Prebuilt
 | 
				
			||||||
IFADDRS_PATH = $$MAIN_PATH/android-ifaddrs
 | 
					IFADDRS_PATH = $$MAIN_PATH/android-ifaddrs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Steps in Android SDK manager:
 | 
					# Steps in Android SDK manager:
 | 
				
			||||||
# 1) Check Extras/Google Support Library https://developer.android.com/topic/libraries/support-library/setup.html
 | 
					# 1) Check Extras/Google Support Library https://developer.android.com/topic/libraries/support-library/setup.html
 | 
				
			||||||
# 2) Check API 11
 | 
					# 2) Check API 11
 | 
				
			||||||
# Finally, click Install.
 | 
					# Finally, click Install.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SOURCES += DaemonQT.cpp mainwindow.cpp \
 | 
					SOURCES += DaemonQT.cpp mainwindow.cpp \
 | 
				
			||||||
    ../../libi2pd/api.cpp \
 | 
					    ../../libi2pd/api.cpp \
 | 
				
			||||||
    ../../libi2pd/Base.cpp \
 | 
					    ../../libi2pd/Base.cpp \
 | 
				
			||||||
    ../../libi2pd/BloomFilter.cpp \
 | 
					    ../../libi2pd/BloomFilter.cpp \
 | 
				
			||||||
    ../../libi2pd/Config.cpp \
 | 
					    ../../libi2pd/Config.cpp \
 | 
				
			||||||
    ../../libi2pd/CPU.cpp \
 | 
					    ../../libi2pd/CPU.cpp \
 | 
				
			||||||
    ../../libi2pd/Crypto.cpp \
 | 
					    ../../libi2pd/Crypto.cpp \
 | 
				
			||||||
	../../libi2pd/CryptoKey.cpp \
 | 
						../../libi2pd/CryptoKey.cpp \
 | 
				
			||||||
    ../../libi2pd/Datagram.cpp \
 | 
					    ../../libi2pd/Datagram.cpp \
 | 
				
			||||||
    ../../libi2pd/Destination.cpp \
 | 
					    ../../libi2pd/Destination.cpp \
 | 
				
			||||||
    ../../libi2pd/Event.cpp \
 | 
					    ../../libi2pd/Event.cpp \
 | 
				
			||||||
    ../../libi2pd/Family.cpp \
 | 
					    ../../libi2pd/Family.cpp \
 | 
				
			||||||
    ../../libi2pd/FS.cpp \
 | 
					    ../../libi2pd/FS.cpp \
 | 
				
			||||||
    ../../libi2pd/Garlic.cpp \
 | 
					    ../../libi2pd/Garlic.cpp \
 | 
				
			||||||
    ../../libi2pd/Gost.cpp \
 | 
					    ../../libi2pd/Gost.cpp \
 | 
				
			||||||
    ../../libi2pd/Gzip.cpp \
 | 
					    ../../libi2pd/Gzip.cpp \
 | 
				
			||||||
    ../../libi2pd/HTTP.cpp \
 | 
					    ../../libi2pd/HTTP.cpp \
 | 
				
			||||||
    ../../libi2pd/I2NPProtocol.cpp \
 | 
					    ../../libi2pd/I2NPProtocol.cpp \
 | 
				
			||||||
    ../../libi2pd/I2PEndian.cpp \
 | 
					    ../../libi2pd/I2PEndian.cpp \
 | 
				
			||||||
    ../../libi2pd/Identity.cpp \
 | 
					    ../../libi2pd/Identity.cpp \
 | 
				
			||||||
    ../../libi2pd/LeaseSet.cpp \
 | 
					    ../../libi2pd/LeaseSet.cpp \
 | 
				
			||||||
    ../../libi2pd/Log.cpp \
 | 
					    ../../libi2pd/Log.cpp \
 | 
				
			||||||
    ../../libi2pd/NetDb.cpp \
 | 
					    ../../libi2pd/NetDb.cpp \
 | 
				
			||||||
    ../../libi2pd/NetDbRequests.cpp \
 | 
					    ../../libi2pd/NetDbRequests.cpp \
 | 
				
			||||||
    ../../libi2pd/NTCPSession.cpp \
 | 
					    ../../libi2pd/NTCPSession.cpp \
 | 
				
			||||||
    ../../libi2pd/Profiling.cpp \
 | 
					    ../../libi2pd/Profiling.cpp \
 | 
				
			||||||
    ../../libi2pd/Reseed.cpp \
 | 
					    ../../libi2pd/Reseed.cpp \
 | 
				
			||||||
    ../../libi2pd/RouterContext.cpp \
 | 
					    ../../libi2pd/RouterContext.cpp \
 | 
				
			||||||
    ../../libi2pd/RouterInfo.cpp \
 | 
					    ../../libi2pd/RouterInfo.cpp \
 | 
				
			||||||
    ../../libi2pd/Signature.cpp \
 | 
					    ../../libi2pd/Signature.cpp \
 | 
				
			||||||
    ../../libi2pd/SSU.cpp \
 | 
					    ../../libi2pd/SSU.cpp \
 | 
				
			||||||
    ../../libi2pd/SSUData.cpp \
 | 
					    ../../libi2pd/SSUData.cpp \
 | 
				
			||||||
    ../../libi2pd/SSUSession.cpp \
 | 
					    ../../libi2pd/SSUSession.cpp \
 | 
				
			||||||
    ../../libi2pd/Streaming.cpp \
 | 
					    ../../libi2pd/Streaming.cpp \
 | 
				
			||||||
    ../../libi2pd/Timestamp.cpp \
 | 
					    ../../libi2pd/Timestamp.cpp \
 | 
				
			||||||
    ../../libi2pd/TransitTunnel.cpp \
 | 
					    ../../libi2pd/TransitTunnel.cpp \
 | 
				
			||||||
    ../../libi2pd/Transports.cpp \
 | 
					    ../../libi2pd/Transports.cpp \
 | 
				
			||||||
    ../../libi2pd/Tunnel.cpp \
 | 
					    ../../libi2pd/Tunnel.cpp \
 | 
				
			||||||
    ../../libi2pd/TunnelEndpoint.cpp \
 | 
					    ../../libi2pd/TunnelEndpoint.cpp \
 | 
				
			||||||
    ../../libi2pd/TunnelGateway.cpp \
 | 
					    ../../libi2pd/TunnelGateway.cpp \
 | 
				
			||||||
    ../../libi2pd/TunnelPool.cpp \
 | 
					    ../../libi2pd/TunnelPool.cpp \
 | 
				
			||||||
    ../../libi2pd/util.cpp \
 | 
					    ../../libi2pd/util.cpp \
 | 
				
			||||||
    ../../libi2pd_client/AddressBook.cpp \
 | 
					    ../../libi2pd_client/AddressBook.cpp \
 | 
				
			||||||
    ../../libi2pd_client/BOB.cpp \
 | 
					    ../../libi2pd_client/BOB.cpp \
 | 
				
			||||||
    ../../libi2pd_client/ClientContext.cpp \
 | 
					    ../../libi2pd_client/ClientContext.cpp \
 | 
				
			||||||
    ../../libi2pd_client/HTTPProxy.cpp \
 | 
					    ../../libi2pd_client/HTTPProxy.cpp \
 | 
				
			||||||
    ../../libi2pd_client/I2CP.cpp \
 | 
					    ../../libi2pd_client/I2CP.cpp \
 | 
				
			||||||
    ../../libi2pd_client/I2PService.cpp \
 | 
					    ../../libi2pd_client/I2PService.cpp \
 | 
				
			||||||
    ../../libi2pd_client/I2PTunnel.cpp \
 | 
					    ../../libi2pd_client/I2PTunnel.cpp \
 | 
				
			||||||
    ../../libi2pd_client/MatchedDestination.cpp \
 | 
					    ../../libi2pd_client/MatchedDestination.cpp \
 | 
				
			||||||
    ../../libi2pd_client/SAM.cpp \
 | 
					    ../../libi2pd_client/SAM.cpp \
 | 
				
			||||||
    ../../libi2pd_client/SOCKS.cpp \
 | 
					    ../../libi2pd_client/SOCKS.cpp \
 | 
				
			||||||
    ../../libi2pd_client/Websocket.cpp \
 | 
					    ../../libi2pd_client/Websocket.cpp \
 | 
				
			||||||
    ../../libi2pd_client/WebSocks.cpp \
 | 
					    ../../libi2pd_client/WebSocks.cpp \
 | 
				
			||||||
    ClientTunnelPane.cpp \
 | 
					    ClientTunnelPane.cpp \
 | 
				
			||||||
    MainWindowItems.cpp \
 | 
					    MainWindowItems.cpp \
 | 
				
			||||||
    ServerTunnelPane.cpp \
 | 
					    ServerTunnelPane.cpp \
 | 
				
			||||||
    SignatureTypeComboboxFactory.cpp \
 | 
					    SignatureTypeComboboxFactory.cpp \
 | 
				
			||||||
    TunnelConfig.cpp \
 | 
					    TunnelConfig.cpp \
 | 
				
			||||||
    TunnelPane.cpp \
 | 
					    TunnelPane.cpp \
 | 
				
			||||||
    ../../daemon/Daemon.cpp \
 | 
					    ../../daemon/Daemon.cpp \
 | 
				
			||||||
    ../../daemon/HTTPServer.cpp \
 | 
					    ../../daemon/HTTPServer.cpp \
 | 
				
			||||||
    ../../daemon/i2pd.cpp \
 | 
					    ../../daemon/i2pd.cpp \
 | 
				
			||||||
    ../../daemon/I2PControl.cpp \
 | 
					    ../../daemon/I2PControl.cpp \
 | 
				
			||||||
    ../../daemon/UnixDaemon.cpp \
 | 
					    ../../daemon/UnixDaemon.cpp \
 | 
				
			||||||
    ../../daemon/UPnP.cpp \
 | 
					    ../../daemon/UPnP.cpp \
 | 
				
			||||||
    textbrowsertweaked1.cpp \
 | 
					    textbrowsertweaked1.cpp \
 | 
				
			||||||
    pagewithbackbutton.cpp \
 | 
					    pagewithbackbutton.cpp \
 | 
				
			||||||
    widgetlock.cpp \
 | 
					    widgetlock.cpp \
 | 
				
			||||||
    widgetlockregistry.cpp
 | 
					    widgetlockregistry.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#qt creator does not handle this well
 | 
					#qt creator does not handle this well
 | 
				
			||||||
#SOURCES += $$files(../../libi2pd/*.cpp)
 | 
					#SOURCES += $$files(../../libi2pd/*.cpp)
 | 
				
			||||||
#SOURCES += $$files(../../libi2pd_client/*.cpp)
 | 
					#SOURCES += $$files(../../libi2pd_client/*.cpp)
 | 
				
			||||||
#SOURCES += $$files(../../daemon/*.cpp)
 | 
					#SOURCES += $$files(../../daemon/*.cpp)
 | 
				
			||||||
#SOURCES += $$files(./*.cpp)
 | 
					#SOURCES += $$files(./*.cpp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SOURCES -= ../../daemon/UnixDaemon.cpp
 | 
					SOURCES -= ../../daemon/UnixDaemon.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HEADERS  += DaemonQT.h mainwindow.h \
 | 
					HEADERS  += DaemonQT.h mainwindow.h \
 | 
				
			||||||
    ../../libi2pd/api.h \
 | 
					    ../../libi2pd/api.h \
 | 
				
			||||||
    ../../libi2pd/Base.h \
 | 
					    ../../libi2pd/Base.h \
 | 
				
			||||||
    ../../libi2pd/BloomFilter.h \
 | 
					    ../../libi2pd/BloomFilter.h \
 | 
				
			||||||
    ../../libi2pd/Config.h \
 | 
					    ../../libi2pd/Config.h \
 | 
				
			||||||
    ../../libi2pd/Crypto.h \
 | 
					    ../../libi2pd/Crypto.h \
 | 
				
			||||||
	../../libi2pd/CryptoKey.h \
 | 
						../../libi2pd/CryptoKey.h \
 | 
				
			||||||
    ../../libi2pd/Datagram.h \
 | 
					    ../../libi2pd/Datagram.h \
 | 
				
			||||||
    ../../libi2pd/Destination.h \
 | 
					    ../../libi2pd/Destination.h \
 | 
				
			||||||
    ../../libi2pd/Event.h \
 | 
					    ../../libi2pd/Event.h \
 | 
				
			||||||
    ../../libi2pd/Family.h \
 | 
					    ../../libi2pd/Family.h \
 | 
				
			||||||
    ../../libi2pd/FS.h \
 | 
					    ../../libi2pd/FS.h \
 | 
				
			||||||
    ../../libi2pd/Garlic.h \
 | 
					    ../../libi2pd/Garlic.h \
 | 
				
			||||||
    ../../libi2pd/Gost.h \
 | 
					    ../../libi2pd/Gost.h \
 | 
				
			||||||
    ../../libi2pd/Gzip.h \
 | 
					    ../../libi2pd/Gzip.h \
 | 
				
			||||||
    ../../libi2pd/HTTP.h \
 | 
					    ../../libi2pd/HTTP.h \
 | 
				
			||||||
    ../../libi2pd/I2NPProtocol.h \
 | 
					    ../../libi2pd/I2NPProtocol.h \
 | 
				
			||||||
    ../../libi2pd/I2PEndian.h \
 | 
					    ../../libi2pd/I2PEndian.h \
 | 
				
			||||||
    ../../libi2pd/Identity.h \
 | 
					    ../../libi2pd/Identity.h \
 | 
				
			||||||
    ../../libi2pd/LeaseSet.h \
 | 
					    ../../libi2pd/LeaseSet.h \
 | 
				
			||||||
    ../../libi2pd/LittleBigEndian.h \
 | 
					    ../../libi2pd/LittleBigEndian.h \
 | 
				
			||||||
    ../../libi2pd/Log.h \
 | 
					    ../../libi2pd/Log.h \
 | 
				
			||||||
    ../../libi2pd/NetDb.hpp \
 | 
					    ../../libi2pd/NetDb.hpp \
 | 
				
			||||||
    ../../libi2pd/NetDbRequests.h \
 | 
					    ../../libi2pd/NetDbRequests.h \
 | 
				
			||||||
    ../../libi2pd/NTCPSession.h \
 | 
					    ../../libi2pd/NTCPSession.h \
 | 
				
			||||||
    ../../libi2pd/Profiling.h \
 | 
					    ../../libi2pd/Profiling.h \
 | 
				
			||||||
    ../../libi2pd/Queue.h \
 | 
					    ../../libi2pd/Queue.h \
 | 
				
			||||||
    ../../libi2pd/Reseed.h \
 | 
					    ../../libi2pd/Reseed.h \
 | 
				
			||||||
    ../../libi2pd/RouterContext.h \
 | 
					    ../../libi2pd/RouterContext.h \
 | 
				
			||||||
    ../../libi2pd/RouterInfo.h \
 | 
					    ../../libi2pd/RouterInfo.h \
 | 
				
			||||||
    ../../libi2pd/Signature.h \
 | 
					    ../../libi2pd/Signature.h \
 | 
				
			||||||
    ../../libi2pd/SSU.h \
 | 
					    ../../libi2pd/SSU.h \
 | 
				
			||||||
    ../../libi2pd/SSUData.h \
 | 
					    ../../libi2pd/SSUData.h \
 | 
				
			||||||
    ../../libi2pd/SSUSession.h \
 | 
					    ../../libi2pd/SSUSession.h \
 | 
				
			||||||
    ../../libi2pd/Streaming.h \
 | 
					    ../../libi2pd/Streaming.h \
 | 
				
			||||||
    ../../libi2pd/Tag.h \
 | 
					    ../../libi2pd/Tag.h \
 | 
				
			||||||
    ../../libi2pd/Timestamp.h \
 | 
					    ../../libi2pd/Timestamp.h \
 | 
				
			||||||
    ../../libi2pd/TransitTunnel.h \
 | 
					    ../../libi2pd/TransitTunnel.h \
 | 
				
			||||||
    ../../libi2pd/Transports.h \
 | 
					    ../../libi2pd/Transports.h \
 | 
				
			||||||
    ../../libi2pd/TransportSession.h \
 | 
					    ../../libi2pd/TransportSession.h \
 | 
				
			||||||
    ../../libi2pd/Tunnel.h \
 | 
					    ../../libi2pd/Tunnel.h \
 | 
				
			||||||
    ../../libi2pd/TunnelBase.h \
 | 
					    ../../libi2pd/TunnelBase.h \
 | 
				
			||||||
    ../../libi2pd/TunnelConfig.h \
 | 
					    ../../libi2pd/TunnelConfig.h \
 | 
				
			||||||
    ../../libi2pd/TunnelEndpoint.h \
 | 
					    ../../libi2pd/TunnelEndpoint.h \
 | 
				
			||||||
    ../../libi2pd/TunnelGateway.h \
 | 
					    ../../libi2pd/TunnelGateway.h \
 | 
				
			||||||
    ../../libi2pd/TunnelPool.h \
 | 
					    ../../libi2pd/TunnelPool.h \
 | 
				
			||||||
    ../../libi2pd/util.h \
 | 
					    ../../libi2pd/util.h \
 | 
				
			||||||
    ../../libi2pd/version.h \
 | 
					    ../../libi2pd/version.h \
 | 
				
			||||||
    ../../libi2pd_client/AddressBook.h \
 | 
					    ../../libi2pd_client/AddressBook.h \
 | 
				
			||||||
    ../../libi2pd_client/BOB.h \
 | 
					    ../../libi2pd_client/BOB.h \
 | 
				
			||||||
    ../../libi2pd_client/ClientContext.h \
 | 
					    ../../libi2pd_client/ClientContext.h \
 | 
				
			||||||
    ../../libi2pd_client/HTTPProxy.h \
 | 
					    ../../libi2pd_client/HTTPProxy.h \
 | 
				
			||||||
    ../../libi2pd_client/I2CP.h \
 | 
					    ../../libi2pd_client/I2CP.h \
 | 
				
			||||||
    ../../libi2pd_client/I2PService.h \
 | 
					    ../../libi2pd_client/I2PService.h \
 | 
				
			||||||
    ../../libi2pd_client/I2PTunnel.h \
 | 
					    ../../libi2pd_client/I2PTunnel.h \
 | 
				
			||||||
    ../../libi2pd_client/MatchedDestination.h \
 | 
					    ../../libi2pd_client/MatchedDestination.h \
 | 
				
			||||||
    ../../libi2pd_client/SAM.h \
 | 
					    ../../libi2pd_client/SAM.h \
 | 
				
			||||||
    ../../libi2pd_client/SOCKS.h \
 | 
					    ../../libi2pd_client/SOCKS.h \
 | 
				
			||||||
    ../../libi2pd_client/Websocket.h \
 | 
					    ../../libi2pd_client/Websocket.h \
 | 
				
			||||||
    ../../libi2pd_client/WebSocks.h \
 | 
					    ../../libi2pd_client/WebSocks.h \
 | 
				
			||||||
    ClientTunnelPane.h \
 | 
					    ClientTunnelPane.h \
 | 
				
			||||||
    MainWindowItems.h \
 | 
					    MainWindowItems.h \
 | 
				
			||||||
    ServerTunnelPane.h \
 | 
					    ServerTunnelPane.h \
 | 
				
			||||||
    SignatureTypeComboboxFactory.h \
 | 
					    SignatureTypeComboboxFactory.h \
 | 
				
			||||||
    TunnelConfig.h \
 | 
					    TunnelConfig.h \
 | 
				
			||||||
    TunnelPane.h \
 | 
					    TunnelPane.h \
 | 
				
			||||||
    TunnelsPageUpdateListener.h \
 | 
					    TunnelsPageUpdateListener.h \
 | 
				
			||||||
    ../../daemon/Daemon.h \
 | 
					    ../../daemon/Daemon.h \
 | 
				
			||||||
    ../../daemon/HTTPServer.h \
 | 
					    ../../daemon/HTTPServer.h \
 | 
				
			||||||
    ../../daemon/I2PControl.h \
 | 
					    ../../daemon/I2PControl.h \
 | 
				
			||||||
    ../../daemon/UPnP.h \
 | 
					    ../../daemon/UPnP.h \
 | 
				
			||||||
    textbrowsertweaked1.h \
 | 
					    textbrowsertweaked1.h \
 | 
				
			||||||
    pagewithbackbutton.h \
 | 
					    pagewithbackbutton.h \
 | 
				
			||||||
    widgetlock.h \
 | 
					    widgetlock.h \
 | 
				
			||||||
    widgetlockregistry.h
 | 
					    widgetlockregistry.h \
 | 
				
			||||||
 | 
					    i2pd.rc \
 | 
				
			||||||
INCLUDEPATH += ../../libi2pd
 | 
					    i2pd.rc
 | 
				
			||||||
INCLUDEPATH += ../../libi2pd_client
 | 
					
 | 
				
			||||||
INCLUDEPATH += ../../daemon
 | 
					INCLUDEPATH += ../../libi2pd
 | 
				
			||||||
INCLUDEPATH += .
 | 
					INCLUDEPATH += ../../libi2pd_client
 | 
				
			||||||
 | 
					INCLUDEPATH += ../../daemon
 | 
				
			||||||
FORMS += mainwindow.ui \
 | 
					INCLUDEPATH += .
 | 
				
			||||||
    tunnelform.ui \
 | 
					
 | 
				
			||||||
    statusbuttons.ui \
 | 
					FORMS += mainwindow.ui \
 | 
				
			||||||
    routercommandswidget.ui \
 | 
					    tunnelform.ui \
 | 
				
			||||||
    generalsettingswidget.ui
 | 
					    statusbuttons.ui \
 | 
				
			||||||
 | 
					    routercommandswidget.ui \
 | 
				
			||||||
LIBS += -lz
 | 
					    generalsettingswidget.ui
 | 
				
			||||||
 | 
					
 | 
				
			||||||
macx {
 | 
					LIBS += -lz
 | 
				
			||||||
	message("using mac os x target")
 | 
					
 | 
				
			||||||
	BREWROOT=/usr/local
 | 
					macx {
 | 
				
			||||||
	BOOSTROOT=$$BREWROOT/opt/boost
 | 
						message("using mac os x target")
 | 
				
			||||||
	SSLROOT=$$BREWROOT/opt/libressl
 | 
						BREWROOT=/usr/local
 | 
				
			||||||
	UPNPROOT=$$BREWROOT/opt/miniupnpc
 | 
						BOOSTROOT=$$BREWROOT/opt/boost
 | 
				
			||||||
	INCLUDEPATH += $$BOOSTROOT/include
 | 
						SSLROOT=$$BREWROOT/opt/libressl
 | 
				
			||||||
	INCLUDEPATH += $$SSLROOT/include
 | 
						UPNPROOT=$$BREWROOT/opt/miniupnpc
 | 
				
			||||||
	INCLUDEPATH += $$UPNPROOT/include
 | 
						INCLUDEPATH += $$BOOSTROOT/include
 | 
				
			||||||
	LIBS += $$SSLROOT/lib/libcrypto.a
 | 
						INCLUDEPATH += $$SSLROOT/include
 | 
				
			||||||
	LIBS += $$SSLROOT/lib/libssl.a
 | 
						INCLUDEPATH += $$UPNPROOT/include
 | 
				
			||||||
	LIBS += $$BOOSTROOT/lib/libboost_system.a
 | 
						LIBS += $$SSLROOT/lib/libcrypto.a
 | 
				
			||||||
	LIBS += $$BOOSTROOT/lib/libboost_date_time.a
 | 
						LIBS += $$SSLROOT/lib/libssl.a
 | 
				
			||||||
	LIBS += $$BOOSTROOT/lib/libboost_filesystem.a
 | 
						LIBS += $$BOOSTROOT/lib/libboost_system.a
 | 
				
			||||||
	LIBS += $$BOOSTROOT/lib/libboost_program_options.a
 | 
						LIBS += $$BOOSTROOT/lib/libboost_date_time.a
 | 
				
			||||||
	LIBS += $$UPNPROOT/lib/libminiupnpc.a
 | 
						LIBS += $$BOOSTROOT/lib/libboost_filesystem.a
 | 
				
			||||||
}
 | 
						LIBS += $$BOOSTROOT/lib/libboost_program_options.a
 | 
				
			||||||
 | 
						LIBS += $$UPNPROOT/lib/libminiupnpc.a
 | 
				
			||||||
android {
 | 
					}
 | 
				
			||||||
	message("Using Android settings")
 | 
					
 | 
				
			||||||
        DEFINES += ANDROID=1
 | 
					android {
 | 
				
			||||||
	DEFINES += __ANDROID__
 | 
						message("Using Android settings")
 | 
				
			||||||
 | 
					        DEFINES += ANDROID=1
 | 
				
			||||||
        CONFIG += mobility
 | 
						DEFINES += __ANDROID__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        MOBILITY =
 | 
					        CONFIG += mobility
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        INCLUDEPATH += $$BOOST_PATH/boost_1_53_0/include \
 | 
					        MOBILITY =
 | 
				
			||||||
		$$OPENSSL_PATH/openssl-1.0.2/include \
 | 
					
 | 
				
			||||||
		$$MINIUPNP_PATH/miniupnp-2.0/include \
 | 
					        INCLUDEPATH += $$BOOST_PATH/boost_1_53_0/include \
 | 
				
			||||||
		$$IFADDRS_PATH
 | 
							$$OPENSSL_PATH/openssl-1.0.2/include \
 | 
				
			||||||
	DISTFILES += android/AndroidManifest.xml
 | 
							$$MINIUPNP_PATH/miniupnp-2.0/include \
 | 
				
			||||||
 | 
							$$IFADDRS_PATH
 | 
				
			||||||
	ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
 | 
						DISTFILES += android/AndroidManifest.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	SOURCES += $$IFADDRS_PATH/ifaddrs.c
 | 
						ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
 | 
				
			||||||
	HEADERS += $$IFADDRS_PATH/ifaddrs.h
 | 
					
 | 
				
			||||||
 | 
						SOURCES += $$IFADDRS_PATH/ifaddrs.c
 | 
				
			||||||
	equals(ANDROID_TARGET_ARCH, armeabi-v7a){
 | 
						HEADERS += $$IFADDRS_PATH/ifaddrs.h
 | 
				
			||||||
		DEFINES += ANDROID_ARM7A
 | 
					
 | 
				
			||||||
		# http://stackoverflow.com/a/30235934/529442
 | 
						equals(ANDROID_TARGET_ARCH, armeabi-v7a){
 | 
				
			||||||
		LIBS += -L$$BOOST_PATH/boost_1_53_0/armeabi-v7a/lib \
 | 
							DEFINES += ANDROID_ARM7A
 | 
				
			||||||
			-lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \
 | 
							# http://stackoverflow.com/a/30235934/529442
 | 
				
			||||||
			-lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \
 | 
							LIBS += -L$$BOOST_PATH/boost_1_53_0/armeabi-v7a/lib \
 | 
				
			||||||
			-L$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/ -lcrypto -lssl \
 | 
								-lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \
 | 
				
			||||||
			-L$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/ -lminiupnpc
 | 
								-lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \
 | 
				
			||||||
 | 
								-L$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/ -lcrypto -lssl \
 | 
				
			||||||
		PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto.a \
 | 
								-L$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/ -lminiupnpc
 | 
				
			||||||
			$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl.a
 | 
					
 | 
				
			||||||
		DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include
 | 
							PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto.a \
 | 
				
			||||||
 | 
								$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl.a
 | 
				
			||||||
		ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto_1_0_0.so \
 | 
							DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include
 | 
				
			||||||
			$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl_1_0_0.so \
 | 
					
 | 
				
			||||||
			$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.so
 | 
							ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libcrypto_1_0_0.so \
 | 
				
			||||||
	}
 | 
								$$OPENSSL_PATH/openssl-1.0.2/armeabi-v7a/lib/libssl_1_0_0.so \
 | 
				
			||||||
 | 
								$$MINIUPNP_PATH/miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.so
 | 
				
			||||||
	equals(ANDROID_TARGET_ARCH, x86){
 | 
						}
 | 
				
			||||||
		# http://stackoverflow.com/a/30235934/529442
 | 
					
 | 
				
			||||||
		LIBS += -L$$BOOST_PATH/boost_1_53_0/x86/lib \
 | 
						equals(ANDROID_TARGET_ARCH, x86){
 | 
				
			||||||
			-lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \
 | 
							# http://stackoverflow.com/a/30235934/529442
 | 
				
			||||||
			-lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \
 | 
							LIBS += -L$$BOOST_PATH/boost_1_53_0/x86/lib \
 | 
				
			||||||
			-L$$OPENSSL_PATH/openssl-1.0.2/x86/lib/ -lcrypto -lssl \
 | 
								-lboost_system-gcc-mt-1_53 -lboost_date_time-gcc-mt-1_53 \
 | 
				
			||||||
			-L$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/ -lminiupnpc
 | 
								-lboost_filesystem-gcc-mt-1_53 -lboost_program_options-gcc-mt-1_53 \
 | 
				
			||||||
 | 
								-L$$OPENSSL_PATH/openssl-1.0.2/x86/lib/ -lcrypto -lssl \
 | 
				
			||||||
		PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto.a \
 | 
								-L$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/ -lminiupnpc
 | 
				
			||||||
			$$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl.a
 | 
					
 | 
				
			||||||
 | 
							PRE_TARGETDEPS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto.a \
 | 
				
			||||||
		DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include
 | 
								$$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl.a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto_1_0_0.so \
 | 
							DEPENDPATH += $$OPENSSL_PATH/openssl-1.0.2/include
 | 
				
			||||||
			$$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl_1_0_0.so \
 | 
					
 | 
				
			||||||
			$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/libminiupnpc.so
 | 
							ANDROID_EXTRA_LIBS += $$OPENSSL_PATH/openssl-1.0.2/x86/lib/libcrypto_1_0_0.so \
 | 
				
			||||||
	}
 | 
								$$OPENSSL_PATH/openssl-1.0.2/x86/lib/libssl_1_0_0.so \
 | 
				
			||||||
}
 | 
								$$MINIUPNP_PATH/miniupnp-2.0/x86/lib/libminiupnpc.so
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
linux:!android {
 | 
					}
 | 
				
			||||||
        message("Using Linux settings")
 | 
					
 | 
				
			||||||
        LIBS += -lcrypto -lssl -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread -lminiupnpc
 | 
					linux:!android {
 | 
				
			||||||
}
 | 
					        message("Using Linux settings")
 | 
				
			||||||
 | 
					        LIBS += -lcrypto -lssl -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread -lminiupnpc
 | 
				
			||||||
windows {
 | 
					}
 | 
				
			||||||
        message("Using Windows settings")
 | 
					
 | 
				
			||||||
        RC_FILE = i2pd.rc
 | 
					windows {
 | 
				
			||||||
        DEFINES += BOOST_USE_WINDOWS_H WINDOWS _WINDOWS WIN32_LEAN_AND_MEAN MINIUPNP_STATICLIB
 | 
					        message("Using Windows settings")
 | 
				
			||||||
        DEFINES -= UNICODE _UNICODE
 | 
					        RC_FILE = i2pd.rc
 | 
				
			||||||
        BOOST_SUFFIX = -mt
 | 
					        DEFINES += BOOST_USE_WINDOWS_H WINDOWS _WINDOWS WIN32_LEAN_AND_MEAN MINIUPNP_STATICLIB
 | 
				
			||||||
        QMAKE_CXXFLAGS = -Os
 | 
					        DEFINES -= UNICODE _UNICODE
 | 
				
			||||||
        QMAKE_LFLAGS = -s -Wl,-Bstatic -static-libgcc -static-libstdc++ -mwindows
 | 
					        BOOST_SUFFIX = -mt
 | 
				
			||||||
 | 
					        QMAKE_CXXFLAGS = -Os
 | 
				
			||||||
        LIBS = -lminiupnpc \
 | 
					        QMAKE_LFLAGS = -s -Wl,-Bstatic -static-libgcc -static-libstdc++ -mwindows
 | 
				
			||||||
        -lboost_system$$BOOST_SUFFIX \
 | 
					
 | 
				
			||||||
        -lboost_date_time$$BOOST_SUFFIX \
 | 
					        LIBS = -lminiupnpc \
 | 
				
			||||||
        -lboost_filesystem$$BOOST_SUFFIX \
 | 
					        -lboost_system$$BOOST_SUFFIX \
 | 
				
			||||||
        -lboost_program_options$$BOOST_SUFFIX \
 | 
					        -lboost_date_time$$BOOST_SUFFIX \
 | 
				
			||||||
        -lssl \
 | 
					        -lboost_filesystem$$BOOST_SUFFIX \
 | 
				
			||||||
        -lcrypto \
 | 
					        -lboost_program_options$$BOOST_SUFFIX \
 | 
				
			||||||
        -lz \
 | 
					        -lssl \
 | 
				
			||||||
        -lwsock32 \
 | 
					        -lcrypto \
 | 
				
			||||||
        -lws2_32 \
 | 
					        -lz \
 | 
				
			||||||
        -lgdi32 \
 | 
					        -lwsock32 \
 | 
				
			||||||
        -liphlpapi \
 | 
					        -lws2_32 \
 | 
				
			||||||
        -lstdc++ \
 | 
					        -lgdi32 \
 | 
				
			||||||
        -lpthread
 | 
					        -liphlpapi \
 | 
				
			||||||
}
 | 
					        -lstdc++ \
 | 
				
			||||||
 | 
					        -lpthread
 | 
				
			||||||
!android:!symbian:!maemo5:!simulator {
 | 
					}
 | 
				
			||||||
	message("Build with a system tray icon")
 | 
					
 | 
				
			||||||
	# see also http://doc.qt.io/qt-4.8/qt-desktop-systray-systray-pro.html for example on wince*
 | 
					!android:!symbian:!maemo5:!simulator {
 | 
				
			||||||
	#sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS i2pd_qt.pro resources images
 | 
						message("Build with a system tray icon")
 | 
				
			||||||
	RESOURCES = i2pd.qrc
 | 
						# see also http://doc.qt.io/qt-4.8/qt-desktop-systray-systray-pro.html for example on wince*
 | 
				
			||||||
	QT += xml
 | 
						#sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS i2pd_qt.pro resources images
 | 
				
			||||||
	#INSTALLS += sources
 | 
						RESOURCES = i2pd.qrc
 | 
				
			||||||
}
 | 
						QT += xml
 | 
				
			||||||
 | 
						#INSTALLS += sources
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -349,7 +349,9 @@ QString MainWindow::getStatusPageHtml(bool showHiddenInfo) {
 | 
				
			||||||
    s << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">";
 | 
					    s << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    switch (statusPage) {
 | 
					    switch (statusPage) {
 | 
				
			||||||
    case main_page: i2p::http::ShowStatus(s, showHiddenInfo);break;
 | 
					    case main_page:
 | 
				
			||||||
 | 
					        i2p::http::ShowStatus(s, showHiddenInfo, i2p::http::OutputFormatEnum::forQtUi);
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
    case commands: break;
 | 
					    case commands: break;
 | 
				
			||||||
    case local_destinations: i2p::http::ShowLocalDestinations(s);break;
 | 
					    case local_destinations: i2p::http::ShowLocalDestinations(s);break;
 | 
				
			||||||
    case leasesets: i2p::http::ShowLeasesSets(s); break;
 | 
					    case leasesets: i2p::http::ShowLeasesSets(s); break;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue