Sunshine latest
Self-hosted game stream host for Moonlight.
nvhttp.h File Reference

Declarations for the nvhttp (GameStream) server. More...

#include <string>
#include <boost/property_tree/ptree.hpp>
#include <Simple-Web-Server/server_https.hpp>
#include "crypto.h"
#include "thread_safe.h"
Include dependency graph for nvhttp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nvhttp::pair_session_t
 
class  nvhttp::SunshineHTTPS
 

Namespaces

namespace  nvhttp
 Contains all the functions and variables related to the nvhttp (GameStream) server.
 

Enumerations

enum class  nvhttp::PAIR_PHASE {
  nvhttp::NONE , nvhttp::GETSERVERCERT , nvhttp::CLIENTCHALLENGE , nvhttp::SERVERCHALLENGERESP ,
  nvhttp::CLIENTPAIRINGSECRET
}
 

Functions

void nvhttp::clientchallenge (pair_session_t &sess, boost::property_tree::ptree &tree, const std::string &challenge)
 Pair, phase 2.
 
void nvhttp::clientpairingsecret (pair_session_t &sess, std::shared_ptr< safe::queue_t< crypto::x509_t > > &add_cert, boost::property_tree::ptree &tree, const std::string &client_pairing_secret)
 Pair, phase 4 (final)
 
void nvhttp::erase_all_clients ()
 Remove all paired clients.
 
pt::ptree nvhttp::get_all_clients ()
 Get all paired clients.
 
void nvhttp::getservercert (pair_session_t &sess, boost::property_tree::ptree &tree, const std::string &pin)
 Pair, phase 1.
 
bool nvhttp::pin (std::string pin, std::string name)
 Compare the user supplied pin to the Moonlight pin.
 
void nvhttp::remove_session (const pair_session_t &sess)
 removes the temporary pairing session
 
void nvhttp::serverchallengeresp (pair_session_t &sess, boost::property_tree::ptree &tree, const std::string &encrypted_response)
 Pair, phase 3.
 
void nvhttp::setup (const std::string &pkey, const std::string &cert)
 Setup the nvhttp server.
 
void nvhttp::start ()
 Start the nvhttp server.
 
int nvhttp::unpair_client (std::string uniqueid)
 Remove single client.
 

Variables

constexpr auto nvhttp::GFE_VERSION = "3.23.0.74"
 The GFE version we are replicating.
 
constexpr auto nvhttp::PORT_HTTP = 0
 The HTTP port, as a difference from the config port.
 
constexpr auto nvhttp::PORT_HTTPS = -5
 The HTTPS port, as a difference from the config port.
 
constexpr auto nvhttp::VERSION = "7.1.431.-1"
 The protocol version.
 

Detailed Description

Declarations for the nvhttp (GameStream) server.