mm-barabba

Condividi contenuti
“Sparare per la pace è come trombare per la verginità”
Aggiornato: 54 min 58 sec fa

rtorrent e magnet link

Dom, 06/11/2016 - 23:08

Ultimamente parecchi link .torrent stanno scomparendo e molti server di torrent stanno cambiando pelle.

Come al solito la battaglia contro il P2P e delegata a un branco di decerebrati che pensa che chiudendo un buco si risolva la cosa, mentre se ne aprono 2.

Evidentemente dalla storia non hanno capito una mazza, basti pensare a Napster.

Dato che abbiamo rtorrent installato sul raspberryPI a questo punto occorre fargli prendere i magnet link.

Con un semplice script risolviamo la cosa.

Andiamo a creare il nostro script

$touch rmagnet.sh

diamo i giusti permessi di esecuzione

$chmod 744 /script/rmagnet.sh

con il nostro editor preferito inseriamo

#!/bin/bash # download magnet link for rtorrent ## usage: ./download_magnet_url.sh magnet_link # set your watch directory here cd /media/usb0/torrent/watch [[ "$1" =~ xt=urn:btih:([^&/]+) ]] || exit; echo "d10:magnet-uri${#1}:${1}e" > "meta-${BASH_REMATCH[1]}.torrent"

Ora non ci resta che trovare un magnet e prendere il link ed eseguire lo script

$./rmagnet.sh magnet.link

In rtorrent vedremo il download del magnet e successivamente verrà creato il file cercato.

 

Happy donwload

Categorie: planet

Radicale – calendario sul server con calDAV

Dom, 09/10/2016 - 00:14

Avevo bisogno in ufficio di gestire il calendario di 4 utenti, webcalendar comincia a mostrare segni di vecchiaia perchè non è aggiornato da febbraio 2013 e richiede apache2 e mysql, in più è pure un pò macchinoso.

Il server in ditta si trova in una rete locale dove tutte le porte, eccetto quelle base per la comunicazione con l’esterno, sono bloccate, così mi sono potuto muovere con maggiore sicurezza nei permessi.

Ho provato radicale integrandolo a lightining di thunderbird e la cosa è piaciuta a tutti, agli utenti che si sono trovati un calendario dinamico pratico e comodamente gestibile e pure all’admin che installando 2 pacchetti nei repository in pochi passaggi si è trovato sul server un calendario facilmente integrabile a molti programmi che consuma poche risorse e si configura in 15 minuti.

vediamo ora come par partire sto benedetto calendario.

Cominciamo con installare radicale con aptitude, in jessie si trova alla versione 0.9-1, unica dipendenza oltre a python che dovreste già avere è python-radicale, 2 pacchetti in 50kB è fantastico, oppure se volete la versione aggiornata 1.1.1 da installare a mano andate nella sezione download di radicale.

Il file di configurazione principale si trova in /etc/radicale/config e come premesso all’inizio dell’articolo ho impostato il calendario senza grosse precauzioni per la sicurezza.

Questa che segue è la mia configurazione attuale funzionante:

# -*- mode: conf -*- # vim:ft=cfg # Config file for Radicale - A simple calendar server # # Place it into /etc/radicale/config (global) # or ~/.config/radicale/config (user) # # The commented out values are the defaults. [server] # CalDAV server hostnames separated by a comma # IPv4 syntax: address:port # IPv6 syntax: [address]:port # For example: 0.0.0.0:9999, [::]:9999 # IPv6 adresses are configured to only allow IPv6 connections hosts = 0.0.0.0:5232 # Daemon flag daemon = True # File storing the PID in daemon mode pid = # SSL flag, enable HTTPS protocol #ssl = False # SSL certificate path #certificate = /etc/apache2/ssl/server.crt # SSL private key #key = /etc/apache2/ssl/server.key # SSL Protocol used. See python's ssl module for available values #protocol = PROTOCOL_SSLv23 # Ciphers available. See python's ssl module for available ciphers #ciphers = # Reverse DNS to resolve client address in logs #dns_lookup = True # Root URL of Radicale (starting and ending with a slash) base_prefix = / # Possibility to allow URLs cleaned by a HTTP server, without the base_prefix #can_skip_base_prefix = False # Message displayed in the client when a password is needed realm = Radicale - Password Required [encoding] # Encoding for responding requests request = utf-8 # Encoding for storing local collections stock = utf-8 [auth] # Authentication method # Value: None | htpasswd | IMAP | LDAP | PAM | courier | http | remote_user | custom #type = htpasswd # Custom authentication handler #custom_handler = # Htpasswd filename #htpasswd_filename = /etc/radicale/users # Htpasswd encryption method # Value: plain | sha1 | crypt #htpasswd_encryption = crypt # LDAP server URL, with protocol and port #ldap_url = ldap://localhost:389/ # LDAP base path #ldap_base = ou=users,dc=example,dc=com # LDAP login attribute #ldap_attribute = uid # LDAP filter string # placed as X in a query of the form (&(...)X) # example: (objectCategory=Person)(objectClass=User)(memberOf=cn=calenderusers,ou=users,dc=example,dc=org) # leave empty if no additional filter is needed #ldap_filter = # LDAP dn for initial login, used if LDAP server does not allow anonymous searches # Leave empty if searches are anonymous #ldap_binddn = # LDAP password for initial login, used with ldap_binddn #ldap_password = # LDAP scope of the search #ldap_scope = OneLevel # IMAP Configuration #imap_hostname = localhost #imap_port = 143 #imap_ssl = False # PAM group user should be member of pam_group_membership = # Path to the Courier Authdaemon socket courier_socket = # HTTP authentication request URL endpoint http_url = # POST parameter to use for username http_user_parameter = # POST parameter to use for password http_password_parameter = [git] # Git default options #committer = Radicale <radicale@example.com> [rights] # Rights backend # Value: None | authenticated | owner_only | owner_write | from_file | custom #type = None #type = authenticated # Custom rights handler #custom_handler = # File for rights management from_file #file = ~/.config/radicale/rights [storage] # Storage backend # Value: filesystem | multifilesystem | database | custom type = filesystem # Custom storage handler #custom_handler = # Folder for storing local collections, created if not present #filesystem_folder = /var/lib/radicale/collections filesystem_folder = /home/collections # Database URL for SQLAlchemy # dialect+driver://user:password@host/dbname[?key=value..] # For example: sqlite:///var/db/radicale.db, postgresql://user:password@localhost/radicale # See http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#sqlalchemy.create_engine #database_url = [logging] # Logging configuration file # If no config is given, simple information is printed on the standard output # For more information about the syntax of the configuration file, see: # http://docs.python.org/library/logging.config.html #config = /etc/radicale/logging # Set the default logging level to debug #debug = False # Store all environment variables (including those set in the shell) #full_environment = False # Additional HTTP headers #[headers] #Access-Control-Allow-Origin = *

alcune opzioni non necessarie, le ho abilitate per fare dei test, maggiori informazioni sulla configurazione si possono trovare qui.

NOTE
  • Un’ottima guida da seguire la potete trovare a questo link.
  • Occorre prestare molta attenzione a chi esegue il comando radicale perchè sarà colui che avrà i permessi del servizio, quindi per scrupolo si potrebbe creare un nuovo utente dedicato per l’esecuzione del servizio.
  • All’avvio ci potrebbe essere un errore per la mancanza della directory dei log, in questo caso createla con i giusti permessi /var/log/radicale/.
  • Come altra nota riguardo l’avvio in automatico del programma (/etc/default/) ho preferito mettere in crontab all’user dedicato l’esecuzione del servizio
@reboot /usr/bin/radicale -d
  • Per implementare la sicurezza si può usare l’autenticazione e in questo caso con il comando htpasswd contenuto nel pacchetto apache2-utils si generano le password nel formato desiderato, occorre cambiare la configurazione nella sezione delle autorizzazioni.

 

  • CalDav

Ora non ci resta che aprire lightning e generare un nuovo calendario di tipo CalDAV e inserire http://localhost:5232/user/calendar.ics/ e il gioco è fatto, nella cartella da noi impostata nella sotto cartella con il nome dell’user si troverà il file .ics.

Si possono usare più calendari così mi riesce comodo gestire e programmare anche i calendari di altri utenti.

Si possono fissare appuntamenti anche per amici, se un appuntamento viene associato ad un indirizzo email, a questo verrà inviato un file che potrà essere importato da una qualsiasi app.

Se si mette il calendario su HTTPS con autenticazione e possibile con DavDroid usare il calendario sul nostro cellulofono con l’androide.

 

  • CardDav

Per avere la rubrica su radicale occorre scaricare l’estensione SOGo Connector da questo link :https://sogo.nu/download.html#/frontends

Basta aprire la rubrica e selezionare nuova –> rubrica remota, ora inseriamo l’indirizzo http://localhost:5232/user/addressbook.vcf/.

 

 

Categorie: planet

Small Server Tips

Dom, 18/09/2016 - 00:43

Alcuni trucchi che mi aiutano a mantenere aggiornato il mio piccolo server.

  • logwatch – una mail per sapere come va
  • apticron – una notifica per non cercare aggiornamenti quando non ce ne sono
  • debian-goodies – piccole utility

A volte tocca arrangiarsi.

Di seguito vediamo come utilizzarli

LOGWATCH

Molte applicazioni creano dei log, ma spesso questi non vengono controllati, in questo caso logwatch invierà una mail con quanto ci interessa con un report dei log che desideriamo.

L’installazione è semplice

#aptitude install logwatch

Il file di configurazione si trova qui :

/usr/share/logwatch/default.conf/logwatch.conf

Per personalizzarlo basta darci una letta per capire dove intervenire, ma ci sono alcuni punti che vi consiglio di verificare.

A chi inviare la mail, di default

MailTo = root

Lo spazio di tempo da prendere in osservazione

Range = yesterday

Quanto deve essere dettagliato il report (è possibile usare anche i numeri)

# Low = 0
# Med = 5
# High = 10
Detail = Low

 

I log dei servizi che vi interessano, di default All, altrimenti specificate quelli desiderati.

Service = All

Dopo l’installazione si dovrebbe eseguire giornalmente con cron ma è possibile anche avviarlo manualmente

$man logwatch logwatch  [--detail  level  ]  [--logfile  log-file-group ] [--service service-name ] [--mailto address ] [--archives] [--range range ] [--debug       level ] [--filename file-name ] [--logdir directory ] [--hostlimit hosts ] [--hostname hostname ] [--html_wrap number of characters  ] [--host‐ format  host  based  options  ]  [--output  output-type  ]  [--format  report  format  ] [--encode  encoding  to  use ] [--numeric] [--version] [--help|--usage]

Esempio:

#logwatch --detail Low --mailto root --service sshd --range today

Ecco il report

############# Logwatch 7.4.3 (04/27/16) ####################         Processing Initiated: Sun Sep 18 00:06:12 2016         Date Range Processed: yesterday                               ( 2016-Sep-17 )                               Period is day.         Detail Level of Output: 0         Type of Output/Format: mail / text         Logfiles for Host: sukaserver ################################################################## --------------------- SSHD Begin ------------------------ Users logging in through sshd:     pippero:        192.168.3.101: 1 time **Unmatched Entries** Connection reset by 192.168.3.101 port 2130 [preauth] : 1 time(s) ---------------------- SSHD End ------------------------- ###################### Logwatch End ######################### APTICRON

La macchina in oggetto fa abilmente girare una debian stable, gli aggiornamenti non sono frequenti e per risparmiarmi di verificarli ogni giorno grazie ad apticron mi arriva una mail per avvisarmi degli upgrade.

I pacchetti sono già stati scaricati e non mi resta che avviare l’aggiornamento.

Il file di configurazione si trova in  /etc/apticron/apticron.conf  se volete modificarlo.

Ad esempio oggi che debian stable è passata da 8.5 a 8.6 mi è arrivata una notifica di cui riporto solo una parte

apticron report [Sat, 17 Sep 2016 14:38:03 +0200] ======================================================================== apticron has detected that some packages need upgrading on: localhost.localdomain [ 192.168.0.150 ] The following packages are currently pending an upgrade: apache2 2.4.10-10+deb8u7 apache2.2-common 2.4.10-10+deb8u7 apache2-bin 2.4.10-10+deb8u7 apache2-data 2.4.10-10+deb8u7 apache2-mpm-prefork 2.4.10-10+deb8u7 apache2-utils 2.4.10-10+deb8u7 automake 1:1.14.1-4+deb8u1 base-files 8+deb8u6 clamav 0.99.2+dfsg-0+deb8u2 clamav-base 0.99.2+dfsg-0+deb8u2 clamav-daemon 0.99.2+dfsg-0+deb8u2 clamav-freshclam 0.99.2+dfsg-0+deb8u2 clamdscan 0.99.2+dfsg-0+deb8u2 comerr-dev 2.1-1.42.12-2 e2fslibs 1.42.12-2 e2fsprogs 1.42.12-2 file 1:5.22+15-2+deb8u2 gnupg 1.4.18-7+deb8u3 gnupg2 2.0.26-6+deb8u1 gnupg-agent 2.0.26-6+deb8u1 gnupg-curl 1.4.18-7+deb8u3 gpgsm 2.0.26-6+deb8u1 gpgv 1.4.18-7+deb8u3 libaudiofile1 0.3.6-2+deb8u1 libaudiofile-dev 0.3.6-2+deb8u1 libc6 2.19-18+deb8u6 libc6-dbg 2.19-18+deb8u6 libc6-dev 2.19-18+deb8u6 libc6-i686 2.19-18+deb8u6 libc-bin 2.19-18+deb8u6 libc-dev-bin 2.19-18+deb8u6 libclamav7 0.99.2+dfsg-0+deb8u2 libcomerr2 1.42.12-2 libgudev-1.0-0 215-17+deb8u5 libltdl7 2.4.2-1.11+b1 libltdl-dev 2.4.2-1.11+b1 libmagic1 1:5.22+15-2+deb8u2 libnet-ssleay-perl 1.65-1+deb8u1 libpam-systemd 215-17+deb8u5 libpolkit-agent-1-0 0.105-15~deb8u2 libpolkit-backend-1-0 0.105-15~deb8u2 libpolkit-gobject-1-0 0.105-15~deb8u2 libpython2.7 2.7.9-2+deb8u1 libpython2.7-minimal 2.7.9-2+deb8u1 libpython2.7-stdlib 2.7.9-2+deb8u1 libruby2.1 2.1.5-2+deb8u3 libsqlite3-0 3.8.7.1-1+deb8u2 libss2 1.42.12-2 libssl1.0.0 1.0.1t-1+deb8u3 libssl-dev 1.0.1t-1+deb8u3 libsystemd0 215-17+deb8u5 libudev1 215-17+deb8u5 libxml2 2.9.1+dfsg1-5+deb8u3 libxml2-dev 2.9.1+dfsg1-5+deb8u3 libxml2-utils 2.9.1+dfsg1-5+deb8u3 locales 2.19-18+deb8u6 multiarch-support 2.19-18+deb8u6 openssl 1.0.1t-1+deb8u3 policykit-1 0.105-15~deb8u2 python2.7 2.7.9-2+deb8u1 python2.7-minimal 2.7.9-2+deb8u1 python-libxml2 2.9.1+dfsg1-5+deb8u3 ruby2.1 2.1.5-2+deb8u3 scdaemon 2.0.26-6+deb8u1 sendmail-base 8.14.4-8+deb8u1 sendmail-cf 8.14.4-8+deb8u1 systemd 215-17+deb8u5 systemd-sysv 215-17+deb8u5 tzdata 2016f-0+deb8u1 tzdata-java 2016f-0+deb8u1 udev 215-17+deb8u5 wget 1.16-1+deb8u1 ======================================================================== Package Details: Reading changelogs... --- Changes for libtool (libltdl7 libltdl-dev) --- libtool (2.4.2-1.11+b1) jessie; urgency=low, binary-only=yes   * Binary-only non-maintainer upload for i386; no source changes.   * Rebuild with current automake -- amd64/i386 Build Daemon (babin) <buildd-babin@buildd.debian.org>  Tue, 14 Oct 2014 19:21:11 +0200 --- Changes for audiofile (libaudiofile1 libaudiofile-dev) --- audiofile (0.3.6-2+deb8u1) jessie; urgency=high   * Team upload.   * Fix CVE-2015-7747: buffer overflow when changing both sample format and     number of channels. (Closes: #801102) -- James Cowgill <jcowgill@debian.org>  Tue, 14 Jun 2016 16:39:49 +0100 --- Changes for file (file libmagic1) --- file (1:5.22+15-2+deb8u2) stable; urgency=high   * Fix CVE-2015-8865:     Buffer over-write in finfo_open with malformed magic file. -- Christoph Biedl <debian.axhn@manchmal.in-ulm.de>  Mon, 09 May 2016 08:18:53 +0200 --- Changes for apache2 (apache2 apache2.2-common apache2-bin apache2-data apache2-mpm-prefork apache2-utils) --- apache2 (2.4.10-10+deb8u7) jessie; urgency=medium   * Fix installation of /lib/systemd/system/apache2.service.d/forking.conf. -- Julien Cristau <jcristau@debian.org>  Thu, 15 Sep 2016 22:42:19 +0200 apache2 (2.4.10-10+deb8u6) jessie; urgency=medium   * Fix race condition and logical error in init script. Thanks to Thomas     Stangner for the patch. Closes: #822144   * Remove links to manpages.debian.org in default index.html to avoid     broken robots doing a DoS on the site. Closes: #821313   * mod_socache_memcache: Increase idle timeout to 15s to allow keep-alive     connections. Closes: #803035   * mod_proxy_fcgi: Fix wrong behavior with 304 responses. Closes: #827472   * Correct systemd-sysv-generator behavior by customizing some parameters.     This fixes 'systemctl status' returning incorrect results.     Closes: #827444   * mod_proxy_html: Add missing config file mods-available/proxy_html.conf.     This is intentionally not enabled during upgrade, to make it less     likely to break existing setups. It will be enabled by a a2dismod/a2enmod     cycle, though. Closes: #827258 ... ... ... ======================================================================== You can perform the upgrade by issuing the command: apt-get dist-upgrade as root on localhost.localdomain DEBIAN-GOODIES

Questi programmi sono progettati per integrarsi con gli strumenti standard della shell, estendendoli per funzionare sul sistema dei pacchetti Debian.

dgrep - Cerca una espressione regolare in tutti i file nei pacchetti specificati. dglob - Genera un elenco di nomi di pacchetti che corrispondono ad un modello.

Sono inclusi anche i seguenti strumenti poiché sono utili ma non giustificano un proprio pacchetto specifico:

debget - scarica il file .deb di un pacchetto nel database di APT; dpigs - mostra quali pacchetti installati occupano più spazio; debman - visualizza facilmente le pagine man da un pacchetto .deb senza estrarle; debmany - seleziona le pagine man di pacchetti installati e non; checkrestart - aiuta a trovare e riavviare processi che stanno usando versioni vecchie di file aggiornati (come librerie); popbugs - visualizza un elenco personalizzato di bug release-critical basato sui pacchetti in uso sul proprio sistema (usando i dati di popularity-contest); which-pkg-broke - trova quale è il pacchetto che può averne reso un altro difettoso; check-enhancements - trova i pacchetti che migliorano quelli installati.

Il comando che uso maggiormente è checkrestart, sopratutto dopo che ho eseguito degli aggiornamenti.

un esempio:

# checkrestart Found 76 processes using old versions of upgraded files (44 distinct programs) (40 distinct packages) Of these, 25 seem to contain init scripts which can be used to restart them: The following packages seem to have init scripts that could be used to restart them: smartmontools:         1630    /usr/sbin/smartd fetchmail:         21893   /usr/bin/fetchmail udev:         3201    /lib/systemd/systemd-udevd cron:         1622    /usr/sbin/cron cups-browsed:         2523    /usr/sbin/cups-browsed fail2ban:         2979    /usr/bin/fail2ban-server rsyslog:         1627    /usr/sbin/rsyslogd openbsd-inetd:         1626    /usr/sbin/inetd mdadm:         801     /sbin/mdadm redis-server:         1633    /usr/bin/redis-server avahi-daemon:         2138    /usr/sbin/avahi-daemon         2457    /usr/sbin/avahi-daemon openssh-server:         16096   /usr/sbin/sshd         27418   /usr/sbin/sshd         16166   /usr/sbin/sshd         27423   /usr/sbin/sshd         1618    /usr/sbin/sshd ntop:         5089    /usr/sbin/ntop portmap:         1610    /sbin/portmap clamav-daemon:         29153   /usr/sbin/clamd vnstat:         1628    /usr/sbin/vnstatd cups-daemon:         13287   /usr/sbin/cupsd dirmngr:         17943   /usr/bin/dirmngr clamav-freshclam:         1504    /usr/bin/freshclam postfix:         3358    /usr/lib/postfix/qmgr         3332    /usr/lib/postfix/master dbus:         1697    /usr/bin/dbus-daemon mailgraph:         2564    /usr/sbin/mailgraph webmin:         19232   /usr/share/webmin/miniserv.pl at:         1629    /usr/sbin/atd bandwidthd:         2297    /usr/sbin/bandwidthd         2296    /usr/sbin/bandwidthd         2295    /usr/sbin/bandwidthd         2294    /usr/sbin/bandwidthd These are the init scripts: service smartmontools restart service fetchmail restart service udev-finish restart service udev restart service cron restart service cups-browsed restart service fail2ban restart service rsyslog restart service openbsd-inetd restart service mdadm-raid restart service mdadm-waitidle restart service mdadm restart service redis-server restart service avahi-daemon restart service ssh restart service ntop restart service portmap restart service clamav-daemon restart service vnstat restart service cups restart service dirmngr restart service clamav-freshclam restart service postfix restart service dbus restart service mailgraph restart service webmin restart service atd restart service bandwidthd restart These processes do not seem to have an associated init script to restart them: bsdutils:         2656    /usr/bin/logger courier-authlib:         1781    /usr/lib/courier/courier-authlib/authdaemond         1807    /usr/lib/courier/courier-authlib/authdaemond         1806    /usr/lib/courier/courier-authlib/authdaemond         1805    /usr/lib/courier/courier-authlib/authdaemond         1804    /usr/lib/courier/courier-authlib/authdaemond         1803    /usr/lib/courier/courier-authlib/authdaemond         1780    /usr/sbin/courierlogger         1794    /usr/sbin/courierlogger systemd:         21684   /lib/systemd/systemd         21683   /lib/systemd/systemd         1       /lib/systemd/systemd         14476   /lib/systemd/systemd-logind         202     /lib/systemd/systemd-journald vlock:         3616    /usr/sbin/vlock-main consolekit:         3712    /usr/sbin/console-kit-daemon pgld:         2801    /usr/sbin/pgld courier-base:         1795    /usr/sbin/couriertcpd policykit-1:         3786    /usr/lib/policykit-1/polkitd tmux:         16245   /usr/bin/tmux         27451   /usr/bin/tmux         21719   /usr/bin/tmux mysql-server-core-5.5:         2655    /usr/sbin/mysqld bash:         21724   /bin/bash         21759   /bin/bash         27424   /bin/bash         1876    /bin/bash         2808    /bin/bash         21721   /bin/bash         21720   /bin/bash         21723   /bin/bash         27459   /bin/bash         27440   /bin/bash         16197   /bin/bash         16167   /bin/bash mc:         21722   /usr/bin/mc perl-base:         2843    /usr/bin/perl         2627    /usr/bin/perl login:         16178   /bin/su         27433   /bin/su         27452   /bin/su

PS many thanks to skizzhg for debian-goodies e nemo for logwatch

Categorie: planet