spec.md 1.1 KB

ADDED Requirements

Requirement: Nginx is installed as a fallback web server for Trojan

The landing server SHALL have nginx installed and configured to serve a static fallback page on trojan_fallback_port.

Scenario: Nginx is installed

  • WHEN the trojan role runs on a landing server
  • THEN the nginx package is installed and available

Requirement: Nginx serves a camouflage page on the fallback port

Nginx SHALL be configured with a server block listening on trojan_fallback_port that returns a static HTML page, mimicking a generic website for HTTPS camouflage.

Scenario: Fallback page is accessible

  • WHEN an HTTP request is made to localhost:trojan_fallback_port
  • THEN nginx returns a 200 response with static HTML content

Requirement: Fallback port is allowed through UFW

The trojan_fallback_port SHALL be added to the allowed_ports list in group_vars/landing.yml so the base role opens it through the firewall.

Scenario: Firewall allows fallback port

  • WHEN the base role configures UFW
  • THEN traffic on trojan_fallback_port is allowed