summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--README.md122
-rw-r--r--about.php22
-rw-r--r--banner/4get-default.pngbin0 -> 30756 bytes
-rw-r--r--banner/aves.pngbin25271 -> 0 bytes
-rw-r--r--banner/aves_2.pngbin14191 -> 0 bytes
-rw-r--r--banner/bibblebop.pngbin14791 -> 0 bytes
-rw-r--r--banner/birds_birds_birdsw.jpgbin6394 -> 0 bytes
-rw-r--r--banner/birds_birds_birdsw_2.jpgbin6706 -> 0 bytes
-rw-r--r--banner/birds_birds_birdsw_3.jpgbin6096 -> 0 bytes
-rw-r--r--banner/birds_birds_birdsw_4.jpgbin9643 -> 0 bytes
-rw-r--r--banner/cynic.pngbin68909 -> 0 bytes
-rw-r--r--banner/deek.pngbin1373 -> 0 bytes
-rw-r--r--banner/deekchat.gifbin2480 -> 0 bytes
-rw-r--r--banner/eagle.pngbin5846 -> 0 bytes
-rw-r--r--banner/eagle2.pngbin1180 -> 0 bytes
-rw-r--r--banner/eagle3.jpgbin11427 -> 0 bytes
-rw-r--r--banner/eddd_1.pngbin43851 -> 0 bytes
-rw-r--r--banner/eddd_2.pngbin10651 -> 0 bytes
-rw-r--r--banner/eddd_3.pngbin13687 -> 0 bytes
-rw-r--r--banner/gnuwu.pngbin6666 -> 0 bytes
-rw-r--r--banner/gnuwu_2.pngbin33693 -> 0 bytes
-rw-r--r--banner/horse.pngbin20672 -> 0 bytes
-rw-r--r--banner/linucks.jpgbin60524 -> 0 bytes
-rw-r--r--banner/real_nig_3.jpgbin64618 -> 0 bytes
-rw-r--r--banner/sec.pngbin18421 -> 0 bytes
-rw-r--r--banner/tagmachine.pngbin10717 -> 0 bytes
-rw-r--r--data/instances.php47
28 files changed, 184 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index 2930bc8..7498cf4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
lib/test.html
lib/postdata.json
lib/nextpage.json
@@ -21,3 +22,7 @@ scraper/soundcloud.json
scraper/mp3-pm.html
banner/*
!banner/*default*
+=======
+banner/*
+!banner/*default*
+>>>>>>> 77293818cd213ec0ad07c573d298fff9cd5b357d
diff --git a/README.md b/README.md
index 41e4fb3..f4d9b3d 100644
--- a/README.md
+++ b/README.md
@@ -34,10 +34,15 @@ https://4get.ca
- Google
- Mojeek
+5. Music
+ - SoundCloud
+
More scrapers are coming soon. I currently want to add Hackernews, Qwant and find a way to scrape Yandex web without those fucking captchas. A shopping, music and files tab is also in my todo list.
# Setup
-This section is still to-do. You will need to figure shit out for some of the apache2 stuff. Everything else should be OK.
+This section is still to-do. You will need to figure shit out for some of the apache2 and nginx stuff. Everything else should be OK.
+
+## Apache
Login as root.
@@ -69,9 +74,59 @@ chmod 777 -R icons/
Restart the service for good measure... `service apache2 restart`
+## NGINX
+
+Login as root.
+
+Create a file in `/etc/nginx/sites-avaliable/` called `4get.conf` or any name you want and put this into the file:
+
+```
+server {
+ # DO YOU REALLY NEED TO LOG SEARCHES?
+ access_log /dev/null;
+ error_log /dev/null;
+ # Change this if you have 4get in other folder.
+ root /var/www/4get;
+ # Change yourdomain by your domain lol
+ server_name www.yourdomain.com yourdomain.com;
+
+ location @php {
+ try_files $uri.php $uri/index.php =404;
+ # Change the unix socket address if it's different for you.
+ fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
+ fastcgi_index index.php;
+ # Change this to `fastcgi_params` if you use a debian based distro.
+ include fastcgi.conf;
+ fastcgi_intercept_errors on;
+ }
+
+ location / {
+ try_files $uri @php;
+ }
+
+ location ~* ^(.*)\.php$ {
+ return 301 $1;
+ }
+
+ listen 80;
+}
+```
+
+That is a very basic config so you will need to adapt it to your needs in case you have a more complicated nginx configuration. Anyways, you can see a real world example [here](https://git.zzls.xyz/Fijxu/etc-configs/src/branch/selfhost/nginx/sites-available/4get.zzls.xyz.conf)
+
+After you save the file you will need to do a symlink of the `4get.conf` file to `/etc/nignx/sites-enabled/`, you can do it with this command:
+
+```sh
+ln -s /etc/nginx/sites-available/4get.conf /etc/nginx/sites-available/4get.conf
+```
+
+Now test the nginx config with `nginx -t`, if it says that everything is good, restart nginx using `systemctl restart nginx`
+
## Setup encryption
I'm schizoid (as you should) so I'm gonna setup 4096bit key encryption. To complete this step, you need a domain or subdomain in your possession. Make sure that the DNS shit for your domain has propagated properly before continuing, because certbot is a piece of shit that will error out the ass once you reach 5 attempts under an hour.
+### Apache
+
```sh
certbot --apache --rsa-key-size 4096 -d www.yourdomain.com -d yourdomain.com
```
@@ -98,11 +153,72 @@ Restart again
service apache2 restart
```
-You'll probably want to setup a tor address at this point, but I'm too lazy to put instructions here.
+### NGINX
+
+Generate a certificate for the domain using:
+
+```sh
+certbot --nginx --key-type ecdsa -d www.yourdomain.com -d yourdomain.com
+```
+(Remember to install the nginx certbot plugin!!!)
+
+After doing that certbot should deploy the certificate automatically into your 4get nginx config file. It should be ready to use at that point.
Ok bye!!!
+## Tor Setup
+
+1. Install tor.
+2. Open `/etc/tor/torrc`
+3. Go to the line that contains `HiddenServiceDir` and `HiddenServicePort`
+4. Uncomment those 2 lines and set them like this:
+ ```
+ HiddenServiceDir /var/lib/tor/4get
+ HiddenServicePort 80 127.0.0.1:80
+ ```
+5. Start the tor service using `systemctl start tor`
+6. Wait some seconds...
+7. Login as root and execute this command: `cat /var/lib/tor/4get/hostname`
+8. That is your onion address.
+
+After you get your onion address you will need to configure your Apache or Nginx config or you will get 404 errors.
+
+I don't know to configure this shit on Apache so here is the NGINX one.
+### NGINX
+
+Open your current 4get NGINX config (that is under `/etc/nginx/sites-available/`) and append this to the end of the file:
+
+```
+server {
+ access_log /dev/null;
+ error_log /dev/null;
+
+ listen 80;
+ server_name <youronionaddress>;
+ root /var/www/4get;
+
+ location @php {
+ try_files $uri.php $uri/index.php =404;
+ # Change the unix socket address if it's different for you.
+ fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
+ fastcgi_index index.php;
+ # Change this to `fastcgi_params` if you use a debian based distro.
+ include fastcgi.conf;
+ fastcgi_intercept_errors on;
+ }
+
+ location / {
+ try_files $uri @php;
+ }
+
+ location ~* ^(.*)\.php$ {
+ return 301 $1;
+ }
+}
+```
+
+Obviously replace `<youronionaddress>` by the onion address of `/var/lib/tor/4get/hostname` and then check if the nginx config is valid with `nginx -t` if yes, then restart the nginx service and try opening the onion address into the Tor Browser. You can see a real world example [here](https://git.zzls.xyz/Fijxu/etc-configs/src/branch/selfhost/nginx/sites-available/4get.zzls.xyz.conf)
## Docker Install
@@ -116,5 +232,3 @@ docker run -d -p 80:80 -p 443:443 -e FOURGET_SERVER_NAME="4get.ca" -e FOURGET_SE
replace enviroment variables FOURGET_SERVER_NAME and FOURGET_SERVER_ADMIN_EMAIL with relevant values
the certs directory expects files named `cert.pem`, `chain.pem`, `privkey.pem`
-
-
diff --git a/about.php b/about.php
index 2b3d316..77c9ab1 100644
--- a/about.php
+++ b/about.php
@@ -18,6 +18,19 @@ echo
'</head>' .
'<body class="' . $frontend->getthemeclass(false) . 'about">';
+include "data/instances.php";
+$compiledinstancelist = "";
+foreach ($instancelist as $instance)
+{
+ $compiledinstancelist .= "<tr> <td>".$instance["name"]."</td>";
+ $compiledinstancelist .= "<td> <a href=\"".$instance["address"]["uri"]."\">".$instance["address"]["displayname"]."</a>";
+ foreach ($instance["altaddresses"] as $alt)
+ {
+ $compiledinstancelist .= "<a href=\"".$alt["uri"]."\">(".$alt["displayname"].")</a></td>";
+ }
+ $compiledinstancelist .= "</tr>";
+}
+
$left =
'<a href="/" class="link">&lt; Go back</a>
@@ -87,14 +100,7 @@ $left =
<td>Name</td>
<td>Address</td>
</tr>
- <tr>
- <td>lolcat\'s instance (master)</td>
- <td><a href="https://4get.ca">4get.ca</a><a href="http://4getwebfrq5zr4sxugk6htxvawqehxtdgjrbcn2oslllcol2vepa23yd.onion">(tor)</a></td>
- </tr>
- <tr>
- <td>zzls\'s instance</td>
- <td><a href="https://4get.zzls.xyz/">4get.zzls.xyz</a><a href="http://4get.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion">(tor)</a></td>
- </tr>
+ '.$compiledinstancelist.'
</table>
<a href="#schizo"><h2 id="schizo">How can I trust you?</h2></a>
diff --git a/banner/4get-default.png b/banner/4get-default.png
new file mode 100644
index 0000000..5b549d0
--- /dev/null
+++ b/banner/4get-default.png
Binary files differ
diff --git a/banner/aves.png b/banner/aves.png
deleted file mode 100644
index 2b28e79..0000000
--- a/banner/aves.png
+++ /dev/null
Binary files differ
diff --git a/banner/aves_2.png b/banner/aves_2.png
deleted file mode 100644
index 30f17a6..0000000
--- a/banner/aves_2.png
+++ /dev/null
Binary files differ
diff --git a/banner/bibblebop.png b/banner/bibblebop.png
deleted file mode 100644
index 0fe95c4..0000000
--- a/banner/bibblebop.png
+++ /dev/null
Binary files differ
diff --git a/banner/birds_birds_birdsw.jpg b/banner/birds_birds_birdsw.jpg
deleted file mode 100644
index d820465..0000000
--- a/banner/birds_birds_birdsw.jpg
+++ /dev/null
Binary files differ
diff --git a/banner/birds_birds_birdsw_2.jpg b/banner/birds_birds_birdsw_2.jpg
deleted file mode 100644
index a8d9164..0000000
--- a/banner/birds_birds_birdsw_2.jpg
+++ /dev/null
Binary files differ
diff --git a/banner/birds_birds_birdsw_3.jpg b/banner/birds_birds_birdsw_3.jpg
deleted file mode 100644
index 239f6c8..0000000
--- a/banner/birds_birds_birdsw_3.jpg
+++ /dev/null
Binary files differ
diff --git a/banner/birds_birds_birdsw_4.jpg b/banner/birds_birds_birdsw_4.jpg
deleted file mode 100644
index ba7d637..0000000
--- a/banner/birds_birds_birdsw_4.jpg
+++ /dev/null
Binary files differ
diff --git a/banner/cynic.png b/banner/cynic.png
deleted file mode 100644
index 05c728b..0000000
--- a/banner/cynic.png
+++ /dev/null
Binary files differ
diff --git a/banner/deek.png b/banner/deek.png
deleted file mode 100644
index 850416d..0000000
--- a/banner/deek.png
+++ /dev/null
Binary files differ
diff --git a/banner/deekchat.gif b/banner/deekchat.gif
deleted file mode 100644
index 604e2fa..0000000
--- a/banner/deekchat.gif
+++ /dev/null
Binary files differ
diff --git a/banner/eagle.png b/banner/eagle.png
deleted file mode 100644
index 705cf6d..0000000
--- a/banner/eagle.png
+++ /dev/null
Binary files differ
diff --git a/banner/eagle2.png b/banner/eagle2.png
deleted file mode 100644
index d5bdda6..0000000
--- a/banner/eagle2.png
+++ /dev/null
Binary files differ
diff --git a/banner/eagle3.jpg b/banner/eagle3.jpg
deleted file mode 100644
index 5c3d44d..0000000
--- a/banner/eagle3.jpg
+++ /dev/null
Binary files differ
diff --git a/banner/eddd_1.png b/banner/eddd_1.png
deleted file mode 100644
index 4dd69b0..0000000
--- a/banner/eddd_1.png
+++ /dev/null
Binary files differ
diff --git a/banner/eddd_2.png b/banner/eddd_2.png
deleted file mode 100644
index c2a59d1..0000000
--- a/banner/eddd_2.png
+++ /dev/null
Binary files differ
diff --git a/banner/eddd_3.png b/banner/eddd_3.png
deleted file mode 100644
index 8531a88..0000000
--- a/banner/eddd_3.png
+++ /dev/null
Binary files differ
diff --git a/banner/gnuwu.png b/banner/gnuwu.png
deleted file mode 100644
index 6b95ca4..0000000
--- a/banner/gnuwu.png
+++ /dev/null
Binary files differ
diff --git a/banner/gnuwu_2.png b/banner/gnuwu_2.png
deleted file mode 100644
index 1612132..0000000
--- a/banner/gnuwu_2.png
+++ /dev/null
Binary files differ
diff --git a/banner/horse.png b/banner/horse.png
deleted file mode 100644
index e4cd7f5..0000000
--- a/banner/horse.png
+++ /dev/null
Binary files differ
diff --git a/banner/linucks.jpg b/banner/linucks.jpg
deleted file mode 100644
index 3148c6f..0000000
--- a/banner/linucks.jpg
+++ /dev/null
Binary files differ
diff --git a/banner/real_nig_3.jpg b/banner/real_nig_3.jpg
deleted file mode 100644
index 60bac39..0000000
--- a/banner/real_nig_3.jpg
+++ /dev/null
Binary files differ
diff --git a/banner/sec.png b/banner/sec.png
deleted file mode 100644
index b02b978..0000000
--- a/banner/sec.png
+++ /dev/null
Binary files differ
diff --git a/banner/tagmachine.png b/banner/tagmachine.png
deleted file mode 100644
index 2fca9a2..0000000
--- a/banner/tagmachine.png
+++ /dev/null
Binary files differ
diff --git a/data/instances.php b/data/instances.php
new file mode 100644
index 0000000..aeb0707
--- /dev/null
+++ b/data/instances.php
@@ -0,0 +1,47 @@
+<?php
+/*
+this file exists to separate instance data from the actual about page
+ HTML, and to make it easier to add/modify instances cleanly.
+*/
+$instancelist = [
+ [
+ "name" => "lolcat's instance (master)",
+ "address" => [
+ "uri" => "https://4get.ca/",
+ "displayname" => "4get.ca"
+ ],
+ "altaddresses" => [ // all these address blocks will be linked in parentheses
+ [ // e.g. 4get.ca (tor) (i2p) etc.
+ "uri" => "http://4getwebfrq5zr4sxugk6htxvawqehxtdgjrbcn2oslllcol2vepa23yd.onion",
+ "displayname" => "tor"
+ ]
+ ]
+ ],
+ [
+ "name" => "zzls's instance",
+ "address" => [
+ "uri" => "https://4get.zzls.xyz/",
+ "displayname" => "4get.zzls.xyz"
+ ],
+ "altaddresses" => [
+ [
+ "uri" => "http://4get.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion",
+ "displayname" => "tor"
+ ]
+ ]
+ ],
+ [
+ "name" => "4get on a silly computer",
+ "address" => [
+ "uri" => "https://4get.silly.computer",
+ "displayname" => "4get.silly.computer"
+ ],
+ "altaddresses" => [
+ [
+ "uri" => "https://4get.cynic.moe/",
+ "displayname" => "fallback domain"
+ ]
+ ]
+ ],
+]
+?> \ No newline at end of file