sixem / ivfi-php Goto Github PK
View Code? Open in Web Editor NEWIVFi is a directory indexer that aims to make it easy to browse and explore web-accessible directories.
Home Page: https://git.five.sh/ivfi/
License: Other
IVFi is a directory indexer that aims to make it easy to browse and explore web-accessible directories.
Home Page: https://git.five.sh/ivfi/
License: Other
/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:
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:
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.
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
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.
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.
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!
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.
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.
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
Unable to show/play images/videos with "#" in the name.
Describe the bug
Deprecated messages after updating nginx.
To Reproduce
If relevant, the steps to reproduce the behavior:
Expected behavior
No deprecated messages
Information
If possible, fill out the data:
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.
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.
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
This is a small thing but I can't figure it out myself. I am modifying strftime
but notice that by default the timezone is set to UTC in my case.
Would it be possible to set the timezone of the script to the user's IP address through geoip? Or through javascript?
https://stackoverflow.com/questions/39567799/how-do-i-find-user-timezone-in-php
https://momentjs.com/timezone/
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"?
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;
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.