RoTunneling

RoTunneling: Long-term ownership of a commercial VPN product

Founder / Solution ArchitectProduct history from 2010

Built and operated a commercial VPN service spanning customer software, subscription and billing workflows, authentication, VPN nodes, cross-platform clients and support.

Context & constraints

A VPN product is more than a tunnel. Customers need to register, pay, connect, renew and get help. The service needs authentication, operating infrastructure, compatible clients and a release process. With RoTunneling, I owned that product loop: architecture, software, infrastructure, payments, security, support and commercial operations.

  • Customer and administration workflows had to connect to subscriptions, invoices and service access.
  • The service crossed web applications, authentication infrastructure, VPN servers and desktop clients for different operating systems.
  • Compatibility, configuration and certificate changes required ongoing maintenance and clear customer communication.
  • Product development included collaboration and upstream software components, alongside my own application and infrastructure work.

My contribution

  • Built customer and administration applications with a custom PHP framework, Smarty, MySQL, JavaScript/HTML/CSS, NGINX/PHP-FPM, Memcached and FreeBSD.
  • Implemented registration, shopping cart, account dashboard, discount coupons, recurring-payment workflows, invoices, referrals and blog/content capabilities.
  • Built administration for customer management, invoicing, business indicators, PDF invoices and SAGA accounting exports.
  • Worked on RADIUS/MySQL authentication and clustered VPN infrastructure using custom SoftEther builds on CentOS/FreeBSD, with OpenVPN and other connectivity methods also appearing in the service history.
  • Built and maintained Windows, macOS and Linux client applications based on SoftEther client components and Electron, and managed releases, compatibility changes and support.
  • Silviu Stroe helped develop and publish the Android release.
  • Maintained public product communication around releases, configuration changes and customer workflows over several years.

Technology context PHP · Smarty · MySQL · JavaScript · FreeBSD · CentOS · NGINX · PHP-FPM · Memcached · RADIUS · SoftEther · OpenVPN · Electron · Stripe · MobilPay

Historical product architecture

A high-level view of the customer application, administration, authentication and VPN service responsibilities. Client and server implementations evolved over time.

Components & responsibilities

Customer application
Registration, dashboard, subscriptions, invoices and support-facing workflows.
Administration
Customers, invoices, accounting exports, content and business indicators.
MySQL application data
Customer and application state.
Payment integrations
Historical recurring-payment workflows involving MobilPay/Stripe.
RADIUS authentication
RADIUS/MySQL on FreeBSD.
VPN infrastructure
SoftEther-based server infrastructure with other connectivity methods in the product history.
Client applications
Windows, macOS and Linux desktop clients; Android release through collaboration.

Connections & flow

  1. Customer application to MySQL application dataAccount & subscription state
  2. Administration to MySQL application dataAdministration
  3. Customer application to Payment integrationsPayment workflows
  4. RADIUS authentication to MySQL application dataAuthentication data
  5. VPN infrastructure to RADIUS authenticationAccess authentication
  6. Client applications to VPN infrastructureVPN connectivity

Historical responsibilities and technologies evolved between releases; current client and protocol compatibility is not established. Release integrations included upstream components and collaborative work.

Decisions & trade-offs

Build the customer and operating workflows together

Connectivity depends on account access, billing, configuration and support as well as VPN software.

Trade-off: Owning that breadth creates ongoing application, infrastructure and customer-service responsibilities.

Use established VPN components within a complete product

SoftEther-based infrastructure and clients formed part of a broader service with its own web, billing and operational capabilities.

Trade-off: Upstream compatibility and component changes become part of release and maintenance work.

Maintain several client environments

Customers use different desktop and device platforms.

Trade-off: Every supported platform adds release, compatibility and troubleshooting work.

Outcome & operation

Built and operated a commercial product with software, authentication, subscriptions and customer operations connected end to end. Public release history includes a 2016 server/client upgrade, a collaborative Android release in 2018, a desktop v5 beta in 2020 and configuration/client maintenance through 2022.

Notes & references

Owned product
End-to-end product work through RedShift IT.
Dated release history
Public product announcements document releases, configuration maintenance and collaboration.

Related career context

Explore all cases or read the complete career.