ReW9x is a lightweight Reddit client for old Windows systems, focused on keeping basic Reddit reading usable on Windows 9x-era machines.
Caution
This project already has a usable reader flow, but it is still rough software. Expect UI quirks, unfinished flows, and layout bugs that need more polishing.
This is an unofficial third-party Reddit client.
Reddit's API policies, rate limits, and platform rules may change over time. Use this client at your own risk. The author and contributors are not responsible for Reddit account issues, API access changes, or service-side breakage caused by policy changes outside this repository.
- Anonymous mode
- Saved-account mode with refresh-token reuse
- Feed navigation:
HomePopularNewsExplore
- Topic drawer with subreddit list
- Subreddit navigation from search and topic list
- Mixed search popup:
- subreddit/community matches
- post search results
- Post reading
- Comment viewing
- Inline image preview for supported image posts
- Separate image viewer window for larger image viewing
- Search UX still needs more polish
- Search popup behavior is functional but still evolving
- Topic drawer sizing/layout is still being tuned
- Some shell interactions are approximations of modern Reddit behavior
- UI layout can still behave badly in resize/edge cases
- Markdown support (links only)
- Login using browser cookies
- Parsing embed content from post/news
- Full Markdown support
- Better search UX and result presentation
- More shell/layout polish
- Better subreddit/topic navigation
- A real posting flow beyond the current stub
- Reddit OAuth login via manual authorization-code flow
Before building the main client, you must have a working toolchain that can build the native TLS bridge DLL.
The wrapper DLL depends on:
- a working MinGW toolchain suitable for old Windows targets
- a working OpenSSL build
If your normal MinGW toolchain does not produce a usable DLL for Win9x-era targets, read the wrapper-specific notes here:
The toolchain used for this project was built from the Discord Messenger guide:
You should also set MINGW_CC manually to the exact compiler from that
toolchain.
Do not rely on a random i686-w64-mingw32-gcc from your system PATH if you are
targeting old Windows builds. Using the wrong compiler can produce a
native_tls.dll that builds successfully but crashes or misbehaves on older
systems.
For example:
export PATH="$HOME/mingw-builds/install/cross/bin:$PATH"
MINGW_CC=i686-w64-mingw32-gcc OPENSSL_DIR=$HOME/src/openssl bash build.shbuild.sh already tries to build native_tls.dll automatically, but this only
works if that toolchain, the explicit MINGW_CC, and the OpenSSL build are all
set up correctly.
Build the client with:
MINGW_CC=i686-w64-mingw32-gcc OPENSSL_DIR=$HOME/src/openssl bash build.shThe build script:
- builds
build/native_tls.dll - builds
build/ReW9x.exe - copies the required runtime files into
build/
The final executable is:
build/ReW9x.exe
Example Wine launch:
WINEPREFIX=... wine build/ReW9x.exesrc/app/- entry point and app configsrc/api/- Reddit API client logicsrc/models/- domain modelssrc/ui/- WinForms UIsrc/utils/- parser/storage/shared helpersexternal/openssl_wrp/- OpenSSL wrapper sourcesexternal/openssl_wrp/runtime/- runtime DLLs and CA bundle copied intobuild/build/- generated executable and runtime assets
Before building, edit:
You need to set:
ClientIdRedirectUri
The intended Reddit application type is:
installed app
The client uses a manual callback flow:
- Open the authorization URL in a normal browser
- Sign in and approve access
- Copy the redirected callback URL
- Paste that callback URL back into the client
The redirect uri on Reddit's side must match the value in
src/app/app_config.cs.
The account state is stored in:
account.json
This file is local runtime state and is not intended to be versioned.
The final build/ directory is expected to contain:
ReW9x.exenative_tls.dlllibssl-3.dlllibcrypto-3.dllproviders/legacy.dllcacert.pem
These are sourced from:
external/openssl_wrp/runtime/
...
- OpenSSL build/source used for this project: https://github.com/DiscordMessenger/openssl