shinjisfg 发表于 2013-1-20 21:51:39

实现基于RSS的自动BT下载,以及http网页分享.(附赠自动记录温度脚本)

实现RSS自动BT下载,分享功能,所有操作均在2012-12-16-wheezy-raspbian官方系统下实现,老版本不太清楚有问题请自行调整.
脚本是凭记忆写的,未经测试,如有问题或者想要自定义设定请提问.

此脚本实现的功能有

[*]更新到最新版本
[*]安装中文环境,输入法,VNC服务端
[*]安装ntfs-3g增强磁盘兼容性
[*]BT下载使用 transmission
[*]使用transmission-control代替原有的web管理前端
[*]RSS订阅自动下载使用FlexGet实现,每30分钟检查一次
[*]设定自动挂载sda1到/media/disk
[*]使用samba作为Windows网络邻居分享
[*]使用apache2和php5实现http网页文件分享(默认用户名:user ,默认密码:password)
[*]http+chrome可以实现自动播放mp4视频(其他浏览器其他视频都貌似不行)


新建一个脚本文件,将下面的代码复制进去,然后用sudo 执行.
#!/usr/bin/env bash

echo "[+] Updating packages"
apt-get update ; apt-get -y upgrade

echo "[+] Installing Chinese Enviroment"
apt-get -y install ttf-wqy-zenhei scim-pinyin

echo "[+] Installing VNC Server"
apt-get -y install tightvncserver

echo "[+] Installing Samba and Transmission packages"
apt-get -y install transmission-daemon python-transmissionrpc samba avahi-daemon

echo "[+] Downloading Transmission WebUI"
wget http://transmission-control.googlecode.com/files/transmission-control-v0.11_beta_20130110_full.tar.gz
tar -zxvf transmission-control-v0.11_beta_20130110_full.tar.gz
cp -frv web /usr/share/transmission/

echo "[+] Installing NTFS Support"
apt-get -y install ntfs-3g

echo "[+] Configuring Transmission"
service transmission-daemon stop
sed -i -re 's/(rpc-authentication-required\":\ )(+)*/\1false/g' /etc/transmission-daemon/settings.json
sed -i -re 's/(rpc-whitelist-enabled\":\ )(+)*/\1false/g' /etc/transmission-daemon/settings.json
sed -i -re 's/(download-dir\":\ )(+)*(.*)/\1\"\/media\/disk\",/g' /etc/transmission-daemon/settings.json
service transmission-daemon start

echo "[+] Setting up public Samba share"
mkdir /media/disk
chown debian-transmission /media/disk
echo "/dev/sda1       /media/disk/   ext4    rw,auto,user       0       0" >> /etc/fstab

echo "
comment = Public Shares
browsable = yes
path = /media/disk
public = yes
writable = yes
guest ok = yes" >> /etc/samba/smb.conf
service samba restart

echo "[+] Installing Flexget"
apt-get -y install python-pip
pip install flexget

echo "[+] Setting Flexget"
flexget --db-cleanup
echo "*/30 ** * *   pi      /usr/local/bin/flexget" >> /var/spool/cron/crontabs/pi
sed -i 'd' /home/pi/.flexget/config.yml
echo "presets:
transmissionrpc:
    download: #here is where the torrent file will be downloaded
    transmission:
      host: localhost
      port: 9091
      username: #your user name
      password: #your password
      addpaused: no

tasks:
feed1:
    rss: #your rss URL
    preset: transmissionrpc
    regexp:
      accept:
      - #some keyword will be accepted
      reject:
      - #some keyword will be rejected

feed2:
    rss: #your rss URL
    preset: transmissionrpc
    regexp:
      accept:
      - #some keyword will be accepted
      reject:
      - #some keyword will be rejected" >> /home/pi/.flexget/config.yml


echo "[+] Installing HTTP Server"
apt-get -y install apache2 php5 unzip
wget http://release.larsjung.de/h5ai/h5ai-0.22.1.zip
unzip h5ai-0.22.1.zip
cp -frv _h5ai /var/www/

echo "[+] Setting up HTTP Server"
sed -i "3 aDirectoryIndex index.html index.php /_h5ai/server/php/index.php" /etc/apache2/mods-enabled/dir.conf
sed -i "13 aAuthName "admin Access"" /etc/apache2/sites-available/default
sed -i "13 aAuthType Basic" /etc/apache2/sites-available/default
sed -i "13 aAuthUserFile /etc/apache2/passwd/passwords" /etc/apache2/sites-available/default
sed -i "13 aRequire valid-user" /etc/apache2/sites-available/default
ln -s /media/disk/ /var/www/
mkdir /etc/apache2/passwd
htpasswd -cb /etc/apache2/passwd/passwords user password

echo ""
reboot
执行完毕后会自动重启.

说明
如果想要设定transmission的webui的用户名密码,编辑/etc/transmission-daemon/settings.json 的"rpc-username": 和"rpc-password": 的字段.
按照已有的说明编辑~/.flexget/config.yml文件.如果前面已经设定了用户名密码,在此文件也要同样的设定一下.接受和排除字段使用正则表达式,如果只有一个字段只需要用- yourTV就行了,如果是有多个字段请用- .*your.*TV.*
默认是匹配所有说明,如果只需要匹配标题的话在accept/reject的同样缩进下新增一行 from: title ,可以有效缩小任务执行时间,减轻系统负担.
flexget还可以实现邮件通知,这个功能这里暂时不提.


小赠送
自动记录温度脚本.新建一个.sh脚本文件和一个.log 平文本文件.
.log 文件的第一行可以随便写一个什么,我写的是Raspberry Pi Temperature Logging.
.sh脚本文件复制以下内容.
#!/bin/bash

######################################################################

# Raspberry Pi Temperature Logging

######################################################################
ti=`date`
tm=`/opt/vc/bin/vcgencmd measure_temp`
sudo sed -i "1 a$ti ----> $tm" yourlogfile
youlogfile处写上刚才建立的.log文件的绝对路径.
执行该脚本就会自动在刚才的log的文件中记录时间和温度.
想要定时执行的话用crontab -e添加一行*/10 * * * * sh your.sh就能每10分钟自动执行一次.记录温度了.

shinjisfg 发表于 2013-1-21 00:51:45

实现基于RSS的自动BT下载,以及http网页分享

本帖最后由 shinjisfg 于 2013-1-21 00:55 编辑

实现RSS自动BT下载,分享功能,所有操作均在2012-12-16-wheezy-raspbian官方系统下实现,老版本不太清楚有问题请自行调整.
脚本是凭记忆写的,未经测试,如有问题或者想要自定义设定请提问.

此脚本实现的功能有


[*]更新到最新版本
[*]安装中文环境,输入法,VNC服务端
[*]安装ntfs-3g增强磁盘兼容性
[*]BT下载使用 transmission
[*]使用transmission-control代替原有的web管理前端
[*]RSS订阅自动下载使用FlexGet实现,每30分钟检查一次
[*]设定自动挂载sda1到/media/disk
[*]使用samba作为Windows网络邻居分享
[*]使用apache2和php5实现http网页文件分享(默认用户名:user ,默认密码:password)
[*]无需下载可以实现播放mp4视频,预览文本等功能


安装wget http://dl.dropbox.com/u/4521358/runme.sh
sudo sh runme.sh执行完毕后会自动重启.

说明
所有BT下载好的文件都可以在http://树莓派IP 中看到,经过测试,chrome可以直接播放其中的mp4视频(其他浏览器其他视频都貌似不行).
如果想要设定transmission的webui的用户名密码,编辑/etc/transmission-daemon/settings.json 的"rpc-username": 和"rpc-password": 的字段.
按照已有的说明编辑~/.flexget/config.yml文件.如果前面已经设定了用户名密码,在此文件也要同样的设定一下.接受和排除字段使用正则表达式,如果只有一个字段只需要用- yourTV就行了,如果是有多个字段请用- .*your.*TV.*
默认是匹配所有说明,如果只需要匹配标题的话在accept/reject的同样缩进下新增一行 from: title ,可以有效缩小任务执行时间,减轻系统负担.
flexget还可以实现邮件通知,这个功能这里暂时不提.

树老大 发表于 2013-1-21 13:18:40

顶一下。

kingfin 发表于 2013-1-21 15:08:10

支持了,不错。

loading 发表于 2013-1-30 00:42:57

:lol 顶一下

bvjeff 发表于 2013-1-30 18:20:25

支持了,不错。
页: [1]
查看完整版本: 实现基于RSS的自动BT下载,以及http网页分享.(附赠自动记录温度脚本)