diff options
author | lolcat <will@lolcat.ca> | 2023-09-03 22:44:46 -0400 |
---|---|---|
committer | lolcat <will@lolcat.ca> | 2023-09-03 22:44:46 -0400 |
commit | bef83bb3c8819532b1728d642913f5a4c41ab324 (patch) | |
tree | 0e4eb1e812e8ecf5285dba7bc36e50509cc32973 | |
parent | c8ab934b108c83a391583ea8ae7f717c9753926e (diff) | |
parent | 77293818cd213ec0ad07c573d298fff9cd5b357d (diff) |
readme
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | README.md | 122 | ||||
-rw-r--r-- | about.php | 22 | ||||
-rw-r--r-- | banner/4get-default.png | bin | 0 -> 30756 bytes | |||
-rw-r--r-- | banner/aves.png | bin | 25271 -> 0 bytes | |||
-rw-r--r-- | banner/aves_2.png | bin | 14191 -> 0 bytes | |||
-rw-r--r-- | banner/bibblebop.png | bin | 14791 -> 0 bytes | |||
-rw-r--r-- | banner/birds_birds_birdsw.jpg | bin | 6394 -> 0 bytes | |||
-rw-r--r-- | banner/birds_birds_birdsw_2.jpg | bin | 6706 -> 0 bytes | |||
-rw-r--r-- | banner/birds_birds_birdsw_3.jpg | bin | 6096 -> 0 bytes | |||
-rw-r--r-- | banner/birds_birds_birdsw_4.jpg | bin | 9643 -> 0 bytes | |||
-rw-r--r-- | banner/cynic.png | bin | 68909 -> 0 bytes | |||
-rw-r--r-- | banner/deek.png | bin | 1373 -> 0 bytes | |||
-rw-r--r-- | banner/deekchat.gif | bin | 2480 -> 0 bytes | |||
-rw-r--r-- | banner/eagle.png | bin | 5846 -> 0 bytes | |||
-rw-r--r-- | banner/eagle2.png | bin | 1180 -> 0 bytes | |||
-rw-r--r-- | banner/eagle3.jpg | bin | 11427 -> 0 bytes | |||
-rw-r--r-- | banner/eddd_1.png | bin | 43851 -> 0 bytes | |||
-rw-r--r-- | banner/eddd_2.png | bin | 10651 -> 0 bytes | |||
-rw-r--r-- | banner/eddd_3.png | bin | 13687 -> 0 bytes | |||
-rw-r--r-- | banner/gnuwu.png | bin | 6666 -> 0 bytes | |||
-rw-r--r-- | banner/gnuwu_2.png | bin | 33693 -> 0 bytes | |||
-rw-r--r-- | banner/horse.png | bin | 20672 -> 0 bytes | |||
-rw-r--r-- | banner/linucks.jpg | bin | 60524 -> 0 bytes | |||
-rw-r--r-- | banner/real_nig_3.jpg | bin | 64618 -> 0 bytes | |||
-rw-r--r-- | banner/sec.png | bin | 18421 -> 0 bytes | |||
-rw-r--r-- | banner/tagmachine.png | bin | 10717 -> 0 bytes | |||
-rw-r--r-- | data/instances.php | 47 |
28 files changed, 184 insertions, 12 deletions
@@ -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 @@ -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` - - @@ -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">< 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 Binary files differnew file mode 100644 index 0000000..5b549d0 --- /dev/null +++ b/banner/4get-default.png diff --git a/banner/aves.png b/banner/aves.png Binary files differdeleted file mode 100644 index 2b28e79..0000000 --- a/banner/aves.png +++ /dev/null diff --git a/banner/aves_2.png b/banner/aves_2.png Binary files differdeleted file mode 100644 index 30f17a6..0000000 --- a/banner/aves_2.png +++ /dev/null diff --git a/banner/bibblebop.png b/banner/bibblebop.png Binary files differdeleted file mode 100644 index 0fe95c4..0000000 --- a/banner/bibblebop.png +++ /dev/null diff --git a/banner/birds_birds_birdsw.jpg b/banner/birds_birds_birdsw.jpg Binary files differdeleted file mode 100644 index d820465..0000000 --- a/banner/birds_birds_birdsw.jpg +++ /dev/null diff --git a/banner/birds_birds_birdsw_2.jpg b/banner/birds_birds_birdsw_2.jpg Binary files differdeleted file mode 100644 index a8d9164..0000000 --- a/banner/birds_birds_birdsw_2.jpg +++ /dev/null diff --git a/banner/birds_birds_birdsw_3.jpg b/banner/birds_birds_birdsw_3.jpg Binary files differdeleted file mode 100644 index 239f6c8..0000000 --- a/banner/birds_birds_birdsw_3.jpg +++ /dev/null diff --git a/banner/birds_birds_birdsw_4.jpg b/banner/birds_birds_birdsw_4.jpg Binary files differdeleted file mode 100644 index ba7d637..0000000 --- a/banner/birds_birds_birdsw_4.jpg +++ /dev/null diff --git a/banner/cynic.png b/banner/cynic.png Binary files differdeleted file mode 100644 index 05c728b..0000000 --- a/banner/cynic.png +++ /dev/null diff --git a/banner/deek.png b/banner/deek.png Binary files differdeleted file mode 100644 index 850416d..0000000 --- a/banner/deek.png +++ /dev/null diff --git a/banner/deekchat.gif b/banner/deekchat.gif Binary files differdeleted file mode 100644 index 604e2fa..0000000 --- a/banner/deekchat.gif +++ /dev/null diff --git a/banner/eagle.png b/banner/eagle.png Binary files differdeleted file mode 100644 index 705cf6d..0000000 --- a/banner/eagle.png +++ /dev/null diff --git a/banner/eagle2.png b/banner/eagle2.png Binary files differdeleted file mode 100644 index d5bdda6..0000000 --- a/banner/eagle2.png +++ /dev/null diff --git a/banner/eagle3.jpg b/banner/eagle3.jpg Binary files differdeleted file mode 100644 index 5c3d44d..0000000 --- a/banner/eagle3.jpg +++ /dev/null diff --git a/banner/eddd_1.png b/banner/eddd_1.png Binary files differdeleted file mode 100644 index 4dd69b0..0000000 --- a/banner/eddd_1.png +++ /dev/null diff --git a/banner/eddd_2.png b/banner/eddd_2.png Binary files differdeleted file mode 100644 index c2a59d1..0000000 --- a/banner/eddd_2.png +++ /dev/null diff --git a/banner/eddd_3.png b/banner/eddd_3.png Binary files differdeleted file mode 100644 index 8531a88..0000000 --- a/banner/eddd_3.png +++ /dev/null diff --git a/banner/gnuwu.png b/banner/gnuwu.png Binary files differdeleted file mode 100644 index 6b95ca4..0000000 --- a/banner/gnuwu.png +++ /dev/null diff --git a/banner/gnuwu_2.png b/banner/gnuwu_2.png Binary files differdeleted file mode 100644 index 1612132..0000000 --- a/banner/gnuwu_2.png +++ /dev/null diff --git a/banner/horse.png b/banner/horse.png Binary files differdeleted file mode 100644 index e4cd7f5..0000000 --- a/banner/horse.png +++ /dev/null diff --git a/banner/linucks.jpg b/banner/linucks.jpg Binary files differdeleted file mode 100644 index 3148c6f..0000000 --- a/banner/linucks.jpg +++ /dev/null diff --git a/banner/real_nig_3.jpg b/banner/real_nig_3.jpg Binary files differdeleted file mode 100644 index 60bac39..0000000 --- a/banner/real_nig_3.jpg +++ /dev/null diff --git a/banner/sec.png b/banner/sec.png Binary files differdeleted file mode 100644 index b02b978..0000000 --- a/banner/sec.png +++ /dev/null diff --git a/banner/tagmachine.png b/banner/tagmachine.png Binary files differdeleted file mode 100644 index 2fca9a2..0000000 --- a/banner/tagmachine.png +++ /dev/null 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 |