Initial commit: Retro-Proxy-Stack

This commit is contained in:
2026-05-20 22:32:08 -04:00
commit a27093d1b8
4 changed files with 125 additions and 0 deletions

40
GEMINI.md Normal file
View File

@@ -0,0 +1,40 @@
# Retro-Proxy-Stack
A collection of Docker configurations designed to bridge the gap between modern internet services (email, web) and legacy clients (Outlook Express 6, IE 5/6 on Windows 9x/XP).
**Note:** This project is an orchestration layer. All core functionality is provided by the following upstream projects:
## Architecture & Credits
- **[Stunnel](https://www.stunnel.org/):** Used for SMTP/POP3/IMAP protocol/TLS translation.
- **[WebOne](https://github.com/atauenis/webone):** Modern-to-legacy HTTP proxy for browsing.
- **[WRP (Web Rendering Proxy)](https://github.com/tenox7/wrp):** Visual-rendering proxy that converts modern web pages into clickable image maps.
## Features
- **Legacy Mail Proxy:** Uses `Stunnel` to translate non-SSL legacy client connections into secure TLS 1.3 tunnels for modern servers. *Note: Best used with your own private mail server (like Synology MailPlus) that supports standard basic authentication (PLAIN/LOGIN).*
- **WebOne Proxy:** An HTTP proxy that strips modern security requirements and complex scripts, allowing vintage browsers to access the modern web.
- **WRP (Web Rendering Proxy):** A visual proxy that renders modern webpages as clickable image maps for hardware that cannot handle modern web standards.
## Services
| Service | Role | Host Port | Purpose |
| :--- | :--- | :--- | :--- |
| **Stunnel** | Mail Proxy | 25, 110, 143 | Bridges legacy mail clients to modern TLS-enabled servers. |
| **WebOne** | HTTP Proxy | 8081 | Allows retro browsers to access the modern web (strips TLS/scripts). |
| **WRP** | Visual Proxy | 8082 | Renders modern sites as image maps for very limited hardware. |
## Quick Start
1. **Start Services:**
`docker compose up -d`
2. **Mail Client Configuration:**
- Configure your client (Outlook Express 6) to use the server's IP address for SMTP/POP/IMAP.
- **Crucial:** Disable "Secure Password Authentication" (SPA) in the client's account settings.
- Set connection security to "None" (the proxy handles the encryption).
3. **Retro Browsing:**
- **For WebOne:** Set your browser's proxy settings to `<server-ip>:8081`.
- **For WRP:** Navigate to `http://<server-ip>:8082` in your legacy browser.
## Configuration
- All infrastructure and service mappings are defined in `compose.yml`.
- Mail proxy settings are defined in `stunnel.conf`.
- When adding or modifying services, ensure they maintain compatibility with older security standards required by Windows 9x/XP clients.

25
README.md Normal file
View File

@@ -0,0 +1,25 @@
# Retro-Proxy-Stack
A Docker Compose orchestration layer that bundles existing proxy tools to help legacy Windows 9x/XP clients (Outlook Express 6, IE 5/6) connect to modern services.
**Note:** This project is purely a configuration layer. All core functionality is provided by the respective upstream projects.
## Features
- **Legacy Mail Proxy:** Uses `Stunnel` to translate non-SSL legacy client connections into secure TLS 1.3 tunnels for modern servers. *Note: Best used with your own private mail server (like Synology MailPlus) that supports standard basic authentication (PLAIN/LOGIN).*
- **WebOne Proxy:** An HTTP proxy that strips modern security requirements and complex scripts, allowing vintage browsers to access the modern web.
- **WRP (Web Rendering Proxy):** A visual proxy that renders modern webpages as clickable image maps for hardware that cannot handle modern web standards.
## Included Tools
- **[Stunnel](https://www.stunnel.org/):** Handles secure TLS translation for legacy mail clients.
- **[WebOne](https://github.com/atauenis/webone):** An HTTP proxy that strips modern security requirements, enabling vintage browsers to access the modern web.
- **[WRP (Web Rendering Proxy)](https://github.com/tenox7/wrp):** A visual proxy that renders modern webpages as clickable image maps.
## Setup
1. **Configure:** Update `stunnel.conf` with your upstream mail server details.
2. **Launch:** Run `docker compose up -d` to start all services.
3. **Configure Clients:**
- **Mail:** Set up accounts in your legacy client (Outlook Express 6) using the host's IP. Disable "Secure Password Authentication" (SPA) and use no encryption (the proxy handles it).
- **Web:** Set your browser's proxy settings to `host-ip:8081` (WebOne) or visit `http://host-ip:8082` (WRP).
## Documentation
For full details on architecture, service mappings, and configuration, see [GEMINI.md](./GEMINI.md).

39
compose.yml Normal file
View File

@@ -0,0 +1,39 @@
services:
# Using Alpine with Stunnel manually installed to have full control over the config
stunnel:
image: alpine:latest
container_name: stunnel-proxy
restart: always
command: >
sh -c "apk add --no-cache stunnel &&
stunnel /etc/stunnel/stunnel.conf"
volumes:
- ./stunnel.conf:/etc/stunnel/stunnel.conf:ro
ports:
- "110:110"
- "143:143"
- "25:25"
networks:
- mail-proxy
webone:
image: u306060/webone
container_name: webone-proxy
restart: always
ports:
- "8081:8080"
networks:
- mail-proxy
wrp:
image: tenox7/wrp
container_name: wrp-proxy
restart: always
ports:
- "8082:8080"
networks:
- mail-proxy
networks:
mail-proxy:
driver: bridge

21
stunnel.conf Normal file
View File

@@ -0,0 +1,21 @@
# Stunnel Configuration for Legacy Mail Proxy
# Forwarding non-SSL legacy client connections to modern SSL/TLS mail server
client = yes
foreground = yes
debug = info
# IMAP Bridge
[imap]
accept = 0.0.0.0:143
connect = are-nas.lan.1qaz.ca:993
# POP3 Bridge
[pop3]
accept = 0.0.0.0:110
connect = are-nas.lan.1qaz.ca:995
# SMTP Bridge
[smtp]
accept = 0.0.0.0:25
connect = are-nas.lan.1qaz.ca:465