Powerful Tunnels for Modern Applications

rstream enables secure, scalable tunneling from localhost to the global network, simplifying remote access and infrastructure management.

Features

Transform localhost into global reach through secure tunneling

rstream tackles the complexities of crafting and overseeing secure, scalable network infrastructures. Our tunneling approach simplifies infrastructure-as-a-service deployment, enabling the exposure of previously unreachable resources. Equipped with all necessary features for robust and efficient tunneling, rstream provides a comprehensive solution in one powerful package.
rstream dashboard
Private / Public Tunnels
Secure and scalable, rstream's Private / Public Tunnels connect local to global via TLS/HTTPS. Ensuring seamless and fortified remote access, it's the bridge for secure data paths.
TLS Encryption
Utilize TLS encryption for all communications, ensuring your data remains secure and private. rstream enforces top-tier security protocols, safeguarding your information from unauthorized access.
Token-Based Authentication
rstream enhances security with Token-Based Authentication, offering fine-grained control over access permissions. Determine who connects and to which resources, ensuring each tunnel is authenticated and authorized for utmost security.
Platform Agnostic
rstream is built for true cross-platform support, operating effortlessly on Linux, macOS, Windows, and beyond. From embedded systems to large-scale servers, enjoy consistent performance and secure tunnels across all your devices.
Operational Monitoring
Gain valuable insights with rstream's Operational Monitoring, providing real-time metrics and usage statistics to oversee your network's performance. Monitor the health and efficiency of your tunnels, optimizing for reliability and speed.
Comprehensive Documentation
Dive into our detailed documentation, designed to streamline your rstream adoption and usage. Whether you are a beginner or an expert, our guides cover everything you need to know to deploy and manage your secure tunnels efficiently.

rstream is developed with an open roadmap initiative, inviting you to explore our roadmap.

Get Started

You're three easy steps away from secure networking

1
Install rstream CLI
Install the rstream CLI on devices to start exposing resources with secure, streamlined integration.
2
Add your Authentication Token
Secure each device with an authentication token for enhanced identity verification and managed permissions.
3
Create and Expose Tunnels
Establish multiple tunnels on devices, directing rstream's edge network traffic to targeted resources effectively.

rstream is compatible with Linux, macOS and Windows. Get rstream now.

Use Cases

Explore rstream's use cases

Dive into the diverse applications of rstream, from enhancing fleet management to securing generative AI processes.
Local Development
With rstream, transition from localhost to globally reachable setups effortlessly, simplifying development workflows and deployment processes.
Network Protection
rstream boosts network security by managing access, preventing DDoS, hiding IPs, and encapsulating legacy protocols within a secure environment.
Fleet Management
rstream enhances fleet management by controlling resource access and acting as a signaling layer through its API, enabling advanced middleware solutions.
Generative AI Solutions
Utilize rstream for generative AI, distributing workloads across GPU instances and authenticating users for secure, scalable AI deployments.
Real-Time Communications
Enable low-latency streaming and real-time communications. Ideal for telemetry, metrics, and video streaming, ensuring swift data transfer and immediate response.
rstream WebTTY

Utilize rstream to craft your unique solutions, focusing on application development while relying on our infrastructure for rapid, secure deployment.

How it Works

Inside look at rstream's architecture

rstream establishes secure outbound connections (tunnels) between your resources and rstream's edge network. When a client wants to access your resources, they establish an incoming connection to rstream's servers. The connection is authenticated and is then redirected to your resources using the previously established secure tunnel as a signaling channel.

Clients

e771e53b.rstream.io

Devices

rstream expose 8080
forwarding : https://e771e53b.rstream.ioforwarded  : http://localhost:8080
waiting for connections ...
myserver --bind 127.0.0.1:8080
serving HTTP on 127.0.0.1 port 8080 (http://127.0.0.1:8080/) ...

rstream provides a cutting-edge infrastructure-as-a-service solution, allowing you to deploy applications globally without needing a public IP address, using only outbound connections. It works on any network, protects your devices from direct attacks, and enables you to authenticate and monitor traffic securely.

rstream SDK

Integrate rstream's edge network into your applications

The rstream SDK enables developers to make applications globally available directly from the code, ensuring standalone functionality with a focus on simplicity, performance, and security.
Direct Access
Integrate directly with rstream's edge network for global reach using only outbound connections, simplifying global application availability without complex configurations.
High Performance
Leverage asynchronous programming in modern C++ with boost asio for superior control and performance, ideal for high-demand applications requiring simultaneous communications.
Enhanced Security
Elevate application security effortlessly with the rstream SDK, implementing rstream's comprehensive security features with just a few lines of code.
Easy Integration
The rstream SDK's portability across all major operating systems and architectures, along with extensive documentation, simplifies turning existing applications into rstream-ready solutions.
#include <cstdlib>
#include <iostream>
#include <boost/asio.hpp>
#include <boost/beast.hpp>
#include <rstream/rstream.hpp>

using protocol = rstream::io::stream;

const auto uri = std::string("rstream://webtunnel");

boost::asio::awaitable<void> session(protocol::socket socket)
{
  try
  {
    std::cout << "New connection from " << socket.remote_endpoint() << std::endl;

    // Read the request
    boost::beast::http::request<boost::beast::http::string_body> req;
    boost::beast::flat_buffer buffer;
    co_await boost::beast::http::async_read(socket, buffer, req, boost::asio::use_awaitable);

    // Prepare the response
    boost::beast::http::response<boost::beast::http::string_body> res;
    char hostname[1024];
    gethostname(hostname, 1024);
    res = {boost::beast::http::status::ok, req.version()};
    res.set(boost::beast::http::field::server, BOOST_BEAST_VERSION_STRING);
    res.set(boost::beast::http::field::content_type, "text/plain");
    res.keep_alive(req.keep_alive());
    res.body() = hostname;
    res.prepare_payload();

    // Write the response back to the client
    co_await boost::beast::http::async_write(socket, res, boost::asio::use_awaitable);
  }
  catch (std::exception const &e)
  {
    std::cerr << "An error occured when processing the request: " << e.what() << std::endl;
  }
}

boost::asio::awaitable<void> listener(const rstream::io::address &address)
{
  auto executor = co_await boost::asio::this_coro::executor;
  const auto endpoints = co_await protocol::resolver(executor).async_resolve(address.m_uri, boost::asio::use_awaitable);
  if (endpoints.empty())
  {
    throw std::runtime_error("No valid endpoints found");
  }
  protocol::acceptor acceptor(executor, endpoints.begin()->endpoint());
  std::cout << "Server started on " << acceptor.local_endpoint() << std::endl;
  while (true)
  {
    auto socket = co_await acceptor.async_accept(boost::asio::use_awaitable);
    boost::asio::co_spawn(executor, session(std::move(socket)), boost::asio::detached);
  }
}

int main()
{
  boost::asio::io_context io_context;
  boost::asio::signal_set signal_set(io_context, SIGINT, SIGTERM);
  auto handler = [&io_context](const std::exception_ptr exception_ptr)
  {
    if (exception_ptr)
    {
      std::cerr << "Server error: " << rstream::core::throwable::to_string(exception_ptr) << std::endl;
    }
    io_context.stop();
  };
  signal_set.async_wait(std::bind(handler, nullptr));
  boost::asio::co_spawn(io_context, listener(uri), handler);
  io_context.run();
  std::cout << "Server stopped" << std::endl;
}

The rstream SDK will be available later this year. Request preliminary access to start integrating advanced connectivity solutions now.

Pricing

Pricing that suits your needs

Start for free with no credit card or obligation required. Upgrade anytime for advanced features and more resources. Securely scale and simplify your projects.

Basic

Ideal for individuals and small projects. Securely expose private resources with basic requirements. Not for commercial use.

Free

  • Up to 1GB bandwidth / month
  • Up to 100 connections / month
  • Up to 2 simultaneous tunnels
Get started

Pro

Most popular

Designed for professionals and businesses needing more resources and support.

$50.00/month

  • Up to 20GB bandwidth / month
  • Up to 2000 connections / month
  • Up to 20 simultaneous tunnels
  • Advanced analytics
  • Email support
  • Commercial use
Get started

Enterprise

Tailored for large organizations requiring dedicated infrastructure, custom integrations, and priority support.

Custom

  • Dedicated infrastructure
  • Unlimited bandwidth and connections
  • Dedicated support
  • Advanced reporting tools
  • Advanced security features
  • Custom SLAs
  • Commercial use
Contact sales

Addons

Premium support

Get dedicated support through our Premium support addon, ensuring 48-hour response times and specialized training to enhance your team's efficiency with continuous, expert assistance.

$200.00/month

Contact sales

C++ SDK

rstream C++ SDK addon enables direct tunnel creation within application code, offering high performance through asynchronous programming patterns. Streamline your integration process for enhanced efficiency and reliability in your projects.

$800.00/one-time payment

Contact sales

Prices are listed in US dollars. Applicable taxes may be added. Invoices will be provided. Subscriptions may be cancelled at any time.

FAQ

Your questions answered

These are some of our most frequently asked questions and their answers. If you have any other questions, please feel free to reach out to us.

rstream is a versatile and secure tool that easily creates scalable tunnels, connecting local resources to the Internet using TLS or HTTPS. It is cross-platform, ensuring seamless installation on any machine!

For more detailed information, please refer to our documentation.