diff --git a/.htaccess b/.htaccess
index eb01a3a20..95e9f8ae0 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,361 +1,360 @@
# BEGIN Expires Don't forget to enable mod_headers and mod_expires, you can do so by running a2enmod rewrite and a2enmod headers
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
Order Allow,Deny
Deny from all
Require all denied
Order Allow,Deny
Deny from all
Require all denied
Order Allow,Deny
Deny from all
Require all denied
Order Allow,Deny
Deny from all
Require all denied
# Disable directory browsing
Options All -Indexes
# END Expires
# BEGIN Caching
Header set Access-Control-Allow-Origin: *
Header set Cache-Control "max-age=2592000, public"
Header set Access-Control-Allow-Origin: *
Header set Cache-Control "max-age=604800, public"
Header set Access-Control-Allow-Origin: *
Header set Cache-Control "max-age=216000, private"
- Header set Access-Control-Allow-Origin: *
Header set Cache-Control "max-age=216000, public, must-revalidate"
Header set Access-Control-Allow-Origin: *
Header set Cache-Control "max-age=1, private, must-revalidate"
# END Caching
RewriteEngine on
#VideoHLS for DRM
RewriteRule ^videos/webfonts/(fa-.*) view/css/fontawesome-free-5.5.0-web/webfonts/$1 [NC,L]
RewriteRule ^playLink/?$ view/modePlayLink.php [QSA]
RewriteRule ^videos/([^/]+)/(.*).key$ plugin/VideoHLS/downloadProtection.php?filename=$1&key=$2 [QSA]
RewriteRule glyphicons-halflings-regular(.+)$ view/bootstrap/fonts/glyphicons-halflings-regular$1 [NC,L]
RewriteRule ^meet/([0-9]+)/(.+)$ plugin/Meet/iframe.php?meet_schedule_id=$1&roomName=$2 [NC,L,QSA]
RewriteRule ^meet/([0-9]+)$ plugin/Meet/iframe.php?meet_schedule_id=$1 [NC,L,QSA]
RewriteRule ^live/([0-9]+)/(.+)/(.+)$ plugin/Live/?live_servers_id=$1&c=$2&live_index=$3 [NC,L,QSA]
RewriteRule ^live/([0-9]+)/(.+)$ plugin/Live/?live_servers_id=$1&c=$2 [NC,L,QSA]
RewriteRule ^liveLink/([0-9]+).*$ plugin/LiveLinks/view/Live.php?link=$1 [NC,L,QSA]
RewriteRule ^liveLinkEmbed/([0-9]+).*$ plugin/LiveLinks/view/Live.php?link=$1&embed=1 [NC,L,QSA]
#main Files
RewriteRule ^index.php$ view/index.php [NC,L]
#RewriteRule ^index.php$ /view/index.php [NC,L]
#RewriteRule ^$ view/ [NC,L]
RewriteRule ^bootstrap/(.+)$ view/bootstrap/$1 [NC,L]
RewriteRule bootstrap-select.js.map$ view/bootstrap/bootstrapSelectPicker/js/bootstrap-select.js.map$1 [NC,L]
RewriteRule ^oembed/?(.+)$ view/oembed.php$1 [NC,L]
RewriteRule ^js/(.+)$ view/js/$1 [NC,L]
RewriteRule ^css/(.+)$ view/css/$1 [NC,L]
RewriteRule ^img/(.+)$ view/img/$1 [NC,L]
RewriteRule ^i/(.+)$ view/iframe.php?type=$1 [NC,L]
RewriteRule ^videos/fonts/(.+)$ view/bootstrap/fonts/$1 [NC,L]
RewriteRule ^page/([0-9]+)/?$ view/?page=$1 [QSA]
RewriteRule ^videoOnly/?$ view/?type=video [NC,L]
RewriteRule ^audioOnly/?$ view/?type=audio [NC,L]
RewriteRule ^download$ view/downloadExternalVideo.php [NC,L]
RewriteRule ^info$ view/info.php [NC,L]
RewriteRule ^version$ view/info.php?version=1 [NC,L]
RewriteRule ^downloadNow$ objects/downloadVideo.php [NC,L]
RewriteRule ^getDownloadProgress$ objects/downloadVideoProgress.php [NC,L]
RewriteRule ^status$ objects/status.json.php [NC,L]
RewriteRule ^menu/([^!#$&'()*+,\/:;=?@[\]]+)/? plugin/TopMenu/seo.php?menuSeoUrlItem=$1 [QSA,L]
RewriteRule ^admin/plugin/(.+)$ plugin/$1 [NC,L]
RewriteRule ^trending/?$ view/trending.php [NC,L,QSA]
RewriteRule ^about$ view/about.php [NC,L]
RewriteRule ^contact$ view/contact.php [NC,L]
RewriteRule ^sendEmail$ objects/sendEmail.json.php [NC,L]
RewriteRule ^captcha$ objects/getCaptcha.php [NC,L]
RewriteRule ^monitor/(.+)$ objects/ServerMonitor/$1 [NC,L]
RewriteRule ^videosList$ view/videosList.php [NC,L]
RewriteRule ^videosList/video/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/videosList.php?videoName=$1&page=$2 [QSA]
RewriteRule ^videosList/cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/videosList.php?catName=$1&videoName=$2&page=$3 [QSA]
#for the category name
RewriteRule ^cat/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/?catName=$1 [NC,L,QSA]
RewriteRule ^cat/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/?catName=$1&page=$2 [NC,L,QSA]
RewriteRule ^tag/([0-9-]+)(.*)?$ view/?tags_id=$1 [NC,L,QSA]
#for the video name
RewriteRule ^video/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?videoName=$1 [QSA]
RewriteRule ^video/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?videoName=$1&page=$2 [QSA]
RewriteRule ^v/([0-9a-zA-Z_.-]+)/?$ view/?v=$1 [QSA]
RewriteRule ^v/([0-9a-zA-Z_.-]+)/page/([0-9]+)/??$ view/?v=$1&page=$2 [QSA]
RewriteRule ^video/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?v=$1 [QSA]
RewriteRule ^video/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?v=$1&page=$3 [QSA]
RewriteRule ^evideo/([a-zA-z0-9=]+)/?$ view/?evideo=$1 [QSA]
#for the video name
RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/?catName=$1&videoName=$2 [QSA]
RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/video/([^!#$&'()*+,\/:;=?@[\]]+)/page/([0-9]+)/?$ view/?catName=$1&videoName=$2&page=$3 [QSA]
#for the embeded video name
RewriteRule ^videoEmbeded/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA]
RewriteRule ^videoEmbeded/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA]
RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/videoEmbeded/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?catName=$1&videoName=$2 [QSA]
RewriteRule ^videoEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA]
RewriteRule ^videoEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA]
RewriteRule ^vEmbed/([0-9a-zA-Z_.-]+)/?$ view/videoEmbeded.php?v=$1 [QSA]
RewriteRule ^videoEmbed/([0-9a-zA-Z_.-]+)/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?v=$1 [QSA]
RewriteRule ^evideoEmbed/([a-zA-z0-9=]+)/?$ view/videoEmbeded.php?evideo=$1 [QSA]
RewriteRule ^plugin/([^!#$&'()*+,\/:;=?@[\]]+)/(.*)?$ plugin/$1/$2 [NC,L]
RewriteRule ^upload$ view/mini-upload-form/ [NC,L]
RewriteRule ^fileUpload$ view/mini-upload-form/upload.php [NC,L]
RewriteRule ^uploadPoster/([0-9]+)/(jpg|gif)$ objects/uploadPoster.php?video_id=$1&type=$2 [NC,L]
#for the Article name
RewriteRule ^article/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?videoName=$1 [QSA]
RewriteRule ^article/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?videoName=$1&page=$2 [QSA]
RewriteRule ^article/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/?$ view/?v=$1 [QSA]
RewriteRule ^article/([0-9a-zA-Z_.-]+)/([^!#$&'()*,\/:;=?@[\]]+)/page/([0-9]+)/??$ view/?v=$1&page=$3 [QSA]
#for the embeded article name
RewriteRule ^articleEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA]
RewriteRule ^articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA]
RewriteRule ^cat/([^!#$&'()*,\/:;=?@[\]]+)/articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?catName=$1&videoName=$2 [QSA]
RewriteRule ^articleEmbed/([0-9a-zA-Z_.-]+)/? view/videoEmbeded.php?v=$1 [QSA]
RewriteRule ^articleEmbed/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?videoName=$1 [QSA]
RewriteRule ^articleEmbed/([0-9a-zA-Z_.-]+)/([^!#$&'()*+,\/:;=?@[\]]+)/?$ view/videoEmbeded.php?v=$1 [QSA]
#edit your own user
RewriteRule ^user$ view/user.php [NC,L]
RewriteRule ^user/([0-9]+)/foto.png$ view/userGetPhoto.php?users_id=$1 [QSA]
#manager user
RewriteRule ^users$ view/managerUsers.php [NC,L]
RewriteRule ^users.json$ objects/users.json.php [NC,L]
RewriteRule ^updateUser$ objects/userUpdate.json.php [NC,L]
RewriteRule ^savePhoto$ objects/userSavePhoto.php [NC,L]
RewriteRule ^saveBackground$ objects/userSaveBackground.php [NC,L]
RewriteRule ^addNewUser$ objects/userAddNew.json.php [NC,L]
RewriteRule ^deleteUser$ objects/userDelete.json.php [NC,L]
RewriteRule ^recoverPass$ objects/userRecoverPass.php [NC,L]
RewriteRule ^saveRecoverPassword$ objects/userRecoverPassSave.json.php [NC,L]
RewriteRule ^signUp$ view/signUp.php [NC,L]
RewriteRule ^createUser$ objects/userCreate.json.php [NC,L]
RewriteRule ^usersGroups$ view/managerUsersGroups.php [NC,L]
RewriteRule ^usersGroups.json$ objects/usersGroups.json.php [NC,L]
RewriteRule ^addNewUserGroups$ objects/userGroupsAddNew.json.php [NC,L]
RewriteRule ^deleteUserGroups$ objects/userGroupsDelete.json.php [NC,L]
#manager category
RewriteRule ^categories$ view/managerCategories.php [NC,L]
RewriteRule ^categories.json$ objects/categories.json.php [NC,L]
RewriteRule ^addNewCategory$ objects/categoryAddNew.json.php [NC,L]
RewriteRule ^deleteCategory$ objects/categoryDelete.json.php [NC,L]
RewriteRule ^listCategories$ view/listCategories.php [NC,L]
#manager plugin
RewriteRule ^plugins$ view/managerPlugins.php [NC,L]
RewriteRule ^plugins.json$ objects/plugins.json.php [NC,L]
RewriteRule ^pluginsAvailable.json$ objects/pluginsAvailable.json.php [NC,L]
RewriteRule ^pluginImport.json$ objects/pluginImport.json.php [NC,L]
RewriteRule ^switchPlugin$ objects/pluginSwitch.json.php [NC,L]
RewriteRule ^addDataObjectPlugin.json$ objects/pluginAddDataObject.json.php [NC,L]
RewriteRule ^runDBScriptPlugin.json$ objects/pluginRunDatabaseScript.json.php [NC,L]
#manager playList
RewriteRule ^epg.xml$ plugin/PlayLists/epg.xml.php [NC,L,QSA]
RewriteRule ^epg.json$ plugin/PlayLists/epg.json.php [NC,L,QSA]
RewriteRule ^epg.html$ plugin/PlayLists/epg.html.php [NC,L,QSA]
RewriteRule ^epg$ plugin/PlayLists/epg.php [NC,L,QSA]
RewriteRule ^tv$ plugin/PlayLists/tv.php [NC,L,QSA]
RewriteRule ^iptv$ plugin/PlayLists/iptv.php [NC,L,QSA]
RewriteRule ^iptv/([^/]+)/?$ plugin/PlayLists/iptv.php?channelName=$1 [NC,L,QSA]
RewriteRule ^playLists.json$ objects/playlists.json.php [NC,L]
RewriteRule ^playListsVideos.json$ objects/playlistsVideos.json.php [NC,L]
RewriteRule ^playListsFromUser.json/([0-9]+)/?$ objects/playlistsFromUser.json.php?users_id=$1 [NC,L]
RewriteRule ^addNewPlayList$ objects/playlistAddNew.json.php [NC,L]
RewriteRule ^playListAddVideo.json$ objects/playListAddVideo.json.php [NC,L]
RewriteRule ^playlist/([0-9]+)/([0-9]+)/?$ view/?playlist_id=$1&playlist_index=$2 [NC,L]
RewriteRule ^playlist/([0-9]+)/?$ view/?playlist_id=$1 [NC,L]
RewriteRule ^removeVideoFromPlaylist/?$ objects/playlistRemoveVideo.php [NC,L]
RewriteRule ^removePlaylist/?$ objects/playlistRemove.php [NC,L]
RewriteRule ^renamePlaylist/?$ objects/playlistRename.php [NC,L]
RewriteRule ^sortPlaylist/?$ objects/playlistSort.php [NC,L]
RewriteRule ^mrss/?$ feed/index.php?mrss=1 [QSA]
RewriteRule ^roku.json$ feed/index.php?roku=1 [QSA]
RewriteRule ^channel/([^/]+)/roku.json$ feed/index.php?channelName=$1&roku=1 [QSA]
RewriteRule ^channel/([^/]+)/feed/?$ feed/index.php?channelName=$1 [QSA]
RewriteRule ^channel/([^/]+)/rss/?$ feed/index.php?channelName=$1 [QSA]
RewriteRule ^channel/([^/]+)/mrss/?$ feed/index.php?channelName=$1&mrss=1 [QSA]
RewriteRule ^channel/([^/]+) view/channel.php?channelName=$1 [QSA]
RewriteRule ^channel/?$ view/channel.php [QSA]
RewriteRule ^channels/?$ view/channels.php [NC,L]
#playlist alias
RewriteRule ^programs.json$ objects/playlists.json.php [QSA]
RewriteRule ^program/([0-9]+)/([0-9]+)(/.*)?$ view/?playlist_id=$1&playlist_index=$2 [QSA]
RewriteRule ^program/([0-9]+)(/.*)?$ view/?playlist_id=$1 [QSA]
RewriteRule ^viewProgram/([0-9]+).*?$ view/channelProgram.php?program_id=$1 [QSA]
RewriteRule ^favorite/?$ view/?playlist_name=favorite [QSA]
RewriteRule ^watch-later/?$ view/?playlist_name=watch-later [QSA]
#manager videos
RewriteRule ^orphanFiles$ view/orphanFiles.php [NC,L]
RewriteRule ^mvideos$ view/managerVideos.php [NC,L]
RewriteRule ^videos.json$ objects/videos.json.php [NC,L]
RewriteRule ^videosAndroid.json$ objects/videosAndroid.json.php [NC,L]
RewriteRule ^videoAndroid.json$ objects/videoAndroid.json.php [NC,L]
RewriteRule ^deleteVideo$ objects/videoDelete.json.php [NC,L]
RewriteRule ^addNewVideo$ objects/videoAddNew.json.php [NC,L]
RewriteRule ^refreshVideo$ objects/videoRefresh.json.php [NC,L]
RewriteRule ^setStatusVideo$ objects/videoStatus.json.php [NC,L]
RewriteRule ^setCategoryVideo$ objects/videoCategory.json.php [NC,L]
RewriteRule ^rotateVideo$ objects/videoRotate.json.php [NC,L]
# Subscribes
RewriteRule ^subscribes$ view/managerSubscribes.php [NC,L]
RewriteRule ^subscribes.json$ objects/subscribes.json.php [NC,L]
RewriteRule ^subscribe.json$ objects/subscribe.json.php [NC,L]
RewriteRule ^notifySubscribers.json$ objects/notifySubscribers.json.php [NC,L]
RewriteRule ^aVideoQueueEncoder.json$ objects/aVideoQueueEncoder.json.php [NC,L]
RewriteRule ^aVideoEncoder.json$ objects/aVideoEncoder.json.php [NC,L]
RewriteRule ^aVideoEncoderChunk.json$ objects/aVideoEncoderChunk.json.php [NC,L]
#comment
RewriteRule ^comments$ view/managerComments.php [NC,L]
RewriteRule ^saveComment$ objects/commentAddNew.json.php [NC,L]
RewriteRule ^comments.json/([0-9]+)$ objects/comments.json.php?video_id=$1 [NC,L]
RewriteRule ^login$ objects/login.json.php [NC,L]
RewriteRule ^logoff$ objects/logoff.php [NC,L]
RewriteRule ^like$ objects/like.json.php?like=1 [QSA]
RewriteRule ^dislike$ objects/like.json.php?like=-1 [QSA]
#manager configuration
RewriteRule ^update/?$ view/update.php [NC,L]
RewriteRule ^siteConfigurations$ view/configurations.php [NC,L]
RewriteRule ^updateConfig$ objects/configurationUpdate.json.php [NC,L]
RewriteRule ^charts$ view/charts.php [NC,L]
RewriteRule ^help$ view/help.php [NC,L]
# YouTube Sync
RewriteRule ^youtubeUpload$ objects/youtubeUpload.json.php [NC,L]
RewriteRule ^googleAdView$ view/googleAdView.php [NC,L]
RewriteRule ^notifications.json$ objects/notifications.json.php [NC,L]
RewriteRule ^sitemap.xml$ view/sitemap.xml.php [NC,L]
RewriteRule ^robots.txt$ view/robots.txt.php [NC,L]
RewriteRule ^manifest.json$ view/manifest.json.php [NC,L]
RewriteRule ^videos/(.*)/index.m3u8$ view/hls.php?videoDirectory=$1 [NC,L,QSA]
RewriteRule ^videos/(.*)/index.m3u8.mp4$ view/hls.php?playHLSasMP4=1&videoDirectory=$1 [NC,L,QSA]
RewriteRule ^vast.xml/?([0-9]+)?$ plugin/AD_Server/VAST.php?campaign_has_videos_id=$1 [NC,L]
RewriteRule ^videos/([_A-Za-z0-9.-]+/)?([^!#$&'()*+,\/:;=?@[\]]+(\.(mp4|webm|m3u8|mp3|ogg)))$ view/xsendfile.php?file=$2 [QSA]
# if image do not exists
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)$ img/image404.php?image=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .*$ view/error.php [NC,L]
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddType text/vtt .vtt
#php_value post_max_size 4G
#php_value upload_max_filesize 4G