Initial commit: Retro-Proxy-Stack
This commit is contained in:
40
GEMINI.md
Normal file
40
GEMINI.md
Normal 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
25
README.md
Normal 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
39
compose.yml
Normal 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
21
stunnel.conf
Normal 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
|
||||||
Reference in New Issue
Block a user