Closed JohnDarkhorse closed 3 years ago
Hmm. There isn't a PHP command to clear the feed cache per se. All you have to do is set up a cron job that deletes the feed cache files from the cache directory /var/lib/torrentwatch-xa/dl_cache.
rm /var/lib/torrentwatch-xa/dl_cache/rsscache_*
rm /var/lib/torrentwatch-xa/dl_cache/feedcache_*
But it might be better to fix the problem directly rather than do a workaround. I don't expect the deletion of the cache files to actually fix your problem, because I suspect that your cron job is not running with the proper permissions to either write to the cache files (and thus cannot update them) or to the directory the cache files are in.
What does your cron job entry look like? What user does your web server run as? What user and group own /var/lib/torrentwatch-xa/dl_cache?
For Debian/Ubuntu systems, the user is www-data for the cron job and the web server, and the owner and group of the directory /var/lib/torrentwatch-xa/dl_cache are both www-data.
What does your cron job entry look like?
The cronjob installation instructions were followed:
/etc/cron.d/torrentwatch-xa-cron
# /etc/cron.d/torrentwatch-xa: crontab fragment for torrentwatch-xa # Checks for new torrents every 15 minutes, which is a good starting # point because the feed cache(s) is marked old every 14 minutes, 50 seconds. */15 www-data /usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php >/dev/null 2>&1
What user does your web server run as?
What user and group own /var/lib/torrentwatch-xa/dl_cache?
/var/www.html/torrentwatch-xa files are run under my user name. /lib/torrentwatch-xa/lib is run under my user name /lib/torrentwatch-xa/dl_cache and config_cache are run under www-data
Thanks. It might be that the cron job running as www-data cannot actually read and run the PHP file /var/www/html/torrentwatch-xa/twxa_cli.php
What are the owner, group, and permissions on /var/www/html/torrentwatch-xa/twxa_cli.php? I assume the owner is your user name. No idea what the group is. The permissions should be -rw-r--r-- (644) so that www-data can read the file.
Is it possible for you to change everything to www-data and not use your user name? If not, we'll keep working on it. It should still be possible to do if you use groups and group permissions properly.
Oh, there is another possibility. On some UNIX/LINUX flavors, the notation
*/15
doesn't work in crontabs.
For those system, you must change it to:
0,15,30,45
so that the line is:
0,15,30,45 * * * * www-data /usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php >/dev/null 2>&1
But we should not try this until after verifying the permissions are correct.
What are the owner, group, and permissions on /var/www/html/torrentwatch-xa/twxa_cli.php?
Was:
-rw-rw-r-- 1 me me 1577 Nov 30 00:55 /var/www/html/torrentwatch-xa/twxa_cli.php
now is
-rw-r--r-- 1 me me 1577 Nov 30 00:55 /var/www/html/torrentwatch-xa/twxa_cli.php
Okay. Your prior permissions were more permissive, so that is not likely the problem.
As yourself (logged in as "me"), run the cron job at the command line by typing:
/usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php
Do you get any errors?
If it runs and says nothing, then it likely worked properly. Then you should go check the cache files in the dl_cache directory. Check the owner, group, and modification datestamp.
It should look something like this:
-rw-rw-r-- 1 www-data www-data 165115 May 9 19:30 feedcache_acd50784f18eb929a9835d4c33b1f
It might be called rsscache and not feedcache.
If they did not change, then delete the cache files in dl_cache, then run the command again. Then go back and look, and you should see fresh cache files owned by me and group me like so:
-rw-rw-r-- 1 me me 165115 May 9 22:00 feedcache_acd50784f18eb929a9835d4c33b1f
Basically, you want to see the cron job command manually create the cache file when run as you. That verifies that it can at least get that far.
Next step would be to try to run the cron job command manually as www-data. But that will require that you enable www-data for shell access or su access.
As yourself (logged in as "me"), run the cron job at the command line by typing:
/usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php
Got this:
PHP Warning: file_get_contents(/var/lib/torrentwatch-xa/config_cache/torrentwatch-xa-config.cache): failed to open stream: Permission denied in /var/lib/torrentwatch-xa/lib/twxa_config_lib.php on line 225
PHP Warning: file_get_contents(/var/lib/torrentwatch-xa/config_cache/torrentwatch-xa.config): failed to open stream: Permission denied in /var/lib/torrentwatch-xa/lib/twxa_config_lib.php on line 233
PHP Warning: file_put_contents(/var/log/twxalog): failed to open stream: Permission denied in /var/lib/torrentwatch-xa/lib/twxa_tools.php on line 91
PHP Warning: file_put_contents(/var/log/twxalog): failed to open stream: Permission denied in /var/lib/torrentwatch-xa/lib/twxa_tools.php on line 91
PHP Warning: file_put_contents(/var/log/twxalog): failed to open stream: Permission denied in /var/lib/torrentwatch-xa/lib/twxa_tools.php on line 91
PHP Warning: file_put_contents(/var/log/twxalog): failed to open stream: Permission denied in /var/lib/torrentwatch-xa/lib/twxa_tools.php on line 91
Okay, clear the cache files out like this:
sudo rm /var/lib/torrentwatch-xa/dl_cache/rsscache_*
sudo rm /var/lib/torrentwatch-xa/dl_cache/feedcache_*
Then run the cron job again as root:
sudo /usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php
ls -l /var/lib/torrentwatch-xa/dl_cache/
You should see the cache file, and it should be owned by root:root, and it should have a fresh datestamp.
If that works, then destroy the cache files again like this:
sudo rm /var/lib/torrentwatch-xa/dl_cache/rsscache_*
sudo rm /var/lib/torrentwatch-xa/dl_cache/feedcache_*
Then this time run the cron job as yourself, without sudo.
/usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php
ls -l /var/lib/torrentwatch-xa/dl_cache/
I am pretty sure we have a simple permissions mismatch going on somewhere.
Followed latest instructions.
All went as expected until final "run cron job as self", which resulted in identical errors resulted as seen in https://github.com/dchang0/torrentwatch-xa/issues/14#issuecomment-836192367
Okay, that is what I expected. When you ran with sudo, since it has root power, it works. This proves that the script is at least able to write the fresh cache files to the correct path with root power. Then, you ran it as yourself, and it failed because of permissions mismatches.
So, let's do this.
First, clear the cache files out just in case:
sudo rm /var/lib/torrentwatch-xa/dl_cache/rsscache_*
sudo rm /var/lib/torrentwatch-xa/dl_cache/feedcache_*
Then change the cron job line to this:
0,15,30,45 * * * * www-data /usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php
And then wait 15 minutes.
Why do this?
a) We change from the */15
notation to the older 0,15,30,45
notation just to be sure.
b) We will see permissions errors show up in the cron log file (probably the system log, either /var/log/syslog or /var/log/messages).
If you do see the permissions errors in the cron log file, then we are absolutely sure that permissions is the cause.
Then, we can focus on fixing the permissions issues.
From /var/log/syslog:
May 10 01:02:01 serverX12 cron[516]: (*system*torrentwatch-xa-cron) INSECURE MODE (group/other writable) (/etc/cron.d/torrentwatch-xa-cron)
Hmm. Not what I expected, but still useful.
Did fresh cache files get written? Check and see. If not, then we are still very confident that it's a permissions issue, since it did work when you ran it using sudo as root.
No rsscache_* files are being written.
As an aside, I've not seen any feedcache_* files since installation.
Another aside: I used the "manual installation" instructions.
feedcache_* is for Atom feeds, so if you never used those, then they would never show up.
Okay, let's check to see what user the web server process is running under.
sudo ps aux|grep httpd
or
sudo ps aux|grep apache2
We are looking for lines like this:
root 2355 0.0 0.6 215064 24888 ? Ss Apr20 1:05 /usr/sbin/apache2 -k start
www-data 450940 0.0 0.6 290168 25280 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 450941 0.0 0.6 289420 24372 ? S 00:00 0:00 /usr/sbin/apache2 -k start
The user would be www-data.
Once we know this, then we can decide what to do next.
Next will be your choice.
a) You can choose to make all the users and groups uniform. This is the stock method, making everything owned by www-data:www-data. You would run chown on a bunch of files and folders.
b) You can choose to open the permissions on the files and folders. This will work too, but it might be less secure than you need. You would run chmod on a bunch of files and folders.
Okay, let's check to see what user the web server process is running under.
root 60477 0.0 0.3 211704 26060 ? Ss May07 0:06 /usr/sbin/apache2 -k start
www-data 92588 0.0 0.2 212008 21816 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 92589 0.0 0.3 287496 27232 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 92590 0.0 0.2 212008 19624 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 92591 0.0 0.2 212280 20224 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 92592 0.0 0.2 212008 19624 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 92594 0.0 0.2 212008 19572 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 92767 0.0 0.2 212008 19624 ? S 00:16 0:00 /usr/sbin/apache2 -k start
You can choose to make all the users and groups uniform. This is the stock method, making everything owned by www-data:www-data. You would run chown on a bunch of files and folders.
So make all the torrentwatch stuff owned by www-data?
Looks like your apache2 is running as the www-data user.
We should start conservatively if changing owners or permissions.
What does this command say?
ls -la /var/lib/torrentwatch-xa
This is what a stock installation looks like:
# ls -la /var/lib/torrentwatch-xa
total 84
drwxr-xr-x 6 root root 4096 Dec 7 10:01 .
drwxr-xr-x 36 root root 4096 Feb 4 23:20 ..
-rw-r--r-- 1 root root 89 Dec 7 10:01 .gitignore
drwxr-xr-x 2 www-data www-data 4096 May 9 07:45 config_cache
drwxr-xr-x 2 www-data www-data 57344 May 9 23:00 dl_cache
drwxr-xr-x 2 root root 4096 Dec 7 10:01 examples
drwxr-xr-x 4 root root 4096 Jan 25 12:25 lib
We need to pay close attention to the permissions and owners.
Ah, I recursively chown'd /var/www/html/torrentwatch-xa and /var/lib/torrentwatch-xa to www-data
Lemme redo /var/lib/torrentwatch-xa/lib
www-data should still work. You don't have to follow the root:root owner:group that is stock.
Changing /var/lib/torrentwatch-xa/lib to root ownership didn't do anything
Still getting this error message:
May 10 01:31:01 server12 cron[516]: (*system*torrentwatch-xa-cron) INSECURE MODE (group/other writable) (/etc/cron.d/torrentwatch-xa-cron)
This should work.
sudo chown -R www-data:www-data /var/lib/torrentwatch-xa
sudo chown -R www-data:www-data /var/www/html/torrentwatch-xa
sudo chown -R www-data:www-data /var/lib/torrentwatch-xa/*_cache
sudo rm /var/lib/torrentwatch-xa/dl_cache/*cache_*
Then, we might have to go in and check the permissions of the files and directories, but I doubt it.
One other question: are you running SELINUX in enforcing mode?
All three directorys are owned by www-data
Dunno what SELINUX is. Am running Ubuntu 20.04.2 LTS
I think SELINUX is turned off on Ubuntu 20.04.2 LTS.
Once you've run this, then wait and see what the cron job does.
sudo rm /var/lib/torrentwatch-xa/dl_cache/*cache_*
If the cron job fails again, then the next step is to enable the ability to log in as www-data and then manually run the cron job as www-data.
It's kind of tedious but would be the next step.
You would do it this way:
Run this once:
sudo usermod --shell /bin/bash www-data
Then run this:
sudo rm /var/lib/torrentwatch-xa/dl_cache/*cache_*
sudo su -l www-data -c '/usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php'
This should produce errors at the command line if it doesn't write the cache files.
If it produces the cache files without errors, then you can switch the www-data user's shell back to nologin with this command. Run this once at the end, only after everything is working:
sudo usermod --shell /usr/sbin/nologin www-data
running it as www-data produced cache files and no errors given at command line
That's good news.
Now, as long as the cron job has www-data in it like so:
0,15,30,45 * * * * www-data /usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php
It should work going forward. All you have to do is wait 15 minutes and check the timestamps of the cache files.
Once you have confirmed that it's working, then I would let it run for several hours (maybe a whole 24 hours) for some Favorites to automatically download some shows.
At the very end, once everything is working, you can turn off the login for www-data with the command I gave in https://github.com/dchang0/torrentwatch-xa/issues/14#issuecomment-836252787
At the very end, you might also put the tail end of the cron job entry back, like this:
0,15,30,45 * * * * www-data /usr/bin/php -q /var/www/html/torrentwatch-xa/twxa_cli.php >/dev/null 2>&1
ALSO, please test the web UI too by clearing All the caches. It should force a re-creation of fresh cache files too. This is to make sure we didn't break the web UI while fixing the cron job.
Let me know how it goes after a few hours or days of testing so that we can close this issue.
Completely unrelated (would have DM'd you, but don't think that exists on GH), but would you have a website that explains the differences 'tween "simple", "glob" and "regexp"?
I thought I'd filtered out 720p and 1080p versions of one of my favorites and it downloaded a 720p version anyway :(
Oh, hmm. I should probably add more detail to the short explanation in USAGE.md.
In all three modes, the Item Title and Filter strings are both converted to lowercase only right before the string comparison.
simple = exact match of string starting at the beginning of the string. So, in simple mode, to match the title you need to spell it exactly. Uses the PHP strpos() function for string comparison.
glob = allows simple wildcards used in filesystem commands. Basically *
and ?
. Uses the PHP fnmatch() function for string comparison. The name comes from the PHP glob() function that fnmatch() is related to.
regexp = the default--uses Perl-compatible regular expression notation. Uses the PHP preg_match() function for string comparison.
In regexp mode, this is what I'd do for 1080p only:
Quality: 1080p
That should work fine and should never pull down 720p.
The last entry to the rsscache_* was 3-ish hours ago (back when it was run in the shell by www-data)
Since then, the rsscache_* files haven't been updated.
I went into the html interface & used the button to clear the feed caches and everything updated (so, we're back to the beginning of this issue)
EDITED
Since the cron.d entry is throwing INSECURE warnings, I disabled it and put the line into root's crontab. Still no workee.
You are a saint for putting this software out, but I think I will wait for the .deb file.
Could you check one more thing?
ls -la /var/log/twxalog
It should say:
-rw-r--r-- 1 www-data www-data 27061172 May 10 08:30 twxalog
Make sure the permissions are 644 and the owner:group are www-data:www-data.
Oh, hey, I found the solution.
It is indeed the cron INSECURE MODE error preventing the cron job from running at all.
Check out this other issue on a totally unrelated project for their solution.
https://github.com/webmin/webmin/issues/858
The solution for you would be:
sudo chmod 644 /etc/cron.d/torrentwatch-xa-cron
sudo chown root:root /etc/cron.d/torrentwatch-xa-cron
Then wait 15 minutes. If it doesn't work, try this command:
sudo touch /var/spool/cron/crontabs
Per https://github.com/dchang0/torrentwatch-xa/issues/14#issuecomment-836854155
. . . all is as you posted.
Per https://github.com/dchang0/torrentwatch-xa/issues/14#issuecomment-836860977
No more "INSECURE MODE" errors, but the installation is still not updating unless the "Empty Caches" > "Clear caches" > "RSS Feeds" is clicked.
You are a saint, but you should stop wasting your time with me (it's probably something I mungled up doing a manual install.) and see about rolling all this into a .deb file.
Making the deb file should be relatively easy, as there are no binary blobs here, so you can make one .deb for all architectures.
You don't need a repository or anything (the .deb can be served from here), and just include the instructions for folks to install it:
sudo dpkg -i /path/to/deb
sudo apt-get -f install
The targetless apt-get install invocation will pull in any missing components (-the "-f" means "fix broken")
Also, the deb file can be installed by non-debian users.
Very interesting and weird.... At this point, your cron job is probably correct, but it is clear that there is still a permissions problem somewhere.
I'll generate a full list of the files and permissions and owner:group for you later from my working test instance. You'll be able to compare the entire list of files you have to the entire known-good list.
And thanks--I'll start looking into making the .deb file. It's been on my TODO list long enough, haha.
Here's a complete listing of all the files and processes that matter along with enough info to see the permissions, owner, group of each file and folder. You can check every file and folder you have against this list.
Make sure SELINUX is not installed on your machine. If it is installed, make sure it is not in enforcing mode.
# ls -ld /etc/cron.d
drwxr-xr-x 2 root root 4096 May 9 23:58 /etc/cron.d
# ls -la /etc/cron.d/torrentwatch-xa-cron
-rw-r--r-- 1 root root 312 Dec 7 10:01 /etc/cron.d/torrentwatch-xa-cron
# find /var/lib/torrentwatch-xa/ -ls
1574009 4 drwxr-xr-x 6 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/
1574013 60 drwxr-xr-x 2 www-data www-data 57344 May 12 20:46 /var/lib/torrentwatch-xa/dl_cache
1573324 156 -rw-r--r-- 1 www-data www-data 155784 May 12 20:46 /var/lib/torrentwatch-xa/dl_cache/feedcache_acd50784f18eb929a9835d4c33b22c1f
1574014 4 -rw-r--r-- 1 www-data www-data 154 Dec 7 10:01 /var/lib/torrentwatch-xa/dl_cache/README.md
1573321 4 -rw-rw-r-- 1 www-data www-data 48 May 12 20:15 /var/lib/torrentwatch-xa/dl_cache/.Transmission-Session-Id
1574015 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/examples
1574017 4 -rwxr-xr-x 1 root root 1010 Dec 7 10:01 /var/lib/torrentwatch-xa/examples/example-script.sh
1574016 4 -rwxr-xr-x 1 root root 1448 Dec 7 10:01 /var/lib/torrentwatch-xa/examples/example-mailscript.sh
1574018 4 drwxr-xr-x 4 root root 4096 Jan 25 12:25 /var/lib/torrentwatch-xa/lib
1574124 4 -rw-r--r-- 1 root root 471 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_test_parser.php
1579984 36 -rw-r--r-- 1 root root 33289 Jan 25 12:25 /var/lib/torrentwatch-xa/lib/twxa_parse.php
1574123 4 -rw-r--r-- 1 root root 3562 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match6.php
1574099 12 -rw-r--r-- 1 root root 9464 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/class.bdecode.php
1574118 20 -rw-r--r-- 1 root root 20458 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match1.php
1574110 36 -rw-r--r-- 1 root root 34131 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_config_lib.php
1574109 12 -rw-r--r-- 1 root root 9413 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_cache.php
1574102 4 drwxr-xr-x 3 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/laminas-xml
1574107 16 -rwxr-xr-x 1 root root 13188 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/laminas-xml/Security.php
1574103 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/laminas-xml/Exception
1574104 4 -rwxr-xr-x 1 root root 342 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/laminas-xml/Exception/ExceptionInterface.php
1574105 4 -rwxr-xr-x 1 root root 446 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/laminas-xml/Exception/InvalidArgumentException.php
1574106 4 -rwxr-xr-x 1 root root 421 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/laminas-xml/Exception/RuntimeException.php
1574019 4 drwxr-xr-x 14 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed
1574039 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Filter
1574042 8 -rwxr-xr-x 1 root root 6587 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Filter/Html.php
1574043 8 -rwxr-xr-x 1 root root 4431 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Filter/Tag.php
1574041 4 -rwxr-xr-x 1 root root 3768 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Filter/Filter.php
1574040 20 -rwxr-xr-x 1 root root 17152 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Filter/Attribute.php
1574078 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Scraper
1574080 4 -rwxr-xr-x 1 root root 322 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Scraper/ParserInterface.php
1574083 8 -rwxr-xr-x 1 root root 6320 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Scraper/Scraper.php
1574082 4 -rwxr-xr-x 1 root root 2502 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Scraper/RuleParser.php
1574079 8 -rwxr-xr-x 1 root root 6512 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Scraper/CandidateParser.php
1574081 4 -rwxr-xr-x 1 root root 2624 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Scraper/RuleLoader.php
1574037 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Encoding
1574038 4 -rwxr-xr-x 1 root root 832 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Encoding/Encoding.php
1574066 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Processor
1574069 4 -rwxr-xr-x 1 root root 2177 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Processor/ItemPostProcessor.php
1574067 4 -rwxr-xr-x 1 root root 917 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Processor/ContentFilterProcessor.php
1574068 4 -rwxr-xr-x 1 root root 985 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Processor/ContentGeneratorProcessor.php
1574071 4 -rwxr-xr-x 1 root root 2072 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Processor/ScraperProcessor.php
1574070 4 -rwxr-xr-x 1 root root 427 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Processor/ItemProcessorInterface.php
1574084 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Serialization
1574087 8 -rwxr-xr-x 1 root root 5277 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Serialization/SubscriptionListBuilder.php
1574088 4 -rwxr-xr-x 1 root root 2166 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Serialization/SubscriptionListParser.php
1574089 4 -rwxr-xr-x 1 root root 3377 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Serialization/SubscriptionParser.php
1574086 4 -rwxr-xr-x 1 root root 1234 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Serialization/SubscriptionList.php
1574085 4 -rwxr-xr-x 1 root root 2913 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Serialization/Subscription.php
1574048 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Logging
1574049 4 -rwxr-xr-x 1 root root 1910 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Logging/Logger.php
1574090 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication
1574094 4 -rwxr-xr-x 1 root root 3029 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/FeedBuilder.php
1574093 4 -rwxr-xr-x 1 root root 1769 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/AtomItemBuilder.php
1574098 4 -rwxr-xr-x 1 root root 2062 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/Rss20ItemBuilder.php
1574091 4 -rwxr-xr-x 1 root root 1759 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/AtomFeedBuilder.php
1574095 4 -rwxr-xr-x 1 root root 3502 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/ItemBuilder.php
1574097 4 -rwxr-xr-x 1 root root 2496 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/Rss20Helper.php
1574092 4 -rwxr-xr-x 1 root root 3248 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/AtomHelper.php
1574096 4 -rwxr-xr-x 1 root root 2265 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Syndication/Rss20FeedBuilder.php
1574021 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client
1574033 4 -rwxr-xr-x 1 root root 128 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/UnauthorizedException.php
1574027 4 -rwxr-xr-x 1 root root 179 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/InvalidCertificateException.php
1574028 4 -rwxr-xr-x 1 root root 163 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/InvalidUrlException.php
1574034 8 -rwxr-xr-x 1 root root 6680 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/Url.php
1574029 4 -rwxr-xr-x 1 root root 165 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/MaxRedirectException.php
1574023 4 -rwxr-xr-x 1 root root 199 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/ClientException.php
1574022 16 -rwxr-xr-x 1 root root 15676 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/Client.php
1574032 4 -rwxr-xr-x 1 root root 157 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/TimeoutException.php
1574026 4 -rwxr-xr-x 1 root root 1878 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/HttpHeaders.php
1574024 16 -rwxr-xr-x 1 root root 12324 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/Curl.php
1574031 8 -rwxr-xr-x 1 root root 5753 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/Stream.php
1574030 4 -rwxr-xr-x 1 root root 157 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/MaxSizeException.php
1574025 4 -rwxr-xr-x 1 root root 125 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Client/ForbiddenException.php
1574035 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Config
1574036 8 -rwxr-xr-x 1 root root 4502 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Config/Config.php
1574044 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Generator
1574045 4 -rwxr-xr-x 1 root root 375 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Generator/ContentGeneratorInterface.php
1574047 4 -rwxr-xr-x 1 root root 1537 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Generator/YoutubeContentGenerator.php
1574046 4 -rwxr-xr-x 1 root root 798 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Generator/FileContentGenerator.php
1574050 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser
1574054 12 -rwxr-xr-x 1 root root 9676 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Item.php
1574057 4 -rwxr-xr-x 1 root root 227 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/ParserException.php
1574051 16 -rwxr-xr-x 1 root root 12320 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Atom.php
1574058 8 -rwxr-xr-x 1 root root 4894 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/ParserInterface.php
1574056 12 -rwxr-xr-x 1 root root 10986 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Parser.php
1574052 4 -rwxr-xr-x 1 root root 2865 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/DateParser.php
1574060 12 -rwxr-xr-x 1 root root 10435 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Rss20.php
1574063 4 -rwxr-xr-x 1 root root 195 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/XmlEntityException.php
1574059 12 -rwxr-xr-x 1 root root 9840 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Rss10.php
1574062 4 -rwxr-xr-x 1 root root 153 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Rss92.php
1574061 4 -rwxr-xr-x 1 root root 153 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Rss91.php
1574064 8 -rwxr-xr-x 1 root root 6226 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/XmlParser.php
1574053 8 -rwxr-xr-x 1 root root 5031 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/Feed.php
1574055 4 -rwxr-xr-x 1 root root 195 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Parser/MalformedXmlException.php
1574072 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Reader
1574073 8 -rwxr-xr-x 1 root root 4189 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Reader/Favicon.php
1574076 4 -rwxr-xr-x 1 root root 183 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Reader/SubscriptionNotFoundException.php
1574074 8 -rwxr-xr-x 1 root root 5259 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Reader/Reader.php
1574077 4 -rwxr-xr-x 1 root root 185 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Reader/UnsupportedFeedFormatException.php
1574075 4 -rwxr-xr-x 1 root root 199 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Reader/ReaderException.php
1574065 4 -rwxr-xr-x 1 root root 171 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/PicoFeedException.php
1574020 4 -rwxr-xr-x 1 root root 700 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/PicoFeed/Base.php
1574101 44 -rw-r--r-- 1 root root 42587 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/class.smtp.php
1574119 40 -rw-r--r-- 1 root root 39511 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match2.php
1574122 4 -rw-r--r-- 1 root root 2138 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match5.php
1574108 16 -rw-r--r-- 1 root root 13187 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_atomparser.php
1574112 8 -rw-r--r-- 1 root root 7854 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_feed_parser_wrapper.php
1574117 4 -rw-r--r-- 1 root root 1607 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match0.php
1574113 4 -rw-r--r-- 1 root root 3493 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_html.php
1574125 12 -rw-r--r-- 1 root root 10326 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_tools.php
1574126 28 -rw-r--r-- 1 root root 27778 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_torrent.php
1574111 28 -rw-r--r-- 1 root root 26953 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_feed.php
1574116 36 -rw-r--r-- 1 root root 34663 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match.php
1574120 24 -rw-r--r-- 1 root root 22967 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match3.php
1574121 4 -rw-r--r-- 1 root root 1450 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_parse_match4.php
1574114 16 -rw-r--r-- 1 root root 12762 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/twxa_lastRSS.php
1574100 144 -rw-r--r-- 1 root root 146763 Dec 7 10:01 /var/lib/torrentwatch-xa/lib/class.phpmailer.php
1574011 4 drwxr-xr-x 2 www-data www-data 4096 May 12 08:45 /var/lib/torrentwatch-xa/config_cache
1574012 4 -rw-r--r-- 1 www-data www-data 173 Dec 7 10:01 /var/lib/torrentwatch-xa/config_cache/README.md
1573354 12 -rw-rw---- 1 www-data www-data 11132 May 12 20:43 /var/lib/torrentwatch-xa/config_cache/torrentwatch-xa-config.cache
1573356 16 -rw------- 1 www-data www-data 13732 May 12 08:30 /var/lib/torrentwatch-xa/config_cache/torrentwatch-xa.config
1574010 4 -rw-r--r-- 1 root root 89 Dec 7 10:01 /var/lib/torrentwatch-xa/.gitignore
# ls -ld /var/www/html
drwxr-xr-x 5 root root 4096 Dec 8 08:30 /var/www/html
# find /var/www/html/torrentwatch-xa/ -ls
919230 4 drwxr-xr-x 6 root root 4096 Feb 23 15:56 /var/www/html/torrentwatch-xa/
1313225 4 drwxr-xr-x 2 root root 4096 Feb 23 12:41 /var/www/html/torrentwatch-xa/javascript
1313232 4 -rw-r--r-- 1 root root 1447 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/jquery.tinysort.min.js
1313236 4 -rw-r--r-- 1 root root 1366 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/twxa_ui_functions.js
1313234 72 -rw-r--r-- 1 root root 72529 Feb 23 12:41 /var/www/html/torrentwatch-xa/javascript/torrentwatch-xa.js
1313231 24 -rw-r--r-- 1 root root 22432 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/jquery.form.min.js.map
1313226 88 -rw-r--r-- 1 root root 89476 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/jquery-3.5.1.min.js
1313228 12 -rw-r--r-- 1 root root 10976 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/jquery-migrate-3.3.1.min.js
1313233 4 -rw-r--r-- 1 root root 1642 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/js.cookie-2.2.1.min.js
1313230 20 -rw-r--r-- 1 root root 16598 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/jquery.form.min.js
1313237 4 -rw-r--r-- 1 root root 2195 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/twxa_utility_functions.js
1313235 8 -rw-r--r-- 1 root root 6043 Feb 23 10:36 /var/www/html/torrentwatch-xa/javascript/twxa_event_bindings.js
1313227 136 -rw-r--r-- 1 root root 137986 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/jquery-3.5.1.min.map
1313229 8 -rw-r--r-- 1 root root 4246 Dec 7 10:01 /var/www/html/torrentwatch-xa/javascript/jquery.cookie.js
920069 8 -rw-r--r-- 1 root root 5655 Dec 7 10:01 /var/www/html/torrentwatch-xa/twxa_fav_import.php
917685 8 -rw-r--r-- 1 root root 7957 Feb 23 15:56 /var/www/html/torrentwatch-xa/index.html
1181910 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/www/html/torrentwatch-xa/images
1181946 4 -rw-r--r-- 1 root root 948 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo22.png
1181934 4 -rw-r--r-- 1 root root 147 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_stop_20x20.png
1181928 4 -rw-r--r-- 1 root root 162 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_pause_20x20.png
1181921 4 -rw-r--r-- 1 root root 689 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/search_32x32.png
1181916 4 -rw-r--r-- 1 root root 49 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/blank.gif
1181918 4 -rw-r--r-- 1 root root 312 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/dropdown.png
1181936 4 -rw-r--r-- 1 root root 355 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_trash_20x20.png
1181943 4 -rw-r--r-- 1 root root 1361 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo16@2x.png
1181933 4 -rw-r--r-- 1 root root 390 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_start_40x40.png
1181929 4 -rw-r--r-- 1 root root 160 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_pause_40x40.png
1181941 8 -rw-r--r-- 1 root root 5240 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo152.png
1181940 8 -rw-r--r-- 1 root root 5039 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo144.png
1181938 4 -rw-r--r-- 1 root root 3932 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo114.png
1181925 4 -rw-r--r-- 1 root root 142 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_hide_40x40.png
1181950 4 -rw-r--r-- 1 root root 2732 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo72.png
1181926 4 -rw-r--r-- 1 root root 355 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_move_20x20.png
1181922 4 -rw-r--r-- 1 root root 359 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_fav_20x20.png
1181944 8 -rw-r--r-- 1 root root 6102 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo180.png
1181931 4 -rw-r--r-- 1 root root 346 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_resume_40x40.png
1181913 4 -rw-r--r-- 1 root root 1084 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/arrow-left.png
1181927 4 -rw-r--r-- 1 root root 377 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_move_40x40.png
1181935 4 -rw-r--r-- 1 root root 156 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_stop_40x40.png
1181930 4 -rw-r--r-- 1 root root 261 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_resume_20x20.png
1181932 4 -rw-r--r-- 1 root root 1024 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_start_20x20.png
1181915 4 -rw-r--r-- 1 root root 1077 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/arrow.png
1181924 4 -rw-r--r-- 1 root root 962 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_hide_20x20.png
1181951 4 -rw-r--r-- 1 root root 693 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/webui.png
1181939 8 -rw-r--r-- 1 root root 4131 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo120.png
1181948 4 -rw-r--r-- 1 root root 1361 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo32.png
1181949 4 -rw-r--r-- 1 root root 2250 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo57.png
1181912 12 -rw-r--r-- 1 root root 10819 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/ajaxload.gif
1181919 36 -rw-r--r-- 1 root root 32988 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/favicon.ico
1181937 4 -rw-r--r-- 1 root root 680 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_trash_40x40.png
1181917 4 -rw-r--r-- 1 root root 1447 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/btn_donate_SM.gif
1181920 4 -rw-r--r-- 1 root root 509 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/refresh_32x32.png
1181942 4 -rw-r--r-- 1 root root 730 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo16.png
1181914 4 -rw-r--r-- 1 root root 1082 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/arrow-right.png
1181945 8 -rw-r--r-- 1 root root 6617 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo192.png
1181947 4 -rw-r--r-- 1 root root 1771 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/torrentwatch-xa-logo22@2x.png
1181911 4 -rw-r--r-- 1 root root 673 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/ajax-loader-small.gif
1181923 4 -rw-r--r-- 1 root root 1864 Dec 7 10:01 /var/www/html/torrentwatch-xa/images/tor_fav_40x40.png
920064 4 -rw-r--r-- 1 root root 146 Dec 7 10:01 /var/www/html/torrentwatch-xa/README.md
1448354 4 drwxr-xr-x 2 root root 4096 Feb 23 12:37 /var/www/html/torrentwatch-xa/templates
1448356 4 -rw-r--r-- 1 root root 1525 Dec 7 10:01 /var/www/html/torrentwatch-xa/templates/favorites.tpl
1448362 4 -rw-r--r-- 1 root root 323 Dec 7 10:01 /var/www/html/torrentwatch-xa/templates/transmission.tpl
1448360 4 -rw-r--r-- 1 root root 647 Dec 7 10:01 /var/www/html/torrentwatch-xa/templates/history.tpl
1448359 32 -rw-r--r-- 1 root root 32121 Dec 7 10:01 /var/www/html/torrentwatch-xa/templates/global_config.tpl
1448361 4 -rw-r--r-- 1 root root 1963 Dec 7 10:01 /var/www/html/torrentwatch-xa/templates/legend.tpl
1448355 4 -rw-r--r-- 1 root root 593 Dec 7 10:01 /var/www/html/torrentwatch-xa/templates/clear_cache.tpl
1444435 8 -rw-r--r-- 1 root root 5030 Feb 23 12:37 /var/www/html/torrentwatch-xa/templates/feed_item.tpl
1448357 8 -rw-r--r-- 1 root root 5187 Dec 7 10:01 /var/www/html/torrentwatch-xa/templates/favorites_info.tpl
920065 4 -rw-r--r-- 1 root root 1039 Dec 7 10:01 /var/www/html/torrentwatch-xa/config.php
920068 4 -rw-r--r-- 1 root root 1577 Dec 7 10:01 /var/www/html/torrentwatch-xa/twxa_cli.php
1050628 4 drwxr-xr-x 2 root root 4096 Dec 7 10:01 /var/www/html/torrentwatch-xa/css
1050633 32 -rw-r--r-- 1 root root 29269 Dec 7 10:01 /var/www/html/torrentwatch-xa/css/torrentwatch-xa.css
1050632 4 -rw-r--r-- 1 root root 1850 Dec 7 10:01 /var/www/html/torrentwatch-xa/css/tablet.css
1050630 4 -rw-r--r-- 1 root root 3069 Dec 7 10:01 /var/www/html/torrentwatch-xa/css/phone.css
1050629 4 -rw-r--r-- 1 root root 248 Dec 7 10:01 /var/www/html/torrentwatch-xa/css/ie.css
1050631 4 -rw-r--r-- 1 root root 1058 Dec 7 10:01 /var/www/html/torrentwatch-xa/css/reset.css
920063 4 -rw-r--r-- 1 root root 18 Dec 7 10:01 /var/www/html/torrentwatch-xa/.gitignore
920067 32 -rw-r--r-- 1 root root 29515 Feb 23 12:55 /var/www/html/torrentwatch-xa/torrentwatch-xa.php
# ps aux|grep apache2
root 2355 0.0 0.6 215064 24800 ? Ss Apr20 1:15 /usr/sbin/apache2 -k start
www-data 498278 0.0 0.6 290176 26012 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 498279 0.0 0.6 289232 23820 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 498280 0.0 0.6 289232 24160 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 498281 0.0 0.6 289232 23868 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 498284 0.0 0.7 291968 30224 ? S 00:00 0:00 /usr/sbin/apache2 -k start
www-data 512100 0.0 0.6 289232 24176 ? S 20:37 0:00 /usr/sbin/apache2 -k start
www-data 512101 0.0 0.6 289232 24180 ? S 20:37 0:00 /usr/sbin/apache2 -k start
ls -la /var/log/twxalog
-rw-r--r-- 1 www-data www-data 27061172 May 10 08:30 twxalog
Here is the problem:
Your "manual instructions" do not have any guidance for directory/file permissions.
The procedure:
git clone url-to-rep
## this gets all the folders & files down with permissions of "myuser"
So when moving the directories & files as directed, I had to guess the file permissions (/var/www/html/torrentwatch-xa was owned by www-data - not root [cuz "web server stuff" = "www-data", right?]) Some of the directories in /var/lib/torrentwatch-xa were not as indicated, either. All permissions are as indicated, now.
Still better to have a deb file, where all that's taken care of :)
Still don't know if it's working, as I don't have a lot of shows automated (it will likely be 18-ish hours before the next scheduled show becomes available)
Edited: Still not updating without emptying the feed cache.
You are correct, which is one reason I'd like to solve the problem, so that I know what permissions to put into the install script, the manual instructions, and the .deb file.
Re: Still not updating without emptying the feed cache.
Wow, this is a head-scratcher.
Could you check the file /var/log/twxalog and see if it says anything? Be sure to set Configure > Interface > Log Level to DEBUG and then let the cron job run. It should show either zero lines from the cron job (in which case it's being blocked from running at all) or some lines (in which case we can figure out exactly when it's breaking).
If you run the web UI while the log is in DEBUG level, you'll see how that works and watch as it succeeds when you empty the feed cache. That might be useful to observe if we can see a difference between when it works because you emptied the feed cache and when it doesn't work on its own running off the cron job.
BTW, at this point, I'm not sure a .deb file would solve your issue. There's only so much a .deb file can do, and I think we've covered all of those points (permissions, owners:groups, putting files in the right locations).
Thanks!
Before now, there was nothing in the twxalog since the 10th
Still doesn't update unless I manually empty the cache.
BTW, at this point, I'm not sure a .deb file would solve your issue. There's only so much a .deb file can do, and I think we've covered all of those points (permissions, owners:groups, putting files in the right locations).
Au contraire, mon ami! The deb file is installed by root (or sudo), so if you create the deb with all the files & folders having the proper permissions, so they will be installed into the target machine with all the proper permissions.
Re: Not seeing any errors in DEBUG mode in twxalog:
Chances are the cron job is not running at all or is somehow getting blocked. Do you see any cron errors in the system log?
Re: deb file & proper permissions
Well, what I'm saying is that I don't think this is a permissions issue that can be fixed by getting the permissions or owner:group of all the files belonging to torrentwatch-xa correct. (You did so manually by following the huge list of files--that is every file that the .deb package would deliver.)
In other words, the continuing problem seems to be something related to the cron process itself.
It would not surprise me if I built a .deb file that the problem persists in your case.
Still, I will have to build a .deb file someday anyway, so I'll work on that next.
Chances are the cron job is not running at all or is somehow getting blocked. Do you see any cron errors in the system log?
Not since the INSECURE MODE problem was fixed.
Thanks. Next step would be to destroy the installation and redo it using the install script (which has some permissions-related commands). After that would be to try the .deb file that I will eventually build. If it isn't fixed by then, then it's definitely something in the OS instance...
This has been resolved via my installing following the commands in the install script (I just don't like install scripts) and the software is updating regularly, but . .
A question: how do you know the software is updating regularly? (By this I think you mean that the cron job is successfully running...)
BTW, I am studying how to make the .deb package, but it sure is confusing since there are so many guides and some are adamant that I need to do it the right way and package from source.
Based on your answer to #16, it does look like this issue is fully solved. Thanks for hanging in there!
I've only been running this a few days but have noticed that the program doesn't update the feeds shown or download anything until I click "Empty Cache > Clear Cache > Feeds"
Is there a PHP command I can run alongside the existing cronjob that will clear the feed cache?
Running the December 1, 2020 release.