VintageHive is a retro internet proxy and service emulator that lets vintage computers browse the modern web. It intercepts HTTP, FTP, and Telnet traffic and routes it through a chain of processors — including ProtoWeb and the Internet Archive Wayback Machine — so you can browse the web like it's 1999. It also provides a full suite of period-accurate services: an intranet portal with weather and news, internet radio streaming (MP3, WMA, and RealAudio), an AIM/ICQ-compatible chat server, a Telnet BBS, FTP hosting, a Usenet/NNTP server, Microsoft NetMeeting conferencing, and more.
Point your vintage browser's proxy settings at VintageHive and you're online.
- Features
- Installation
- First Run
- Service Ports
- Browser Setup Guides
- Docker
- Architecture Overview
- Roadmap
- Configuration
- FAQ / Troubleshooting
- Data Sources
- Contributing
- License
VintageHive processes every HTTP request through a multi-stage processor chain:
- Direct Passthrough — A curated set of retro-friendly sites (68k.news, FrogFind, Old AltaVista, Razorback95, etc.) are fetched directly from the live web
- Intranet Portal — Requests for
hive.comsubdomains are handled locally (see below) - ProtoWeb — Archived websites from ProtoWeb.org are served with a 1-year cache
- Internet Archive — Anything not found on ProtoWeb is looked up in the Wayback Machine (configurable year, default 1999)
- 404 — If nothing matches, a not-found page is returned
The proxy also includes an article reader that strips modern web clutter and renders clean HTML for vintage browsers, and a search engine powered by DuckDuckGo.
The built-in intranet at http://hive.com provides:
- Weather — Current conditions and forecast via Open-Meteo, with configurable location and temperature units
- News — Headlines from Google News across topics (Local, US, World, Tech, Science, Business, Entertainment, Sports, Health)
- Directory — Curated hot links to retro-friendly websites
- ProtoWeb Browser — Browse the ProtoWeb HTTP and FTP site archives
- Search — Web search powered by DuckDuckGo
- User Accounts — Per-user preferences and session management
A full internet radio experience for vintage media players:
- Browse stations by country, genre/tag, or keyword search
- Top 100 stations, top countries, and top tags
- Shoutcast directory with genre browsing and search
- Streams in MP3, ASF/WMA, and RealAudio formats with ICY metadata
- RealPlayer support via PNA protocol (port 7070) with Cook and RA 14.4 codecs, bandwidth-adaptive codec selection
- Windows Media Player support via MMS protocol (port 1755) with ASF/WMA streaming
- Automatic codec transcoding via FFmpeg (AAC, OGG, etc. converted to the target format)
- Generates PLS, ASX, and RAM playlists for one-click playback
- Live Now Playing track metadata from upstream ICY streams
A web-based administration interface:
- Dashboard — Real-time service status and request logs
- User Management — Create and delete user accounts
- Service Toggles — Enable/disable ProtoWeb, Internet Archive, and other services
- Internet Archive Year — Set the Wayback Machine target year (1997–2021)
- Cache Management — View cache stats and clear all caches
- Download Center — Manage download repositories
A fully functional OSCAR protocol server compatible with vintage AIM and ICQ clients:
- Authentication — MD5 login support
- Buddy Lists — Add buddies, online/offline notifications
- Messaging — Send and receive instant messages (ICBM)
- Profiles — User profiles and away messages
- Privacy — Permit/deny lists and visibility controls
- ICQ Extensions — User info queries, offline messages
A text-mode BBS accessible from any Telnet client:
news— Browse news headlines and read articlesweather— Current weather with configurable locationriddle— Interactive riddle game (3 attempts per riddle)gallery— ASCII art image galleryhelp— List all available commands
- Serves ProtoWeb FTP archives
- Local file hosting via the virtual filesystem
- Full FTP command support (LIST, RETR, STOR, CWD, MKD, DELE, PASV, etc.)
- Passive mode on ports 1900–1910
A local DNS proxy that resolves *.hive.com domains to the VintageHive host, forwarding all other queries upstream. Allows vintage machines to use VintageHive as their DNS server so intranet domains resolve without hosts file editing.
A fully functional NNTP server with curated newsgroups:
- Standard NNTP commands — GROUP, ARTICLE, HEAD, BODY, STAT, LIST, XOVER, XHDR, POST
- Curated content — Newsgroups populated from configured sources
- Compatible with vintage Usenet readers (Outlook Express, Free Agent, tin, etc.)
Full Microsoft NetMeeting conferencing support with a complete H.323/T.120 protocol stack:
- ILS Directory (port 1002) — Internet Locator Service for user registration and lookup via LDAP, compatible with NetMeeting 2.x/3.x
- H.225 RAS Gatekeeper (port 1719/UDP) — Endpoint discovery, registration, and admission control
- H.323 Call Signaling (port 1720) — Q.931 call setup with bidirectional message proxying, H.245 control channel relay, and RTP/RTCP media relay
- T.120 Data Conferencing (port 1503) — Full MCS domain management supporting Chat, Whiteboard (T.126 drawing primitives), and File Transfer (MBFT)
These services are functional but considered experimental:
- Printer Proxy (ports 631, 515, 9100) — IPP, LPD, and Raw printing with PostScript-to-PDF conversion via GhostScript
- SMTP Server (port 1980) — Email sending with authentication and mail spooling
- POP3 Server (port 1984) — Email retrieval with message management
- IMAP Server (port 1985) — Email access with folder support
- IRC Server (port 1988) — Basic IRC with private messaging and channel support (
irc.hive.com)
- Download the latest
VintageHive-v*-win-x64.zipfrom the Releases page - Right-click the ZIP file and select "Extract All..."
- Choose a destination folder (e.g.,
C:\VintageHive) - Open the extracted folder
- Run
VintageHive.exe - When prompted by Windows Defender Firewall, click "Allow Access"
- The server will start and be accessible at:
- HTTP Proxy:
http://127.0.0.1:1990 - Admin Interface:
http://admin.hive.com:1990
- HTTP Proxy:
- Download the latest
VintageHive-v*-linux-x64.tar.gzfrom the Releases page - Install dependencies:
# Required: OpenSSL 1.0.2a shared libraries are bundled, but need execstack cleared on modern kernels sudo apt install execstack cd VintageHive-v*-linux-x64/libs execstack -c libcrypto.so libssl.so cd .. # Optional: GhostScript for PostScript/PCL print-to-PDF (printing works without it, but PS jobs are saved as raw files) sudo apt install libgs-dev
- Extract the archive:
tar xzf VintageHive-v*-linux-x64.tar.gz cd VintageHive-v*-linux-x64
- Make the binary executable:
chmod +x VintageHive
- Run VintageHive:
./VintageHive
- The server will start and be accessible at:
- HTTP Proxy:
http://127.0.0.1:1990 - Admin Interface:
http://admin.hive.com:1990
- HTTP Proxy:
Note: On Linux, you might need to run with sudo if you want to use privileged ports (< 1024). Port 631 (IPP Printing) may conflict with CUPS — VintageHive will log an error and skip that listener if the port is in use.
- Download the latest
VintageHive-v*-osx-x64.tar.gzfrom the Releases page - Open Terminal and navigate to your download directory
- Extract the archive:
tar xzf VintageHive-v*-osx-x64.tar.gz cd VintageHive-v*-osx-x64
- Make the binary executable:
chmod +x VintageHive
- The first time you run VintageHive, macOS may block it. To allow it:
- Try to run
./VintageHive - When blocked, go to System Preferences > Security & Privacy
- Click "Allow Anyway" for VintageHive
- Run
./VintageHiveagain and click "Open" when prompted
- Try to run
- The server will start and be accessible at:
- HTTP Proxy:
http://127.0.0.1:1990 - Admin Interface:
http://admin.hive.com:1990
- HTTP Proxy:
On first run, VintageHive will:
- Create necessary directories for data storage
- Generate SSL certificates for HTTPS proxy
- Initialize the local database
- Start all enabled services
Visit http://admin.hive.com:1990 to:
- Monitor proxy activity
- Configure services
- Manage certificates
- View system status
| Service | Port | Protocol | Status |
|---|---|---|---|
| HTTP Proxy | 1990 | TCP | Stable |
| HTTPS Proxy | 9999 | TCP (SSL) | Experimental |
| FTP Server | 1971 | TCP | Stable |
| FTP Passive Range | 1900–1910 | TCP | Stable |
| Telnet Server | 1969 | TCP | Stable |
| OSCAR (AIM/ICQ) | 5190 | TCP | Stable |
| SOCKS5 Proxy | 1996 | TCP | Experimental |
| DNS Proxy | 1953 | UDP | Experimental |
| MMS (Windows Media) | 1755 | TCP | Stable |
| PNA (RealPlayer) | 7070 | TCP | Stable |
| NNTP / Usenet | 1986 | TCP | Experimental |
| ILS (NetMeeting Directory) | 1002 | TCP | Experimental |
| H.225 RAS Gatekeeper | 1719 | UDP | Experimental |
| H.323 Call Signaling | 1720 | TCP | Experimental |
| T.120 Data Conferencing | 1503 | TCP | Experimental |
| SMTP Server | 1980 | TCP | Debug |
| POP3 Server | 1984 | TCP | Debug |
| IMAP Server | 1985 | TCP | Debug |
| IRC Server | 1988 | TCP | Debug |
| IPP Printer | 631 | TCP | Debug |
| LPD Printer | 515 | TCP | Debug |
| Raw Print | 9100 | TCP | Debug |
- Open the Tools menu, and then select Internet Options
- Click on the Connections tab
- Select LAN Settings
- In the Local Area Network Settings dialog box, select the
Use a proxy server for your LANsettings check box - Input your host IP address and the port
1990in the HTTP proxy field
- Open
Edit > Preferences - Navigate to
Advanced > Proxies - Select
Manual Proxy Configuration - Set:
- HTTP Proxy:
127.0.0.1Port:1990 - Security Proxy (SSL):
127.0.0.1Port:9999 - FTP Proxy:
127.0.0.1Port:1971
- HTTP Proxy:
- Click
OK
- Open
View > Options(orTools > Internet Optionsin IE5) - Click
Connectiontab - Click
Proxy SettingsorLAN Settings - Check
Use a proxy server - Click
Advanced - Set:
- HTTP:
127.0.0.1:1990 - Secure (HTTPS):
127.0.0.1:9999 - FTP:
127.0.0.1:1971
- HTTP:
- Click
OKon all dialogs
- Open
Options > Network Preferences - Enable
Use Proxy Server - Set:
- HTTP Proxy:
127.0.0.1Port:1990 - FTP Proxy:
127.0.0.1Port:1971
- HTTP Proxy:
- Click
OK
- Open
File > Preferences - Click
Networktab - Click
Proxy Servers - Set:
- HTTP:
127.0.0.1:1990 - HTTPS:
127.0.0.1:9999 - FTP:
127.0.0.1:1971
- HTTP:
- Click
OK
- Open
My AOL > Preferences - Click
WWWicon - Select
Connectiontab - Click
Setup - Enable
Connect through proxy server - Set:
- HTTP Proxy:
127.0.0.1Port:1990
- HTTP Proxy:
- Click
OK
-
Windows 3.1/95 Users:
- If you can't type the
.in127.0.0.1, use the numeric keypad - Some browsers may require
localhostinstead of127.0.0.1
- If you can't type the
-
SSL/HTTPS Support:
- IE3: Limited HTTPS support, may need additional patches
- Netscape 3+: Full SSL support with certificate import
- Mosaic: No SSL support, will only work with HTTP
- Opera 3+: SSL support varies by version
-
Certificate Installation:
- Visit
http://admin.hive.com:1990/ca.crtin your browser - For Netscape: Select
Accept this Certificate Authority for Certifying network sites - For IE: Click
Install Certificateand follow the wizard - For Opera: Save the file and import via
File > Preferences > Security > Certificates
- Visit
-
Known Issues:
- Some browsers may show certificate warnings for HTTPS sites
- FTP passive mode may not work in older browsers
- JavaScript support varies significantly between browsers
- Some browsers may require system proxy settings instead of browser settings
You can quickly run VintageHive using Docker:
docker run -d \
--name vintagehive \
-p 1990:1990 \
-p 9999:9999 \
-p 1971:1971 \
-p 1969:1969 \
-p 5190:5190 \
-p 1900-1910:1900-1910 \
-p 1953:1953/udp \
-p 1755:1755 \
-p 7070:7070 \
-p 1986:1986 \
-p 1002:1002 \
-p 1719:1719/udp \
-p 1720:1720 \
-p 1503:1503 \
-p 1980:1980 \
-p 1984:1984 \
-p 1985:1985 \
-p 1988:1988 \
-p 631:631 \
-p 515:515 \
-p 9100:9100 \
-v vintagehive_data:/app/data \
foxcouncil/vintagehive:latestThe container exposes all service ports. Key ports:
- 1990: HTTP Proxy
- 9999: HTTPS Proxy
- 1971: FTP Server
- 1969: Telnet Server
- 5190: OSCAR (AIM/ICQ) Server
- 1755: MMS (Windows Media) Streaming
- 7070: PNA (RealPlayer) Streaming
- 1002/1719/1720/1503: NetMeeting (ILS, RAS, H.323, T.120)
- 1986: NNTP / Usenet
- 1953/udp: DNS Proxy
See Service Ports for the complete list. Data is persisted in the vintagehive_data volume.
VintageHive is built on .NET 10 and follows a processor chain pattern for request handling.
Every incoming HTTP request passes through a chain of processors in order. The first processor that can handle a request returns a response; if none match, a 404 is returned.
HTTP Request → HelperProcessor → LocalServerProcessor → ProtoWebProcessor → InternetArchiveProcessor → 404
The LocalServerProcessor uses domain-based routing to dispatch requests to controllers:
| Domain | Controller |
|---|---|
hive.com |
HiveController — portal, weather, news, search |
admin.hive.com |
AdminController — admin panel |
radio.hive.com |
RadioController — internet radio (MP3, WMA, RealAudio) |
api.hive.com |
ApiController — image proxy and API |
HTML pages are rendered using the Fluid template engine (Liquid-compatible) with custom filters for URL encoding, byte formatting, and content processing.
VintageHive uses SQLite for persistent storage, with separate database contexts for general data (HiveDbContext), printer jobs (PrinterDbContext), and caching (CacheDbContext).
FTP Proxy SupportHTTPS Proxy Support (with security downgrading SSL2)Custom Hosted PagesDownload CenterAIM / OSCAR ServerICQ SupportInternet Radio (RadioBrowser + Shoutcast)Telnet BBSPrinter Proxy (IPP / LPD / Raw)POP3 / SMTP / IMAP / IRC (debug)USENET / NNTP ServerDNS ProxyNetMeeting Support (ILS, H.225 RAS, H.323, H.245, T.120, Chat, Whiteboard, File Transfer)MMS / Windows Media StreamingRealAudio / PNA Streaming (Cook, RA 14.4)
- HTTPS re-enablement and certificate improvements
- Gopher protocol support
- FTP authentication
- SOCKS5 proxy improvements
- Yahoo! IM and MSN Messenger
- NetMeeting App Sharing (T.128)
- Community servers
Most settings are managed through the Admin Panel at http://admin.hive.com:1990. Per-IP local settings allow different vintage machines on the same network to have independent preferences (location, temperature units, archive year, etc.).
Key configuration options:
- Internet Archive Year — Which year to fetch archived pages from (1997–2021)
- Service Toggles — Enable or disable ProtoWeb, Internet Archive, Intranet, SMTP, POP3, IMAP, IRC, Usenet, DNS, Printer, ILS, H.323, RAS, T.120
- Temperature Units — Celsius or Fahrenheit
- Distance Units — Metric or Imperial
A: Check your host's firewall settings. Make sure both the guest and host are on the same network and subnet. On Windows, allow VintageHive through Windows Defender Firewall.
A: HTTPS support is experimental. Visit http://admin.hive.com:1990/ca.crt to download and install VintageHive's CA certificate in your browser. Note that some very old browsers have limited or no SSL support.
A: Log in to the admin panel at http://admin.hive.com:1990 and change the Internet Archive year setting. Valid years are 1997–2021.
A: Yes! Run VintageHive on a modern machine on the same network as your vintage computer. Configure the vintage browser to use your host machine's IP address as the proxy (e.g., 192.168.1.100:1990). Make sure your host's firewall allows incoming connections on the service ports.
A: VintageHive requires FFmpeg for transcoding some radio streams. Make sure the appropriate FFmpeg binary is available in the application directory. On Windows, this is ffmpeg.exe.
A: Configure your AIM or ICQ client to connect to your VintageHive host IP on port 5190. Create a user account through the admin panel first, then log in with those credentials.
- Internet Archive / Wayback Machine
- ProtoWeb
- RadioBrowser
- Shoutcast
- Geonames
- Open-Meteo
- DuckDuckGo
- Google News
git clone https://github.com/FoxCouncil/VintageHive.git
cd VintageHive
dotnet build
dotnet runTo build in debug mode with additional logging and experimental services:
dotnet build -c Debug
dotnet run -c DebugFound a bug or have a feature request? Open an issue on GitHub.
VintageHive is released under the MIT License.





