You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-24Lines changed: 7 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,6 @@
1
1
# CompactBro
2
+
**Warning**: This software is yet to reach v1. Some functions are simply unimplemented; development started in spring of 2023, after reddit removed `/.compact` functionality, however once the use of `.i` and a relevant userscript has been discovered, this project has been immediately obendened (v0.83.0) and stood there until the end of 2024. In spring of 2024 the `.i` has been shut down by reddit as well, but since the author pretty much left reddit at that time it was barely noticed and no effort has been taken to develop the software and move it towards v1. Now I decided to release it as is, allowing to browse and make comments/replies.
3
+
2
4
Miss the old reddit mobile web/compact/wap interface (`i.reddit.com`, `.compact`)? Worry not, CompactBro brings it back!
3
5
4
6
1. Download & unzip a version for your platform -> https://github.com/rdtmaster/compactbro/releases/latest
@@ -29,7 +31,6 @@ I thought about it but there are several obstacles. One of the most ambitious go
29
31
30
32
## How to install
31
33
Work in progress!
32
-
**WARNING the software is not functional yet do not install it!**
33
34
34
35
First, download binary for your operating system from the releases page. Alternatively, clone this repo and build it (you need `git` and functional go >= 1.20.3 installation):
35
36
```bash
@@ -60,14 +61,6 @@ LineNumbers = true
60
61
```
61
62
replace values in `<...>` with relevant data, do not include `<` and `>`
62
63
63
-
Before describing the config process, let's summarize it to help you decide what you need and don't need depending on your goals.
64
-
65
-
1.**Running `compactbro` locally, without replacing `i.reddit.com`**. No HTTPS and no Authentication
66
-
2.**Running `compactbro` locally, replacing `i.reddit.com`**. No authentication, HTTPS enabled
67
-
3.**Running `compactbro` on a remote server without replacing `i.reddit.com`**. Auth and optional (but recommended) HTTPS
68
-
4.**Running `compactbro` on a remote server, replacing `i.reddit.com`**. Authentication+HTTPS.
69
-
70
-
Read further to know what do these steps mean and, when you decide what kind of setup you want, this list will help you realize which steps are required.
71
64
72
65
### Auth
73
66
Generally there are two strategies of using compactbro: run it locally or on a server. If the former, you don't need any authentication whatsoever, simply fire it up; but running it on a remote server can provide several advantages, namely you don't need to have any additional process launched on your device. A low-end Linux VPS server should suffice and, once you configure Authentication and HTTPS, you can make it a drop-in replacement for `i.reddit.com`.
@@ -87,28 +80,17 @@ Replace values in `<...>` with credentials of your choice; be advised these are
87
80
Today majority of websites and apps are overly secure, with HTTPS enforced everywhere. Most resources in fact do not need it. There's nothing wrong about using plain HTTP in most scenarios. Any half sain person understands that if you just want to read the news or even sh1tpost on reddit it should not involve cryptography (which introduces great overhead and a big number of errors). Well, at least not by default. Think twice prior to enabling HTTPS, chances are you don't need it.
88
81
However, if you transmit any data without HTTPS **in theory** it could be intercepted. So in a nutshell, if you use compactbro server-side and you live in a free/democratic country, there's not much to worry about. Yet in case you are concerned about government surveillance or are just a little bit paranoid, there's an option to use HTTPS built into Compactbro. It could come handy if you want compactbro to become a drop-in replacement for `i.reddit.com`. Below are the steps to achieve this. The manual is (work-in-progress), it covers only Windows+Firefox setup but it should work basically anywhere with little changes.
89
82
90
-
First of all, you need to specify make changes in your hosts file, on windows it is located at `C:\Windows\System32\drivers\etc/`. Open `hosts` file with text editor of your choice and add the following:
91
-
```
92
-
127.0.0.1 i.reddit.com
93
-
```
94
-
if you use compactbro on a remote server change `127.0.0.1` to its IP, below we use `127.0.0.1` as a placeholder, don't forget to edit it if needed.
95
-
Then save and exit. You can verify it: (press Win+r => type `cmd` => enter and type following command):
96
-
```
97
-
ping i.reddit.com
98
-
```
99
-
You should see `127.0.0.1` IP address; sometimes changes require reboot to become active.
100
-
101
-
The HTTPS however isn't operational yet, since any SSL connection requires a certificate. Install OpenSSL (there are binaries available for most platforms, refer to their site for more info) and generate SSL certs:
83
+
To generate keys, install OpenSSL (there are binaries available for most platforms, refer to their site for more info) and generate SSL certs:
This will generate self-signed SSL certificate, which you have to import to your browser as a trusted root CA (for firefox: `settings` => `advanced` => `certificates` => `import`). Most likely the browser still won't allow you to visit `https://i.reddit.com/*` pages due to transport security (because the certificate had changed and could not be verified). Find your firefox profile folder and look for `SiteSecurityServiceState.txt` file. Although this is considered insecure you can simply delete/rename it or find records for `i.reddit.com` and remove them.
93
+
This will generate self-signed SSL certificate, which you have to import to your browser as a trusted root CA (for firefox: `settings` => `advanced` => `certificates` => `import`).
112
94
113
95
Then open your `compactbro.toml` config file. All HTTPS settings are stored in the respective section which should look like this (you can append it to the end of the file):
114
96
```toml
@@ -119,7 +101,8 @@ KeyPath = "/certs/key.pem"
119
101
CRTPath = "/certs/certificate.pem"
120
102
```
121
103
122
-
You will need to "Add security exception" when visiting https://i.reddit.com for the first time. During these operations you will see a lot of security here-be-dragons-like warnings. In general it is safe to ignore them since you are dealing with certificates you just signed yourself, but note that you do everything at your own risk.
104
+
You will need to "Add security exception" when visiting https://localhost/ for the first time. During these operations you will see a lot of security here-be-dragons-like warnings. In general it is safe to ignore them since you are dealing with certificates you just signed yourself, but note that you do everything at your own risk.
0 commit comments