📜 ⬆️ ⬇️

Torrentmonitor

As they say - laziness - the engine of progress. I did not discover anything new and I did not invent anything new. I was pushed to realize this idea by the fact that universal monitoring is not able to work with some of our trackers (for example, rutracker.org), and the functionality is a bit different than what I need. The project was originally written exclusively for themselves, for their requirements and tasks, and then I wanted to share it with people.

The list of application features is as follows:
- tracking topics on nnm-club.ru
- tracking themes on rutracker.org
- tracking releases on nnm-club.ru
- tracking releases on rutracker.org
- search for new episodes on lostfilm.tv
- search for new episodes on novafilm.tv

If it became a little interesting to you, welcome under cat.


In fact, I have been working on the project for almost 2 years now, releasing new versions, struggling with trackers, falling RSS feeds and changing the layout. For me, this is nothing more than a hobby, but during these almost 2 years I loved him so much that I released a completely new version that satisfies me by 96% and this is 1% more (for me personally) to write about it on Habré. I am not a programmer, so the code is certainly far from ideal, and I, while working on the project, constantly learned (and thanks to him as well) something new for myself, reworked, finished writing, deleting and writing from scratch. In general, I believe that every person should have such a project that he will love, work on and enjoy it.
')
But it was a lyrical digression, back to the topic.

For a year and a half, I saw interest in this project from the users. Without any advertising, having only a page in my cozy blog, the system was downloaded by more than 700 people. During the work on the project, I met an excellent developer for Mac OS, with whom we work to this day (already on other projects), who liked my idea and he implemented it under the aforementioned OS.

After 3 months of silence (which I actively worked on the functionality), I present to you a completely new version, which has received a huge number of updates, which I will now tell you about.

First, the design has been completely redesigned! The old version, no matter how I turned it over, did not meet the requirements for the convenience of working with the system, so in the end it was decided to draw the design from scratch. Tatyana Smirnova was engaged in the development of design, and I was very pleased with the work done to her. The design has become light, while comfortable. Maxim Sofronov ( maxsof ) was engaged in the layout and finishing of the JS code, and I want to say a huge thank you to these people for their help in working on the project. I think if it were not for their help, the project would be stuck for a very long time.

Secondly, the engine was once again quite rewritten, the speed of work increased by an average of 15%, and the stability and "tenacity" of the system increased for the better.

Thirdly, I have slightly expanded the functionality of the monitor. Probably not only for me, it is sometimes extremely interesting to follow not only the updates being distributed, but also certain releasers on trackers, and so, from now on this function has been implemented. Perhaps at first glance, working with this section will seem somewhat complicated, but I think everyone will quickly get used to it. After adding a user, you see the last 20 distributions created by him, you can remove individual topics from this list, you can put some of them for download (torrents will be downloaded the next time you start the engine), or you can move the topic to monitoring (if this is an updated distribution), Well, at the end of all the lists there is a “clear” button that deletes all the distributions found for all users. I think having tried once or twice you will fully understand this, in my opinion, extremely useful function.

Fourth, a function has been added to check the operation of all modules of the system, this is what many have asked me for a long time and I finally took up the implementation of this function. I hope it will be useful for you when you first start.

Of course, many will say - “this can be implemented by parsing RSS torrent rocking” or “watching online better” or “I see new links in my profile on myshows.ru” and they will all be right. Another question - who is more convenient.
As I said at the very beginning, the system was written for myself, for my own requirements and needs, and I personally find it convenient to receive a notification that a new series has been released, and I know that when I come home, I will calmly fall on the sofa after the work day and see the fresh series. favorite series. After all, all that is needed for this is to set up monitoring once, set up a torrent client once to “suck in” torrent files from a folder and voila - we get a ready-made system that can’t see the show for you :)

I hope this post and my little development will seem useful to someone and even if only one person starts to use it after reading - this will be enough for me.

In general, it is extremely interesting for me to develop the project further, it will be extremely interesting for me to work with programmers (perhaps not only PHP) to improve the system or add new functionality to it, add new torrent trackers to work and find out something new for myself.

And most importantly, a link to the latest version 0.7 . But how to deploy and test the system is described in the readme file in the archive.

Well, what a post without pictures? :)
Hidden text











There are a lot of questions asked about the fact that there is no update on lostfilm / novafilm, I will explain the method of monitoring work: Monitor technology with lostfilm / novafilm - reading an RSS feed, because the tape returns only the last 20 distributions, respectively, if the last episode of your series came out more than 2-3 days ago - most likely it is not in the distribution anymore, as soon as a new episode comes out (appears in the RSS feed) - everything will be updated. I didn’t implement the search for the last episodes. It seemed to me impractical.

System Requirements :
PHP 5.3 and higher should be compiled with cURL and PDO support.
Also, in php.ini (for CLI) you need to change the following parameters:
max_execution_time = 300
allow_url_fopen = on (this option should be enabled in php.ini for both CLI and web server)
set date.timezone

Expand :
- download archive
- we deploy a torrentmonitor.sql database dump
- transfer all files to a folder on your server (for example / var / www / htdocs / torrentmonitor /)
- we are correct config.php and we specify the data for access to a DB
- go to the web interface (the default password is torrentmonitor, change (!) It after the first login).
- we specify accounting data from trackers
- specify in the settings the path for saving torrents (folder that is monitored by your torrent client), e-mail and enable / disable sending notifications
- add torrents for monitoring
- go to the “test” tab and check whether everything works correctly
- add to cron engine.php
* / 10 * * * * php -q /path/to/folder/torrent_monitor/engine.php

upd : laid out source codes on github , invite all interested

Source: https://habr.com/ru/post/157319/


All Articles