- # protocol list:
- # raw_ip, http, https, socks4, socks5, socks4a, socks5_hostname
- socks5:1.1.1.1:juicy:cloaca00
- http:1.3.3.7::
- raw_ip::::
- ```
-3. Go to the **main configuration file**. Then, find which website you want to setup a proxy for.
-4. Modify the value `false` with `"myproxy"`, with quotes included and the semicolon at the end.
-
-Done! The scraper you chose should now be using the rotating proxies. When asking for the next page of results, it will use the same proxy to avoid detection!
-
-## Important!
-If you ever test out a `socks5` proxy locally on your machine and find out it works but doesn't on your server, try supplying the `socks5_hostname` protocol instead. Hopefully this tip can save you 3 hours of your life!
diff --git a/docs/docker.md b/docs/docker.md
deleted file mode 100644
index 6a94197..0000000
--- a/docs/docker.md
+++ /dev/null
@@ -1,152 +0,0 @@
-#### Install guide for Docker
-
-When using docker container any environment variables prefixed with `FOURGET_` will be added to the generated config located at `/var/www/html/4get/data/config.php`
-
-When lists of data is expected in [data/config.php](../data/config.php), such as `INSTANCES`, you can pass in a comma separated string via environment variable.
-
-Example:
-`FOURGET_INSTANCES="https://4get.ca,https://domain.tld"`
-
-#### Special environment variables
-
-| Name | value | Example |
-| - | - | - |
-| FOURGET_PROTO | "http" or "https" | "https" |
-
-
-#### Important directories
-
-| Mountpoint | Description |
-| - | - |
-| /etc/4get/certs | SSL certificate directory |
-| /var/www/html/4get/banner | Custom Banners directory |
-| /var/www/html/4get/data/captcha | Captcha dataset |
-
-
-the certificate directory `/etc/4get/certs` expects files named `fullchain.pem` and `privkey.pem`
-
-The captcha dataset should have a subdirectory for each category. In each category, images should be named from 1.png to X.png, and be 100x100 in size.
-
-example directory structure:
-
-```
-captcha/
- birds/
- 1.png
- 2.png
- 3.png
- anime/
- 1.png
- 2.png
-```
-
-For more information on configuration view [data/config.php](../data/config.php)
-
-#### Usage
-
-You can start 4get with
-
-```
-docker run -d -p 80:80 -e FOURGET_SERVER_NAME="4get.ca" -e FOURGET_PROTO="http" luuul/4get:latest
-```
-
-...Or with SSL:
-
-```
-docker run -d -p 443:443 -e FOURGET_SERVER_NAME="4get.ca" -e FOURGET_PROTO="https" -v /etc/letsencrypt/live/domain.tld:/etc/4get/certs luuul/4get:latest
-```
-
-
-#### With Docker Compose
-
-Replace relevant values and start with `docker compose up -d`
-
-##### HTTP
-
-```
-# docker-compose.yaml
-version: "3.7"
-
-services:
- fourget:
- image: luuul/4get:latest
- restart: unless-stopped
- environment:
- - FOURGET_PROTO=http
- - FOURGET_SERVER_NAME=4get.ca
-
- ports:
- - "80:80"
-```
-
-##### HTTPS
-
-```
-# docker-compose.yaml
-version: "3.7"
-
-services:
- fourget:
- image: luuul/4get:latest
- restart: unless-stopped
- environment:
- - FOURGET_PROTO=https
- - FOURGET_SERVER_NAME=4get.ca
-
- ports:
- - "80:80"
- - "443:443"
-
- volumes:
- - /etc/letsencrypt/live/domain.tld:/etc/4get/certs
-```
-
-##### Captcha Enabled
-
-Set `FOURGET_BOT_PROTECTION=1` and mount a directory containing captcha files to `/var/www/html/4get/data/captcha`
-
-
-```
-# docker-compose.yaml
-version: "3.7"
-
-services:
- fourget:
- image: luuul/4get:latest
- restart: unless-stopped
- environment:
- - FOURGET_PROTO=http
- - FOURGET_SERVER_NAME=4get.ca
- - FOURGET_BOT_PROTECTION=1
-
- ports:
- - "80:80"
-
- volumes:
- - ./captcha:/var/www/html/4get/data/captcha
-```
-
-##### Custom Banners
-
-```
-# docker-compose.yaml
-version: "3.7"
-
-services:
- fourget:
- image: luuul/4get:latest
- restart: unless-stopped
- environment:
- - FOURGET_PROTO=http
- - FOURGET_SERVER_NAME=4get.ca
-
- ports:
- - "80:80"
-
- volumes:
- - ./banners:/var/www/html/4get/banner
-```
-
-##### Tor
-
-You can route incoming and outgoing requests through tor by following [docker tor documentation](./docker_tor.md)
diff --git a/docs/docker_tor.md b/docs/docker_tor.md
deleted file mode 100644
index 21ae698..0000000
--- a/docs/docker_tor.md
+++ /dev/null
@@ -1,174 +0,0 @@
-#### Overview
-
-This guide will walk you through using 4get in docker with tor running in
-another container. This guide covers how to make outgoing and incoming traffic
-go through tor.
-
-
-##### Starting tor
-
-This guide will use `luuul/tor` which is a simple image that installs and starts
-tor in an alpine container SocksPort set to 0.0.0.0:9050
-
-For additional configuration you can mount your own `torrc` file to `/etc/tor/torrc`
-Remember to set `SocksPort 0.0.0.0:9050` otherwise communication between containers won't work.
-
-You will see this warning `Other people on the Internet might find your computer and use it as an open proxy. Please don't allow this unless you have a good reason.`
-
-This setting is in the torrc of this `luuul/tor` image. If you mount your own torrc then that will be read instead.
-
-If you use `SocksPort 0.0.0.0:9050` anywhere make sure it is inaccessible to outside world.
-As long as you don't publish this port (-p or --publish) it shouldn't be accessible to outside world.
-
-
-Tor always starts a socks5 proxy on port 9050 by default.
-
-
-##### Route outgoing requests over tor
-
-create a folder named `proxies` and create a file in that folder named `onion.txt`
-this folder will be mounted to `/var/www/html/4get/data/proxies/`
-
-directory structure
-
-```
-proxies/
- onion.txt
-```
-
-put the following content into `onion.txt`
-More information about this file available in [proxy documentation](./configure.md#Proxies).
-
-```
-# proxies/onion.txt
-# Note: "tor" is the service name of luuul/tor in docker-compose.yaml
-socks5:tor:9050::
-```
-
-create a file named `docker-compose.yaml` with the following content
-This docker compose file will run `luuul/tor` and `luuul/4get` and configure 4get to load `proxies/onion.txt` for outgoing requests.
-
-If you mount your own torrc make sure you include `SocksPort 0.0.0.0:9050`
-Read the warning in [starting tor](./docker_tor.md#Starting-tor)!
-
-```
-# docker-compose.yaml
-version: "3.7"
-
-services:
- tor:
- image: luuul/tor:latest
- restart: unless-stopped
- # Warning: Do not publish port 9050
-
- fourget:
- image: luuul/4get:latest
- restart: unless-stopped
- environment:
- - FOURGET_PROTO=http
- - FOURGET_SERVER_NAME=4get.ca
- # loads proxies/onion.txt
- - FOURGET_PROXY_DDG="onion"
- - FOURGET_PROXY_BRAVE="onion"
- - FOURGET_PROXY_FB="onion"
- - FOURGET_PROXY_GOOGLE="onion"
- - FOURGET_PROXY_QWANT="onion"
- - FOURGET_PROXY_MARGINALIA="onion"
- - FOURGET_PROXY_MOJEEK="onion"
- - FOURGET_PROXY_SC="onion"
- - FOURGET_PROXY_SPOTIFY="onion"
- - FOURGET_PROXY_WIBY="onion"
- - FOURGET_PROXY_CURLIE="onion"
- - FOURGET_PROXY_YT="onion"
- - FOURGET_PROXY_YEP="onion"
- - FOURGET_PROXY_PINTEREST="onion"
- - FOURGET_PROXY_SEZNAM="onion"
- - FOURGET_PROXY_NAVER="onion"
- - FOURGET_PROXY_GREPPR="onion"
- - FOURGET_PROXY_CROWDVIEW="onion"
- - FOURGET_PROXY_MWMBL="onion"
- - FOURGET_PROXY_FTM="onion"
- - FOURGET_PROXY_IMGUR="onion"
- - FOURGET_PROXY_YANDEX_W="onion"
- - FOURGET_PROXY_YANDEX_I="onion"
- - FOURGET_PROXY_YANDEX_V="onion"
-
- ports:
- - "80:80"
-
- depends_on:
- - tor
-
- volumes:
- - ./proxies/:/var/www/html/4get/data/proxies/
-```
-
-You can now start both containers with `docker compose up -d`
-
-
-#### Route incoming requests over tor
-
-This will create a hidden service that will be accessible via an onion link.
-
-1. create a file named `torrc` with the following content
-
-```
-# torrc
-User root
-
-HiddenServiceDir /var/lib/tor/4get/
-HiddenServicePort 80 fourget:80
-
-```
-
-2. create a folder named "4get" which will contain your hidden service keys.
-
-Make sure it has permission `600` otherwise you will get an error
-
-> Permissions on directory /var/lib/tor/4get/ are too permissive.
-
-you can change permissions with
-
-```
-chmod 600 4get
-```
-
-3. Create a folder named "data" that will contain your DataDirectory
-
-
-4. create a `docker-compose.yaml` with the following content
-
-```
-# docker-compose.yaml
-version: "3.7"
-
-services:
- fourget:
- image: luuul/4get:latest
- restart: unless-stopped
- environment:
- - FOURGET_PROTO=http
- - FOURGET_SERVER_NAME=4get.ca
-
- depends_on:
- - tor
-
- tor:
- image: luuul/tor:latest
- restart: unless-stopped
-
- volumes:
- - ./torrc:/etc/tor/torrc
- - ./4get:/var/lib/tor/4get
- - ./data:/root/.tor
-```
-
-5. You can now start both with `docker compose up -d`
-
-6. print onion hostname with
-
-```
-docker exec `docker ps -qf ancestor=luuul/tor:latest` sh -c "cat /var/lib/tor/4get/hostname"
-```
-
-or `cat ./4get/hostname`
diff --git a/docs/nginx.md b/docs/nginx.md
deleted file mode 100644
index 82fc434..0000000
--- a/docs/nginx.md
+++ /dev/null
@@ -1,194 +0,0 @@
-Installation of 4get in NGINX
-
-
-
-> NOTE: As the previous version stated, it is better to follow the
Apache2 guide instead of the Nginx one.
-
-> NOTE: This is going to guess that you're using either a
Arch-based system or a
Debian-based system, although you can still follow it with minor issues.
-
-
-
-1. Login as root.
-2. Upgrade your system:
- * On Arch-based, run `pacman -Syu`.
- * On Debian-based, run `apt update`, then `apt upgrade`.
-3. Install the following dependencies:
- * `git`: So you can clone this repository.
- * `nginx`: So you can run Nginx.
- * `php-fpm`: This is what allows Nginx to run *(and show)* PHP files.
- * `php-imagick`, `imagemagick`: Image manipulation.
- * `php-apcu`: Caching module.
- * `php-curl`, `curl`: Transferring data with URLs.
- * `php-mbstring`: String utils.
- * `certbot`, `certbot-nginx`: ACME client. Used to create SSL certificates.
- * In Arch-based distributions:
- * `pacman -S nginx certbot php-imagick certbot-nginx imagemagick curl php-apcu git`
- * In Debian-based distributions:
- * `apt install php-mbstring nginx certbot-nginx certbot php-imagick imagemagick php-curl curl php-apcu git`
-
-
-
-> IMPORTANT: `php-curl`, `php-mbstring` might be a Debian-only package, but this needs further fact checking.
-
-> IMPORTANT: If having issues with `php-apcu` or `libsodium`, go to [^1].
-
-
-
-4. `cd` to `/etc/nginx` and make the `conf.d/` directory if it doesn't exist:
- * Again, this guesses you're logged in as root.
- ```sh
- cd /etc/nginx
- ls -l conf.d/ # If ls shows conf.d, then it means it exists.
- # If it does not, run:
- mkdir conf.d
- ```
-5. Make a file inside `conf.d/` called `4get.conf` and place the following content:
- * First run `touch conf.d/4get.conf` then `nano conf.d/4get.conf` to open the nano editor: *(Install it if it is not, or use another editor.)*
- ```sh
- server {
- access_log /dev/null; # Search log file. Do you really need to?
- error_log /dev/null; # Error log file.
-
- # Change this if you have 4get in another folder.
- root /var/www/4get;
- # Change 'yourdomain' to your domain.
- server_name www.yourdomain.com yourdomain.com;
- # Port to listen to.
- listen 80;
-
- 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 distribution.
- include fastcgi.conf;
- fastcgi_intercept_errors on;
- }
-
- location / {
- try_files $uri @php;
- }
-
- location ~* ^(.*)\.php$ {
- return 301 $1;
- }
-
- }
- ```
- * The above is a very basic configuration and thus will need tweaking to your personal needs. It should still work as-is, though. A 'real world' example is present in [^2].
- * After saving the file, check that the `nginx.conf` file inside the main directory includes files inside `conf.d/`:
- * It should be inside the the http block: *(The following is an example! Don't just Copy and Paste it!)*
- ```sh
- http {
- include mime.types;
- include conf.d/*.conf;
- types_hash_max_size 4096;
- # ...
- }
- ```
- * Now, test your configuration with `nginx -t`, if it says that everything is good, restart *(or start)* the Nginx daemon:
- * This depends on the init manager, most distributions use `systemd`, but it's better practice to include most.
- ```sh
- # systemd
- systemctl stop nginx
- systemctl start nginxt
- # or
- systemctl restart nginx
-
- # openrc
- rc-service nginx stop
- rc-service nginx start
- # or
- rc-service nginx restart
-
- # runit
- sv down nginx
- sv up nginx
- # or
- sv restart nginx
-
- # s6
- s6-rc -d change nginx
- s6-rc -u change nginx
- # or
- s6-svc -r /run/service/nginx
-
- # dinit
- dinitctl stop nginx
- dinitctl start nginx
- # or
- dinitctl restart nginx
- ```
-6. Clone the repository to `/var/www`:
- * `git clone --depth 1 https://git.lolcat.ca/lolcat/4get 4get` - It clones the repository with the depth of one commit *(so it takes less time to download)* and saves the cloned repository as '4get'.
-7. That should be it! There are some extra steps you can take, but it really just depends on you.
-
-Encryption setup
-
-1. Generate a certificate for the domain you're using with:
- * Note that `certbot-nginx` is needed.
- ```sh
- certbot --nginx --key-type ecdsa -d www.yourdomain.com -d yourdomain.com
- ```
-2. After that, certbot will deploy the certificate automatically to your 4get conf file; It should be ready to use from there.
-
-Tor Setup
-
-
-
-> IMPORTANT: Tor onion addresses are very long compared to traditional domains, so, Before doing anything, edit `nginx.conf` and increase
server_names_hash_bucket_size
to your needs.
-
-
-
-1. `cd` to `/etc/nginx` *(if you haven't)* and open your `nginx.conf` file.
-2. Find the line containing `# server_names_hash_bucket_size 64;` inside said file.
-3. Uncomment the line and adjust the value; start with 64, but if you encounter issues, incrementally increase it *(e.g., 128, 256)* until it accommodates your configuration.
-4. Open *(or duplicate the configuration)* and edit it:
- * Example configuration, again:
- ```sh
- server {
- access_log /dev/null; # Search log file. Do you really need to?
- error_log /dev/null; # Error log file.
-
- # Change this if you have 4get in another folder.
- root /var/www/4get;
- # Change 'onionadress.onion' to your onion link.
- server_name onionadress.onion;
- # Port to listen to.
- listen 80;
-
- 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 distribution.
- include fastcgi.conf;
- fastcgi_intercept_errors on;
- }
-
- location / {
- try_files $uri @php;
- }
-
- location ~* ^(.*)\.php$ {
- return 301 $1;
- }
-
- }
- ```
- A real world example is present in [^2].
-5. Once done, check the configuration with `nginx -t`. If everything's fine and dandy, refer to the Tor guide to setup your onion site.
-
-Other important things
-
-1. Configuration guide: Things to do after setup.
-2. Apache2 guide: Fallback to this if you couldn't get something to work, or you don't know something.
-
-Known issues
-
-1. https://git.lolcat.ca/lolcat/4get/issues
-
-[^1]: lolcat/4get#40, If having issues with `libsodium`, or `php-apcu`.
-[^2]: git.nadeko.net nadeko.net's 4get instance configuration.
\ No newline at end of file
diff --git a/docs/tor.md b/docs/tor.md
deleted file mode 100644
index b29ac3d..0000000
--- a/docs/tor.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Tor setup
-This guide assumes that there is already a configured webserver sitting on port 80 waiting for localhost connections. The apache2 guide guides you through this.
-
-1. Login as `root`.
-2. Install `tor`.
-3. Edit `/etc/tor/torrc`
-4. Go to the line that contains `HiddenServiceDir` and `HiddenServicePort`, uncomment those 2 lines and set them like this:
- ```
- HiddenServiceDir /var/lib/tor/4get
- HiddenServicePort 80 127.0.0.1:80
- ```
-5. Restart the tor service using `service tor restart`
-6. Wait for a while...
-7. Run `cat /var/lib/tor/4get/hostname`. That is your onion address!
-
-# Specify your own tor address
diff --git a/instances.php b/instances.php
deleted file mode 100644
index b9db771..0000000
--- a/instances.php
+++ /dev/null
@@ -1,55 +0,0 @@
- $value){
-
- if(
- !is_string($value) ||
- $key == "target"
- ){
-
- continue;
- }
-
- if($first === true){
-
- $first = false;
- $params = "?";
- }else{
-
- $params .= "&";
- }
-
- $params .= urlencode($key) . "=" . urlencode($value);
-}
-
-if(
- !isset($_GET["target"]) ||
- !is_string($_GET["target"])
-){
-
- $target = "";
-}else{
-
- $target = "/" . urlencode($_GET["target"]);
-}
-
-$instances = "";
-foreach(config::INSTANCES as $instance){
-
- $instances .= '' . htmlspecialchars($instance) . ' |
';
-}
-
-echo
- $frontend->load(
- "instances.html",
- [
- "instances_html" => $instances
- ]
- );
diff --git a/robots.txt b/robots.txt
deleted file mode 100644
index 6c10c2a..0000000
--- a/robots.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-# When the robots.txt is sus
-
-# ⠀⠀⠀⡯⡯⡾⠝⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢊⠘⡮⣣⠪⠢⡑⡌
-# ⠀⠀⠀⠟⠝⠈⠀⠀⠀⠡⠀⠠⢈⠠⢐⢠⢂⢔⣐⢄⡂⢔⠀⡁⢉⠸⢨⢑⠕⡌
-# ⠀⠀⡀⠁⠀⠀⠀⡀⢂⠡⠈⡔⣕⢮⣳⢯⣿⣻⣟⣯⣯⢷⣫⣆⡂⠀⠀⢐⠑⡌
-# ⢀⠠⠐⠈⠀⢀⢂⠢⡂⠕⡁⣝⢮⣳⢽⡽⣾⣻⣿⣯⡯⣟⣞⢾⢜⢆⠀⡀⠀⠪
-# ⣬⠂⠀⠀⢀⢂⢪⠨⢂⠥⣺⡪⣗⢗⣽⢽⡯⣿⣽⣷⢿⡽⡾⡽⣝⢎⠀⠀⠀⢡
-# ⣿⠀⠀⠀⢂⠢⢂⢥⢱⡹⣪⢞⡵⣻⡪⡯⡯⣟⡾⣿⣻⡽⣯⡻⣪⠧⠑⠀⠁⢐
-# ⣿⠀⠀⠀⠢⢑⠠⠑⠕⡝⡎⡗⡝⡎⣞⢽⡹⣕⢯⢻⠹⡹⢚⠝⡷⡽⡨⠀⠀⢔
-# ⣿⡯⠀⢈⠈⢄⠂⠂⠐⠀⠌⠠⢑⠱⡱⡱⡑⢔⠁⠀⡀⠐⠐⠐⡡⡹⣪⠀⠀⢘
-# ⣿⣽⠀⡀⡊⠀⠐⠨⠈⡁⠂⢈⠠⡱⡽⣷⡑⠁⠠⠑⠀⢉⢇⣤⢘⣪⢽⠀⢌⢎
-# ⣿⢾⠀⢌⠌⠀⡁⠢⠂⠐⡀⠀⢀⢳⢽⣽⡺⣨⢄⣑⢉⢃⢭⡲⣕⡭⣹⠠⢐⢗
-# ⣿⡗⠀⠢⠡⡱⡸⣔⢵⢱⢸⠈⠀⡪⣳⣳⢹⢜⡵⣱⢱⡱⣳⡹⣵⣻⢔⢅⢬⡷
-# ⣷⡇⡂⠡⡑⢕⢕⠕⡑⠡⢂⢊⢐⢕⡝⡮⡧⡳⣝⢴⡐⣁⠃⡫⡒⣕⢏⡮⣷⡟
-# ⣷⣻⣅⠑⢌⠢⠁⢐⠠⠑⡐⠐⠌⡪⠮⡫⠪⡪⡪⣺⢸⠰⠡⠠⠐⢱⠨⡪⡪⡰
-# ⣯⢷⣟⣇⡂⡂⡌⡀⠀⠁⡂⠅⠂⠀⡑⡄⢇⠇⢝⡨⡠⡁⢐⠠⢀⢪⡐⡜⡪⡊
-# ⣿⢽⡾⢹⡄⠕⡅⢇⠂⠑⣴⡬⣬⣬⣆⢮⣦⣷⣵⣷⡗⢃⢮⠱⡸⢰⢱⢸⢨⢌
-# ⣯⢯⣟⠸⣳⡅⠜⠔⡌⡐⠈⠻⠟⣿⢿⣿⣿⠿⡻⣃⠢⣱⡳⡱⡩⢢⠣⡃⠢⠁
-# ⡯⣟⣞⡇⡿⣽⡪⡘⡰⠨⢐⢀⠢⢢⢄⢤⣰⠼⡾⢕⢕⡵⣝⠎⢌⢪⠪⡘⡌⠀
-# ⡯⣳⠯⠚⢊⠡⡂⢂⠨⠊⠔⡑⠬⡸⣘⢬⢪⣪⡺⡼⣕⢯⢞⢕⢝⠎⢻⢼⣀⠀
-# ⠁⡂⠔⡁⡢⠣⢀⠢⠀⠅⠱⡐⡱⡘⡔⡕⡕⣲⡹⣎⡮⡏⡑⢜⢼⡱⢩⣗⣯⣟
-# ⢀⢂⢑⠀⡂⡃⠅⠊⢄⢑⠠⠑⢕⢕⢝⢮⢺⢕⢟⢮⢊⢢⢱⢄⠃⣇⣞⢞⣞⢾
-# ⢀⠢⡑⡀⢂⢊⠠⠁⡂⡐⠀⠅⡈⠪⠪⠪⠣⠫⠑⡁⢔⠕⣜⣜⢦⡰⡎⡯⡾⡽
-
-User-agent: *
-Disallow:
-Host: 4get.ca
-Sitemap: https://4get.ca/sitemap
diff --git a/sitemap.php b/sitemap.php
deleted file mode 100644
index 80bda66..0000000
--- a/sitemap.php
+++ /dev/null
@@ -1,35 +0,0 @@
-' .
- '' .
- '' .
- '' . $domain . '/' .
- '2023-07-31T07:56:12+03:00' .
- '' .
- '' .
- '' . $domain . '/about' .
- '2023-07-31T07:56:12+03:00' .
- '' .
- '' .
- '' . $domain . '/instances' .
- '2023-07-31T07:56:12+03:00' .
- '' .
- '' .
- '' . $domain . '/settings' .
- '2023-07-31T07:56:12+03:00' .
- '' .
- '' .
- '' . $domain . '/api.txt' .
- '2023-07-31T07:56:12+03:00' .
- '' .
- '';
diff --git a/about.php b/src/about.php
similarity index 100%
rename from about.php
rename to src/about.php
diff --git a/ami4get.php b/src/ami4get.php
similarity index 100%
rename from ami4get.php
rename to src/ami4get.php
diff --git a/api/index.php b/src/api/index.php
similarity index 100%
rename from api/index.php
rename to src/api/index.php
diff --git a/api/v1/ac.php b/src/api/v1/ac.php
similarity index 100%
rename from api/v1/ac.php
rename to src/api/v1/ac.php
diff --git a/api/v1/index.php b/src/api/v1/index.php
similarity index 100%
rename from api/v1/index.php
rename to src/api/v1/index.php
diff --git a/audio/linear.php b/src/audio/linear.php
similarity index 100%
rename from audio/linear.php
rename to src/audio/linear.php
diff --git a/audio/sc.php b/src/audio/sc.php
similarity index 100%
rename from audio/sc.php
rename to src/audio/sc.php
diff --git a/audio/seekable.php b/src/audio/seekable.php
similarity index 100%
rename from audio/seekable.php
rename to src/audio/seekable.php
diff --git a/audio/spotify.php b/src/audio/spotify.php
similarity index 100%
rename from audio/spotify.php
rename to src/audio/spotify.php
diff --git a/banner/4get-default.png b/src/banner/4get-default.png
similarity index 100%
rename from banner/4get-default.png
rename to src/banner/4get-default.png
diff --git a/data/config.php b/src/data/config.php
similarity index 100%
rename from data/config.php
rename to src/data/config.php
diff --git a/data/fonts/captcha.ttf b/src/data/fonts/captcha.ttf
similarity index 100%
rename from data/fonts/captcha.ttf
rename to src/data/fonts/captcha.ttf
diff --git a/data/proxies/.gitignore b/src/data/proxies/.gitignore
similarity index 100%
rename from data/proxies/.gitignore
rename to src/data/proxies/.gitignore
diff --git a/data/proxies/onion.txt b/src/data/proxies/onion.txt
similarity index 100%
rename from data/proxies/onion.txt
rename to src/data/proxies/onion.txt
diff --git a/donate.php b/src/donate.php
similarity index 100%
rename from donate.php
rename to src/donate.php
diff --git a/favicon.ico b/src/favicon.ico
similarity index 100%
rename from favicon.ico
rename to src/favicon.ico
diff --git a/favicon.php b/src/favicon.php
similarity index 100%
rename from favicon.php
rename to src/favicon.php
diff --git a/icons/lolcat.ca.png b/src/icons/lolcat.ca.png
similarity index 100%
rename from icons/lolcat.ca.png
rename to src/icons/lolcat.ca.png
diff --git a/images.php b/src/images.php
similarity index 100%
rename from images.php
rename to src/images.php
diff --git a/index.php b/src/index.php
similarity index 100%
rename from index.php
rename to src/index.php
diff --git a/lib/backend.php b/src/lib/backend.php
similarity index 100%
rename from lib/backend.php
rename to src/lib/backend.php
diff --git a/lib/bingcache-todo-fix.php b/src/lib/bingcache-todo-fix.php
similarity index 100%
rename from lib/bingcache-todo-fix.php
rename to src/lib/bingcache-todo-fix.php
diff --git a/lib/bot_protection.php b/src/lib/bot_protection.php
similarity index 100%
rename from lib/bot_protection.php
rename to src/lib/bot_protection.php
diff --git a/lib/curlproxy.php b/src/lib/curlproxy.php
similarity index 100%
rename from lib/curlproxy.php
rename to src/lib/curlproxy.php
diff --git a/lib/favicon404.png b/src/lib/favicon404.png
similarity index 100%
rename from lib/favicon404.png
rename to src/lib/favicon404.png
diff --git a/lib/frontend.php b/src/lib/frontend.php
similarity index 100%
rename from lib/frontend.php
rename to src/lib/frontend.php
diff --git a/lib/fuckhtml.php b/src/lib/fuckhtml.php
similarity index 100%
rename from lib/fuckhtml.php
rename to src/lib/fuckhtml.php
diff --git a/lib/img404.png b/src/lib/img404.png
similarity index 100%
rename from lib/img404.png
rename to src/lib/img404.png
diff --git a/lib/type-todo.php b/src/lib/type-todo.php
similarity index 100%
rename from lib/type-todo.php
rename to src/lib/type-todo.php
diff --git a/music.php b/src/music.php
similarity index 100%
rename from music.php
rename to src/music.php
diff --git a/news.php b/src/news.php
similarity index 100%
rename from news.php
rename to src/news.php
diff --git a/opensearch.php b/src/opensearch.php
similarity index 100%
rename from opensearch.php
rename to src/opensearch.php
diff --git a/oracles/base.php b/src/oracles/base.php
similarity index 100%
rename from oracles/base.php
rename to src/oracles/base.php
diff --git a/oracles/calc.php b/src/oracles/calc.php
similarity index 100%
rename from oracles/calc.php
rename to src/oracles/calc.php
diff --git a/oracles/encoder.php b/src/oracles/encoder.php
similarity index 100%
rename from oracles/encoder.php
rename to src/oracles/encoder.php
diff --git a/oracles/numerics.php b/src/oracles/numerics.php
similarity index 100%
rename from oracles/numerics.php
rename to src/oracles/numerics.php
diff --git a/oracles/time.php b/src/oracles/time.php
similarity index 100%
rename from oracles/time.php
rename to src/oracles/time.php
diff --git a/proxy.php b/src/proxy.php
similarity index 100%
rename from proxy.php
rename to src/proxy.php
diff --git a/scraper/brave.php b/src/scraper/brave.php
similarity index 100%
rename from scraper/brave.php
rename to src/scraper/brave.php
diff --git a/scraper/crowdview.php b/src/scraper/crowdview.php
similarity index 100%
rename from scraper/crowdview.php
rename to src/scraper/crowdview.php
diff --git a/scraper/curlie.php b/src/scraper/curlie.php
similarity index 100%
rename from scraper/curlie.php
rename to src/scraper/curlie.php
diff --git a/scraper/ddg.php b/src/scraper/ddg.php
similarity index 100%
rename from scraper/ddg.php
rename to src/scraper/ddg.php
diff --git a/scraper/facebook.php b/src/scraper/facebook.php
similarity index 100%
rename from scraper/facebook.php
rename to src/scraper/facebook.php
diff --git a/scraper/fivehpx.php b/src/scraper/fivehpx.php
similarity index 100%
rename from scraper/fivehpx.php
rename to src/scraper/fivehpx.php
diff --git a/scraper/ftm.php b/src/scraper/ftm.php
similarity index 100%
rename from scraper/ftm.php
rename to src/scraper/ftm.php
diff --git a/scraper/ghostery.php b/src/scraper/ghostery.php
similarity index 100%
rename from scraper/ghostery.php
rename to src/scraper/ghostery.php
diff --git a/scraper/google.php b/src/scraper/google.php
similarity index 100%
rename from scraper/google.php
rename to src/scraper/google.php
diff --git a/scraper/google_cse.php b/src/scraper/google_cse.php
similarity index 100%
rename from scraper/google_cse.php
rename to src/scraper/google_cse.php
diff --git a/scraper/greppr.php b/src/scraper/greppr.php
similarity index 100%
rename from scraper/greppr.php
rename to src/scraper/greppr.php
diff --git a/scraper/imgur.php b/src/scraper/imgur.php
similarity index 100%
rename from scraper/imgur.php
rename to src/scraper/imgur.php
diff --git a/scraper/marginalia.php b/src/scraper/marginalia.php
similarity index 100%
rename from scraper/marginalia.php
rename to src/scraper/marginalia.php
diff --git a/scraper/mojeek.php b/src/scraper/mojeek.php
similarity index 100%
rename from scraper/mojeek.php
rename to src/scraper/mojeek.php
diff --git a/scraper/mwmbl.php b/src/scraper/mwmbl.php
similarity index 100%
rename from scraper/mwmbl.php
rename to src/scraper/mwmbl.php
diff --git a/scraper/pinterest.php b/src/scraper/pinterest.php
similarity index 100%
rename from scraper/pinterest.php
rename to src/scraper/pinterest.php
diff --git a/scraper/qwant.php b/src/scraper/qwant.php
similarity index 100%
rename from scraper/qwant.php
rename to src/scraper/qwant.php
diff --git a/scraper/sc.php b/src/scraper/sc.php
similarity index 100%
rename from scraper/sc.php
rename to src/scraper/sc.php
diff --git a/scraper/solofield.php b/src/scraper/solofield.php
similarity index 100%
rename from scraper/solofield.php
rename to src/scraper/solofield.php
diff --git a/scraper/spotify.php b/src/scraper/spotify.php
similarity index 100%
rename from scraper/spotify.php
rename to src/scraper/spotify.php
diff --git a/scraper/startpage.php b/src/scraper/startpage.php
similarity index 100%
rename from scraper/startpage.php
rename to src/scraper/startpage.php
diff --git a/scraper/vsco.php b/src/scraper/vsco.php
similarity index 100%
rename from scraper/vsco.php
rename to src/scraper/vsco.php
diff --git a/scraper/wiby.php b/src/scraper/wiby.php
similarity index 100%
rename from scraper/wiby.php
rename to src/scraper/wiby.php
diff --git a/scraper/yandex.php b/src/scraper/yandex.php
similarity index 100%
rename from scraper/yandex.php
rename to src/scraper/yandex.php
diff --git a/scraper/yep.php b/src/scraper/yep.php
similarity index 100%
rename from scraper/yep.php
rename to src/scraper/yep.php
diff --git a/scraper/yt.php b/src/scraper/yt.php
similarity index 100%
rename from scraper/yt.php
rename to src/scraper/yt.php
diff --git a/settings.php b/src/settings.php
similarity index 100%
rename from settings.php
rename to src/settings.php
diff --git a/static/404.png b/src/static/404.png
similarity index 100%
rename from static/404.png
rename to src/static/404.png
diff --git a/static/client.js b/src/static/client.js
similarity index 100%
rename from static/client.js
rename to src/static/client.js
diff --git a/static/icon/amazon.png b/src/static/icon/amazon.png
similarity index 100%
rename from static/icon/amazon.png
rename to src/static/icon/amazon.png
diff --git a/static/icon/appstore.png b/src/static/icon/appstore.png
similarity index 100%
rename from static/icon/appstore.png
rename to src/static/icon/appstore.png
diff --git a/static/icon/call.png b/src/static/icon/call.png
similarity index 100%
rename from static/icon/call.png
rename to src/static/icon/call.png
diff --git a/static/icon/directions.png b/src/static/icon/directions.png
similarity index 100%
rename from static/icon/directions.png
rename to src/static/icon/directions.png
diff --git a/static/icon/facebook.png b/src/static/icon/facebook.png
similarity index 100%
rename from static/icon/facebook.png
rename to src/static/icon/facebook.png
diff --git a/static/icon/gamespot.png b/src/static/icon/gamespot.png
similarity index 100%
rename from static/icon/gamespot.png
rename to src/static/icon/gamespot.png
diff --git a/static/icon/github.png b/src/static/icon/github.png
similarity index 100%
rename from static/icon/github.png
rename to src/static/icon/github.png
diff --git a/static/icon/googleplay.png b/src/static/icon/googleplay.png
similarity index 100%
rename from static/icon/googleplay.png
rename to src/static/icon/googleplay.png
diff --git a/static/icon/imdb.png b/src/static/icon/imdb.png
similarity index 100%
rename from static/icon/imdb.png
rename to src/static/icon/imdb.png
diff --git a/static/icon/instagram.png b/src/static/icon/instagram.png
similarity index 100%
rename from static/icon/instagram.png
rename to src/static/icon/instagram.png
diff --git a/static/icon/itunes.png b/src/static/icon/itunes.png
similarity index 100%
rename from static/icon/itunes.png
rename to src/static/icon/itunes.png
diff --git a/static/icon/microsoft.png b/src/static/icon/microsoft.png
similarity index 100%
rename from static/icon/microsoft.png
rename to src/static/icon/microsoft.png
diff --git a/static/icon/quora.png b/src/static/icon/quora.png
similarity index 100%
rename from static/icon/quora.png
rename to src/static/icon/quora.png
diff --git a/static/icon/reddit.png b/src/static/icon/reddit.png
similarity index 100%
rename from static/icon/reddit.png
rename to src/static/icon/reddit.png
diff --git a/static/icon/rottentomatoes.png b/src/static/icon/rottentomatoes.png
similarity index 100%
rename from static/icon/rottentomatoes.png
rename to src/static/icon/rottentomatoes.png
diff --git a/static/icon/sciencedirect.png b/src/static/icon/sciencedirect.png
similarity index 100%
rename from static/icon/sciencedirect.png
rename to src/static/icon/sciencedirect.png
diff --git a/static/icon/soundcloud.png b/src/static/icon/soundcloud.png
similarity index 100%
rename from static/icon/soundcloud.png
rename to src/static/icon/soundcloud.png
diff --git a/static/icon/spotify.png b/src/static/icon/spotify.png
similarity index 100%
rename from static/icon/spotify.png
rename to src/static/icon/spotify.png
diff --git a/static/icon/steam.png b/src/static/icon/steam.png
similarity index 100%
rename from static/icon/steam.png
rename to src/static/icon/steam.png
diff --git a/static/icon/twitter.png b/src/static/icon/twitter.png
similarity index 100%
rename from static/icon/twitter.png
rename to src/static/icon/twitter.png
diff --git a/static/icon/w3html.png b/src/static/icon/w3html.png
similarity index 100%
rename from static/icon/w3html.png
rename to src/static/icon/w3html.png
diff --git a/static/icon/website.png b/src/static/icon/website.png
similarity index 100%
rename from static/icon/website.png
rename to src/static/icon/website.png
diff --git a/static/icon/wikipedia.png b/src/static/icon/wikipedia.png
similarity index 100%
rename from static/icon/wikipedia.png
rename to src/static/icon/wikipedia.png
diff --git a/static/icon/youtube.png b/src/static/icon/youtube.png
similarity index 100%
rename from static/icon/youtube.png
rename to src/static/icon/youtube.png
diff --git a/static/misc/christmas-dark-bg.png b/src/static/misc/christmas-dark-bg.png
similarity index 100%
rename from static/misc/christmas-dark-bg.png
rename to src/static/misc/christmas-dark-bg.png
diff --git a/static/misc/christmas-hat.png b/src/static/misc/christmas-hat.png
similarity index 100%
rename from static/misc/christmas-hat.png
rename to src/static/misc/christmas-hat.png
diff --git a/static/misc/christmas-white-bg.png b/src/static/misc/christmas-white-bg.png
similarity index 100%
rename from static/misc/christmas-white-bg.png
rename to src/static/misc/christmas-white-bg.png
diff --git a/static/misc/snow.png b/src/static/misc/snow.png
similarity index 100%
rename from static/misc/snow.png
rename to src/static/misc/snow.png
diff --git a/static/serverping.js b/src/static/serverping.js
similarity index 100%
rename from static/serverping.js
rename to src/static/serverping.js
diff --git a/static/style.css b/src/static/style.css
similarity index 100%
rename from static/style.css
rename to src/static/style.css
diff --git a/static/themes/Catppuccin Latte.css b/src/static/themes/Catppuccin Latte.css
similarity index 100%
rename from static/themes/Catppuccin Latte.css
rename to src/static/themes/Catppuccin Latte.css
diff --git a/static/themes/Catppuccin Mocha.css b/src/static/themes/Catppuccin Mocha.css
similarity index 100%
rename from static/themes/Catppuccin Mocha.css
rename to src/static/themes/Catppuccin Mocha.css
diff --git a/static/themes/Cream.css b/src/static/themes/Cream.css
similarity index 100%
rename from static/themes/Cream.css
rename to src/static/themes/Cream.css
diff --git a/static/themes/Dark Christmas.css b/src/static/themes/Dark Christmas.css
similarity index 100%
rename from static/themes/Dark Christmas.css
rename to src/static/themes/Dark Christmas.css
diff --git a/static/themes/Gore's shitty theme.css b/src/static/themes/Gore's shitty theme.css
similarity index 100%
rename from static/themes/Gore's shitty theme.css
rename to src/static/themes/Gore's shitty theme.css
diff --git a/static/themes/White Christmas.css b/src/static/themes/White Christmas.css
similarity index 100%
rename from static/themes/White Christmas.css
rename to src/static/themes/White Christmas.css
diff --git a/static/themes/Wine.css b/src/static/themes/Wine.css
similarity index 100%
rename from static/themes/Wine.css
rename to src/static/themes/Wine.css
diff --git a/static/themes/gentoo.css b/src/static/themes/gentoo.css
similarity index 100%
rename from static/themes/gentoo.css
rename to src/static/themes/gentoo.css
diff --git a/template/about.html b/src/template/about.html
similarity index 100%
rename from template/about.html
rename to src/template/about.html
diff --git a/template/donate.html b/src/template/donate.html
similarity index 100%
rename from template/donate.html
rename to src/template/donate.html
diff --git a/template/header.html b/src/template/header.html
similarity index 100%
rename from template/header.html
rename to src/template/header.html
diff --git a/template/header_nofilters.html b/src/template/header_nofilters.html
similarity index 100%
rename from template/header_nofilters.html
rename to src/template/header_nofilters.html
diff --git a/template/home.html b/src/template/home.html
similarity index 70%
rename from template/home.html
rename to src/template/home.html
index 3033052..41fe626 100644
--- a/template/home.html
+++ b/src/template/home.html
@@ -28,11 +28,20 @@
- Settings • Instances • News • API • About • Source
- Donate to the project
+ Settings
+ •
+ News
+ •
+ Source
+ •
+ Modified Source
-
Clearnet •
Tor •
Report a problem
- Running on
v{%version%}!!
+
Clearnet
+ •
+
TOR
+ •
+
Report a problem
+
diff --git a/template/images.html b/src/template/images.html
similarity index 100%
rename from template/images.html
rename to src/template/images.html
diff --git a/template/instances.html b/src/template/instances.html
similarity index 100%
rename from template/instances.html
rename to src/template/instances.html
diff --git a/template/search.html b/src/template/search.html
similarity index 100%
rename from template/search.html
rename to src/template/search.html
diff --git a/videos.php b/src/videos.php
similarity index 100%
rename from videos.php
rename to src/videos.php
diff --git a/web.php b/src/web.php
similarity index 100%
rename from web.php
rename to src/web.php