万博网页版登陆页派论坛

QQ登录

只需一步,快速开始

查看: 5939|回复: 5
收起左侧

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

[复制链接]
发表于 2013-1-20 21:51:39 | 显示全部楼层 |阅读模式
实现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 执行.

    1. #!/usr/bin/env bash

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

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

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

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

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

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

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

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

    26. echo "[public]
    27. comment = Public Shares
    28. browsable = yes
    29. path = /media/disk
    30. public = yes
    31. writable = yes
    32. guest ok = yes" >> /etc/samba/smb.conf
    33. service samba restart

    34. echo "[+] Installing Flexget"
    35. apt-get -y install python-pip
    36. pip install flexget

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

    50. tasks:
    51.   feed1:
    52.     rss: #your rss URL
    53.     preset: transmissionrpc
    54.     regexp:
    55.       accept:
    56.         - #some keyword will be accepted
    57.       reject:
    58.         - #some keyword will be rejected

    59.   feed2:
    60.     rss: #your rss URL
    61.     preset: transmissionrpc
    62.     regexp:
    63.       accept:
    64.         - #some keyword will be accepted
    65.       reject:
    66.         - #some keyword will be rejected" >> /home/pi/.flexget/config.yml


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

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

    81. echo "[Rebooting]"
    82. 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脚本文件复制以下内容.

    1. #!/bin/bash

    2. ######################################################################

    3. # Raspberry Pi Temperature Logging

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

    使用道具 举报

     楼主| 发表于 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视频,预览文本等功能


  • 安装
    1. wget http://dl.dropbox.com/u/4521358/runme.sh
    2. 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 | 显示全部楼层
    顶一下。
    回复 支持 反对

    使用道具 举报

    发表于 2013-1-21 15:08:10 | 显示全部楼层
    支持了,不错。
    回复 支持 反对

    使用道具 举报

    发表于 2013-1-30 00:42:57 | 显示全部楼层
    顶一下
    回复 支持 反对

    使用道具 举报

    发表于 2013-1-30 18:20:25 | 显示全部楼层
    支持了,不错。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|万博网页版登陆页派论坛 ( 粤ICP备15075382号-1  

    GMT+8, 2024-11-16 09:53 , Processed in 1.156250 second(s), 27 queries , Gzip On.

    Powered by Shumeipai.net! X3.2

    © 2001-2015 万博网页版登陆页派论坛安全联盟

    快速回复 返回顶部 返回列表