SkillAgentSearch skills...

Repwatcher

File event monitoring in watched directories. Accesses to files can be stored in SQL and/or reported by email, dbus local or remote notifications.

Install / Use

/learn @gbe/Repwatcher
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

This software is under the MIT license.

To contact the author : gregory.bellier -- gmail -- com

Dependencies for Debian/Ubuntu: ocaml ocaml-findlib ocaml-nox ocaml-native-compilers libssl-ocaml-dev libmysql-ocaml-dev libpostgresql-ocaml-dev libinotify-ocaml-dev libdbus-ocaml-dev libdbus-1-dev libocamlnet-ocaml-dev libsyslog-ocaml-dev libcalendar-ocaml-dev

and also the ocaml-fdinfo library version 0.4.1 or above, downloadable: https://github.com/gbe/ocaml-fdinfo

  • Please note that you need ocaml-ssl version 0.4.5 or +
  • Please note that you need ocaml-mysql version 1.1.1 or +

The Repwatcher database and its "accesses" table are automatically created at Repwatcher server runtime if:

  • sql_rdbms is activated in the configuration file
  • they do not already exist.

The database name is the one set in the configuration file. However, for your information, this is the accesses table in MySQL syntax:

CREATE TABLE IF NOT EXISTS accesses ( ID int(10) NOT NULL AUTO_INCREMENT, LOGIN varchar(32) NOT NULL, USERNAME varchar(256) NOT NULL, PROGRAM varchar(26) NOT NULL, PROGRAM_PID int(8) NOT NULL, PATH varchar(512) NOT NULL, FILENAME varchar(256) NOT NULL, FILESIZE bigint(20) unsigned DEFAULT NULL, FILEDESCRIPTOR int(7) unsigned NOT NULL, FIRST_KNOWN_OFFSET bigint(20) unsigned DEFAULT NULL, LAST_KNOWN_OFFSET bigint(20) unsigned DEFAULT NULL, OPENING_DATE datetime NOT NULL, CLOSING_DATE datetime DEFAULT NULL, CREATED tinyint(1) unsigned NOT NULL, IN_PROGRESS tinyint(1) unsigned NOT NULL, PRIMARY KEY (ID), INDEX in_progress_idx (IN_PROGRESS) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

As usual, to clean the sources and build: make clean && make Before running the server, you need to configure the file repwatcher.conf.

If you want remote notifications, you need a CA, private keys and certificates for the server and its clients. You can generate a set with the script in the Certificate folder. The authorisations are not supported yet. It means that somebody will have an access granted if the certificate presented by the client has been signed by the same CA than the server.

You can either run Repwatcher in a "screen" or with "nohup ./rw_server &".

Use the -f argument to tell the server where the configuration file is. It searches by default in the directory rw_server runs.

Don't hesitate to give me some feedbacks.

View on GitHub
GitHub Stars6
CategoryOperations
Updated3y ago
Forks0

Languages

OCaml

Security Score

70/100

Audited on Aug 25, 2022

No findings