-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfaq.php
More file actions
263 lines (232 loc) · 14.1 KB
/
faq.php
File metadata and controls
263 lines (232 loc) · 14.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
<?php
/**
* RetroGate — FAQ Page
* Frequently Argued Questions.
* (Because "Frequently Asked" implies politeness we can't guarantee.)
*/
$page_title = 'FAQ';
$page_description = 'Frequently Argued Questions about RetroGate. Everything you wanted to know about browsing the modern web on a Macintosh Plus but were too afraid to ask.';
require_once __DIR__ . '/includes/header.php';
?>
<section class="page-header">
<h1>Frequently Argued Questions</h1>
<p class="subtitle">Everything you wanted to know but were too afraid to ask your Quadra.</p>
</section>
<div class="faq-content">
<p style="margin-bottom: 2rem; color: #666;">
We call these “Frequently <em>Argued</em> Questions” because most of them come from
heated debates on vintage computing forums at 2 AM. We appreciate your passion. We share it.
That’s why we’re all here.
</p>
<!-- General -->
<h2 style="margin-bottom: 1.5rem; border-left: 5px solid var(--amber); padding-left: 1rem;">General</h2>
<div class="faq-item">
<button class="faq-question">What exactly IS RetroGate?</button>
<div class="faq-answer">
<p>RetroGate is a macOS proxy server that sits between your vintage computer and the modern internet.
It handles TLS encryption, converts HTML5 to HTML 3.2, transcodes modern image formats to JPEG/GIF,
and generally performs twenty years of technological regression so your old Mac doesn’t have to.</p>
<p>Think of it as a universal translator between your Macintosh Plus and the year 2026.
Except instead of translating Klingon, it translates React components into <table> layouts.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Does it work with real hardware or just emulators?</button>
<div class="faq-answer">
<p>Both! If your vintage Mac or PC can make HTTP requests through a proxy, RetroGate handles the rest.
SheepShaver, Basilisk II, QEMU, PCem, 86Box, or genuine beige hardware that has survived
the fall of empires, the rise of the iPhone, and at least two office moves — RetroGate loves them all equally.</p>
<p>We don’t discriminate based on age, color depth, or how loud the hard drive sounds.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Why "RetroGate"? Isn't that a bit... scandalous?</button>
<div class="faq-answer">
<p>Because it’s a <em>gate</em> between the <em>retro</em> internet and the modern one.
Also because every good project needs a name that sounds vaguely like a political scandal.
RetroGate: the controversy of making old computers useful again.</p>
<p>We considered “Proxy McProxyFace” but felt it lacked gravitas.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Is this legal?</button>
<div class="faq-answer">
<p>Yes. RetroGate is a proxy server running on your local network. It’s no different from any other HTTP proxy.
The Wayback Machine integration uses the Internet Archive’s public API and respects robots.txt.</p>
<p>The only law you might be breaking is the unwritten one about spending your Saturday night
configuring TCP/IP on a Power Macintosh 7200 instead of going outside. We won’t judge.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Can I run RetroGate on a Raspberry Pi?</button>
<div class="faq-answer">
<p>No. RetroGate is a macOS app built with SwiftUI, SwiftNIO, and CoreGraphics. It requires macOS 13+ and runs natively on both Apple Silicon and Intel as a Universal Binary.</p>
<p>We know this is slightly ironic — a proxy for old computers that requires a not-so-old computer.
But SwiftNIO is really fast, CoreGraphics handles image transcoding beautifully, and frankly,
your Mac isn’t doing anything else productive while it serves HTML 3.2 to a Quadra.</p>
</div>
</div>
<!-- Technical -->
<h2 style="margin-top: 2.5rem; margin-bottom: 1.5rem; border-left: 5px solid var(--amber); padding-left: 1rem;">Technical</h2>
<div class="faq-item">
<button class="faq-question">Will this work with HTTPS sites?</button>
<div class="faq-answer">
<p>Yes! Your vintage browser sends a plain HTTP request to RetroGate. RetroGate then makes the HTTPS
request on its behalf, using modern TLS 1.3. If the HTTPS connection fails (expired cert, etc.),
RetroGate falls back to plain HTTP automatically.</p>
<p>Your Mac OS 9 machine never needs to know about certificate chains, OCSP stapling, or
any of that TLS handshake business. It has enough problems.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Why can't I just use the Wayback Machine directly?</button>
<div class="faq-answer">
<p>Because the Wayback Machine’s website is itself a modern web application. It uses JavaScript,
modern CSS, HTTPS — none of which your vintage browser supports.</p>
<p>It’s like asking why you can’t read a book through a window — technically the words are there,
but there’s a pane of glass (and 25 years of web standards) in the way.
RetroGate is the person who opens the window for you.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">What's the maximum page size?</button>
<div class="faq-answer">
<p>RetroGate caps responses at 10 MB. In practice, no page from 1999 was anywhere near this limit.
In 2026, some JavaScript bundles exceed it. We don’t talk about those.</p>
<p>A typical transcoded page is 10–50 KB. For reference, the original Mac OS 9 installer
was 15 MB. You could fit hundreds of transcoded web pages in the space of one operating system.
What a time to be alive.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Can I browse modern SPAs (Single Page Applications)?</button>
<div class="faq-answer">
<p>You can certainly try. Sites that are mostly text (Wikipedia, news articles, forums) work great.
Sites that are mostly JavaScript-rendered (Twitter, modern Reddit, Gmail) will give you a blank page
with perhaps a sad <code><noscript></code> message.</p>
<p>RetroGate preserves <code><noscript></code> content by default, so you’ll at least see
<em>something</em>. Usually it’s a polite suggestion to enable JavaScript, which is
adorably naive given that your browser thinks ECMAScript is a skin condition.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">What encoding does RetroGate use?</button>
<div class="faq-answer">
<p>Mac presets output <strong>MacRoman</strong>. PC presets output <strong>ISO-8859-1</strong>.
Unicode characters are converted with lossy encoding — curly quotes become straight quotes,
em-dashes become <code>--</code>, ellipses become <code>...</code>, and trademark symbols become <code>(TM)</code>.</p>
<p>If you’re seeing garbled characters, you probably have a Mac preset on a PC browser or vice versa.
This is the “you had one job” of character encoding, and it’s been causing problems since 1991.</p>
</div>
</div>
<!-- Wayback -->
<h2 style="margin-top: 2.5rem; margin-bottom: 1.5rem; border-left: 5px solid var(--amber); padding-left: 1rem;">Wayback Machine</h2>
<div class="faq-item">
<button class="faq-question">Why is the Wayback Machine so slow?</button>
<div class="faq-answer">
<p>That’s not RetroGate — that’s the Internet Archive. It serves <em>billions</em>
of archived pages from a non-profit’s server room. It’s doing its best with the digital
equivalent of duct tape and idealism.</p>
<p>RetroGate helps by caching Wayback responses locally (archived content is immutable, so this is safe)
and by prefetching images in parallel. After the first load, subsequent visits should be nearly instant.</p>
<p>Consider <a href="https://archive.org/donate" target="_blank">donating to the Internet Archive</a>.
They’re literally preserving human knowledge. That’s worth a few bucks.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Some pages have images from the wrong year. What gives?</button>
<div class="faq-answer">
<p>RetroGate has “temporal consistency” built in — when a page loads from a specific snapshot date,
all sub-resources (images, CSS) are fetched from that same date. But sometimes the Internet Archive
simply didn’t crawl a particular image on that date, and the closest match is from a different year.</p>
<p>The Wayback Timeline tab (Monitor → Wayback Timeline) shows you the actual delta between your
target date and each fetched resource. Green means exact match, gold means close, red means the Archive
is doing its best with limited data. We live in an imperfect world, and so does time travel.</p>
</div>
</div>
<!-- SheepShaver -->
<h2 style="margin-top: 2.5rem; margin-bottom: 1.5rem; border-left: 5px solid var(--amber); padding-left: 1rem;">SheepShaver & Emulators</h2>
<div class="faq-item">
<button class="faq-question">SheepShaver keeps losing network connectivity. Help!</button>
<div class="faq-answer">
<p>SheepShaver’s slirp networking is, shall we say, <em>temperamental</em>. If browsing
suddenly stops working, restart SheepShaver. This is not a RetroGate bug.
This is a SheepShaver feature.</p>
<p>(It’s a bug. It’s definitely a bug. But calling it a feature makes everyone feel better.)</p>
<p>Your host machine is reachable at <code>10.0.2.2</code> from inside the VM.
Configure this as your HTTP proxy address with port 8080.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Why do Java applets crash?</button>
<div class="faq-answer">
<p>RetroGate strips <code><applet></code> tags because they crash SheepShaver’s
MRJ (Mac OS Runtime for Java). This is a known SheepShaver issue, not a RetroGate issue.</p>
<p>QuickTime embeds (<code><embed></code> and <code><object></code>) are preserved because
QuickTime is eternal and beautiful and works perfectly in SheepShaver. Unlike Java. Because Java.</p>
</div>
</div>
<!-- Philosophy -->
<h2 style="margin-top: 2.5rem; margin-bottom: 1.5rem; border-left: 5px solid var(--amber); padding-left: 1rem;">Philosophy</h2>
<div class="faq-item">
<button class="faq-question">Isn't this just nostalgia?</button>
<div class="faq-answer">
<p>No. This is <em>infrastructure</em>.</p>
<p>Nostalgia is looking at pictures of old Macs on Instagram (on your iPhone). RetroGate is actually
<em>using</em> those old Macs to access the modern internet. There’s a difference between
“remember when things were simpler” and “I have made things simpler again with
a 3000-line Swift proxy server.”</p>
<p>Also, if nostalgia is wrong, explain why you still have a box of SCSI cables in your closet.
Exactly.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Why would anyone actually use this?</button>
<div class="faq-answer">
<p>Because a Macintosh Plus deserves to browse Wikipedia. Because a PowerBook 520 shouldn’t
cry in a landfill just because the web moved on. Because Mac OS 9 — the last truly great
Classic Mac OS, fight me — should be able to reach the entire World Wide Web.</p>
<p>But also: because it’s fun. Because seeing a modern website rendered in HTML 3.2 on a CRT
is genuinely delightful. Because the internet was better when pages were 12 KB and loaded instantly
and didn’t need consent banners for 47 different tracking cookies.</p>
<p>Because some of us remember when the web was <em>fun</em>, and we want it back.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">Can I contribute to RetroGate?</button>
<div class="faq-answer">
<p>Absolutely! RetroGate is open source under the GPLv3 license. The code is on
<a href="https://github.com/Simplinity/retrogate" target="_blank">GitHub</a>.
We welcome pull requests, bug reports, feature suggestions, and strongly-worded opinions
about whether Mac OS 8 or Mac OS 9 was better.</p>
<p>(It was Mac OS 9. This is not up for debate. The FAQ has spoken.)</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question">What's on the roadmap?</button>
<div class="faq-answer">
<p>So many things:</p>
<ul style="margin: 1rem 0 1rem 2rem;">
<li>DNS interception mode — no proxy config needed</li>
<li>Settings page accessible from the vintage browser itself</li>
<li>FTP-to-HTTP bridge for classic Mac FTP clients like Fetch</li>
<li>Protoweb integration for hand-restored vintage sites</li>
<li>Server-side rendering with ISMAP as nuclear fallback</li>
<li>Multi-protocol suite (IRC, NNTP, AIM revival)</li>
<li>Site-specific gateways for Wikipedia, Reddit, search engines</li>
<li>Video transcoding pipeline (yt-dlp + ffmpeg → QuickTime)</li>
<li>Configurable rule engine with regex find/replace</li>
</ul>
<p>We have more ideas than any reasonable person should. Send help. Or pull requests. Preferably both.</p>
</div>
</div>
<!-- Divider -->
<div style="text-align: center; margin: 3rem 0; font-family: var(--font-pixel); color: var(--amber);">
★ ★ ★
</div>
<p style="text-align: center; font-style: italic; color: #888;">
Got a question we haven’t answered? <a href="/contact.php">Send us a message</a>.
We promise to read it on a vintage Mac for authenticity.
</p>
</div>
<?php require_once __DIR__ . '/includes/footer.php'; ?>