Giter Club home page Giter Club logo

ivfi-php's Introduction

Discord | Telegram | Twitch

Привет 👋,

I'm emy! I enjoy writing code, and exploring and learning about new technologies.

🪛 Technologies I'm using:

My Skills

🏗️ Currently I'm working on:

  • IVFi - The image and video friendly indexer
  • FIVE.SH - My personal website
  • A bunch of other random projects
  • Archiving and safekeeping of a bunch of media
  • Maybe learning Rust...

Thanks for checking out my profile, and have a nice day! ✨

https://relax.five.sh/share/svQcaK


Feeling lost? Check out Night todayPowered by QuantumDB!

ivfi-php's People

Contributors

evwltrs avatar sixem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ivfi-php's Issues

Changing date format

Could it be possible to change the date formatting? I had modified it before but I think the javascript overrides the php file's date variables.

I was hoping to set something like this D m/d/y h:i A which would look something like this Sat 07/11/20 09:54 PM

Updating from an old release.

Hello! It is me, the person from #1 and #2, I was wondering what the easiest way to go about updating the indexer is. I've been using it for a long time and I'm running version 1.0.4. So what is the best way for me to update my files without losing any of my configuration data? Its probably as simple as just dragging and dropping everything into the other stuff, minus the config file, but I just wanted to double check.

Thanks.

How can it handle a ddos attack?

Hi,
Is there a way indexer to handle the ddos attack or lets say if someone is doing ddos via clicking on the file (e.g. .exe file)
so if someone click on it, the bandwidth will go high and crash the server?

If so, how to save yourself in this case?

Thanks

Support for symlink folders

Is it possible to use this script with symlinked folders?
I get this error when trying to enter a folder /directory/to/folder/symlink that is linked to /directory/to/mount/FOLDER/foldername. Although symlink and foldername are the same foldername on disk. In this example it's just to hopefully clarify which is which.

 Fatal error: Uncaught Exception: requested path is below the public working directory. in /directory/to/folder/symlink/indexer.php:89 Stack trace: #0 /directory/to/folder/symlink/indexer.php(396): Indexer->__construct('/symlink/', Array) #1 {main} thrown in /directory/to/folder/symlink/indexer.php on line 89

Disable parent directory link

Hello,

I want to make this script to be a very simple gallery. I organize my folder structure something like this:

Gallery/
├── House/
│   ├── image01.jpg
│   ├── image02.jpg
│   ├── image03.jpg
│   └── image04.jpg
├── Pet/
│   ├── dog.jpg
│   └── cat.jpg
└── Friends/
    ├── Jason.jpg
    ├── Mary.jpg
    ├── Olivier.jpg
    └── Roy.jpg

When I give people the link to my album, for example, https://eyy/indexer/Gallery/House/, I don't want them to see my other folders in Gallery/, and I can do that by placing a blank index.html in Gallery/.

Is there any way to tell the indexer not to show the link "Parent Directory"?

WebDAV Compatability

Context: @2003cah and I both share a VPS, they setup WebDAV for a note application (Joplin) that they use in order to keep encrypted backups of the notes stored on the VPS.

Directory listing content is served from: /var/www/html/

The problem as explained by them:

If webdav is placed outside the [/var/www/]html folder, we get a 500 because it's an invalid path to the indexer, if it's placed in the [/var/www/]html folder, it sends a wacky XML response(?) that messes with both Joplin and all my webdav clients


Here's the error that Joplin puts out if the indexer is in the /var/www/html/ folder:
image

My best guess is that WebDAV doesn't like the indexer trying to change stuff in that folder, which brings up the question: "Is it possible to disable the indexer on certain directories?"


After discussing it more, I've got:

If the webdav folder is in /var/www/ and Apache is configured to serve the site via direct linking only (no showing it under the default apache directory listings) and without the eyy-indexer in the /var/www/html then webdav works.

If the webdav folder is in the /var/www/html/ folder and Apache is configured to serve the site via direct linking only (no showing it under the default apache directory listings) and with the eyy-indexer in the /var/ww/html/ folder then webdav works in the sense that the folder is not shown and is properly password protected, but the webdav folder is unable to be properly utilized by Joplin (or any webdav client) and results in this error:image

Setting custom themes

Thanks for the script, it's awesome.

The only thing I'm having an issue with is setting custom themes. I have the following set in .indexer.config.php

<?php
return array(
    'style' => array(
        'themes' => array(
            'path' => 'indexer/css/themes',
            'default' => 'bliss',
        ),
        'compact' => true
    ),
    'debug' => true
);

In the console I'm seeing the following:

style: {…}
​​
compact: true
​​
themes: {…}
​​​
path: "/indexer/css/themes/"
​​​
pool: (4) […]
​​​​
0: "default"
​​​​
1: "bliss"
​​​​
2: "photon"
​​​​
3: "pelagic"
​​​​
length: 4
​​​​
<prototype>: Array []
​​​
set: "default"

Within the head it's only outputting the main style.css though.

Any help would be great!

Squashing commits

Would it be possible to not squash your commits on the develop branch? I wanted to go back and see only the theme commit but am unable to with them all as one.

I can't understand the themes feature. I added the path to the folder in the config but there's no way to change the theme on the page.

[BUG] Deprecated messages

Describe the bug
Deprecated messages after updating nginx.

To Reproduce
If relevant, the steps to reproduce the behavior:

  1. Update nginx with the last version
  2. Deprecated message appear

Expected behavior
No deprecated messages

Information
If possible, fill out the data:

  • nginx version: 1.25.3
  • Browser used: FireFox

Errors

Deprecated: Creation of dynamic property Indexer::$processor is deprecated in /var/www/html/indexer.php on line 783
Deprecated: Creation of dynamic property Indexer::$client is deprecated in /var/www/html/indexer.php on line 797
Deprecated: Creation of dynamic property Indexer::$timestamp is deprecated in /var/www/html/indexer.php on line 799
Deprecated: Creation of dynamic property Indexer::$debug is deprecated in /var/www/html/indexer.php on line 800
Deprecated: Creation of dynamic property Indexer::$directorySizes is deprecated in /var/www/html/indexer.php on line 801
Deprecated: Creation of dynamic property Indexer::$filter is deprecated in /var/www/html/indexer.php on line 898
Deprecated: Creation of dynamic property Indexer::$exclude is deprecated in /var/www/html/indexer.php on line 911
Deprecated: Creation of dynamic property Indexer::$format is deprecated in /var/www/html/indexer.php on line 917

Additional context
I'm using the standalone php file.

Something appears to be broken.

Context:
content directory: /var/www/html/
src directory: /var/www/src/
public directory: /var/www/html/public/
all of my content is located in /var/ww/html/* (not in /var/www/html/public/* folder)
apache2 location: /etc/apache2/
server location: s.soarn.pro


I have in /etc/apache2/sites-avaiable a file named s.soarn.pro.conf and is has:

<VirtualHost *:80>
    ServerName https://s.soarn.pro/
    ServerAlias www.s.soarn.pro/

    DocumentRoot "/var/www/website/"
    DirectoryIndex index.php index.html index.htm /indexer.php
</VirtualHost>

I also have in /etc/apache2/ a .htaccess file with

DirectoryIndex index.php index.html index.htm /indexer.php

In the /etc/apache2/ is the apache2.conf file, which should be the default file, I added to the end of it:

irectoryIndex index.php index.html index.htm /indexer.php
# Requires rewrite module to be enabled (sudo a2enmod rewrite).
RewriteEngine On
RewriteRule ^/indexer.php(.*)$ - [R=404,L]

So far, even with systemctl restart apache2 nothing is working, and I just get the default apache2 layout on the server. I also installed mbstring, jquery.scrollTo, and Tocca.js. However nothing appears to be working. Is there something that I am doing wrong?

Thanks, Soarn.

Hiding indexer.php and indexer/

Does the the path_checking function break hiding the indexer.php file and indexer folder?

My nginx root is set to serve the user directory from logged in users through
root /folder/path/video/$remote_user
I tried to add in indexer.php and the folder into one of the users but both appeared in the indexing.

I tried to experiment and serve them from elsewhere but it didn't work as expected. The static files resolve at domain.name/indexer but domain.name/ serves the directory from the indexer.php location block, instead of my main one.

server {
    listen                  ssl http2;
    server_name             domain.name;
    root                    /folder/path/video/$remote_user;
    index index.html index.htm index.php /indexer.php;

    # SSL
    ssl_certificate         /directory/to/nginxuser/.certbot/live/domain.name/fullchain.pem;
    ssl_certificate_key     /directory/to/nginxuser/.certbot/live/domain.name/privkey.pem;
    ssl_trusted_certificate /directory/to/nginxuser/.certbot/live/domain.name/chain.pem;

    # error handling
    location = /error.html {
      ssi on;
      internal;
      auth_basic off;
      root /directory/to/nginxuser/.config/nginx/html/error;
    }

    # # fancy index
    # include                 confcustom/fancyindex.conf;

    # webdav access
    dav_methods PUT DELETE MKCOL COPY MOVE;
    dav_ext_methods PROPFIND OPTIONS;
    create_full_put_path on;
    dav_access user:r group:r;

    # authorization
    auth_basic            "closed site";
    auth_basic_user_file  credentials/users.htpasswd;
    location ^~ /indexer/ {
      root /directory/to/nginxuser/.config/nginx/html/indexer/;
    }
    location = /indexer.php {
      alias /directory/to/nginxuser/.config/nginx/html/indexer/indexer.php;
      include fastcgi_params;
      fastcgi_pass unix:/directory/to/nginxuser/.config/php-fpm/socket;
    }

    # security
    include                 nginxconfig.io/security.conf;

    # logging
    access_log              /directory/to/nginxuser/logs/nginx/$remote_user.domain.name.access.log;
    error_log               /directory/to/nginxuser/logs/nginx/$remote_user.domain.name.error.log warn;

    # additional config
    include                 nginxconfig.io/general.conf;
    include                 includes/php.conf;
}

Windows Defender Threat Issue

Attempt to fill out this form as well as possible. If you can't answer a question, you can skip it.

Describe the bug
Windows 11 after download v1.23 detect trojan.
Please fix it.

Expected behavior
Clean file.

Invalid path. path does not exist

How can I solve this? Thanks

Error:

Exception: invalid path. path does not exist. in /var/www/html/xxx/indexer.php:276 Stack trace: #0 /var/www/html/xxx/indexer.php(726): Indexer->__construct('/xxx/indexer....', Array) #1 {main} (4)

Fatal error - Exiting.

Feature Request: Password Protected Directories

Hello! It is me again, the creator of #1 back again with a feature request. I have no idea if password protected directories are even able to be put in place, but if they can be, they would be epic. I can't find a bunch of apache directory listing projects out there but this one has been the best I've ever used.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.