Я уже думал, что всё - писать больше нечего. Всё сделал. Музыка играет будильником и для релакса в ванной. Торренты качаются, всё доступно и достаточно удобно. Смотреть фильмы только некогда. И тут прочёл История администратора трекера, посаженного за выкладывание одного фильма и порешил причинное посмотреть. С работы запустил торренты. А оказалось, что место закончилось на винте. Патом ещё от скуки поигрался правами доступа на файлы в веб-морде Службы|BitTorrent и служба, конечно, упала. Я долго не думая начал качать свежий дистрибутив для обновления, но пока он качался восстановил и службу. В логах значилось, что конфиг не может прочитаться. Сходил по пути конфигурации:
/usr/home/transmission/.config/transmission-daemon/
Восстановил права на торренты и конфиг. Перезапустился, почистил, добавил поновой. Наслаждаюсь прогресс-лайном в Transmisson-remote-gui. Снова скучно. Видно придётся таки обновляться :)
Мой Туалетный Сервер - cоздание дешёвого могучего домашнего сервера в туалете на FreeNAS/NAS4Free
Ярлыки
FreeNAS
(29)
SSH
(16)
Transmission
(13)
WIDLE
(11)
FreeBSD
(9)
NAS4Free
(9)
серверный корпус
(7)
OpenSSH
(6)
звук
(6)
фото
(6)
Dropbox
(5)
ZXV10 H201L
(5)
cron
(5)
kldload
(5)
FreeNAS test
(4)
MPD
(4)
NAS
(4)
PXE
(4)
transmission-remote
(4)
widle.exe
(4)
ребёнок и компьютер
(4)
чулок
(4)
DHCP
(3)
FireFox
(3)
Intel NAS Perfomance Toolkit
(3)
MTU
(3)
Raspberry Pi
(3)
RusBSD
(3)
SSH proxy
(3)
WebDAV
(3)
Wget
(3)
home server
(3)
musicpd
(3)
uptime
(3)
web-качалка
(3)
обои
(3)
сиськи
(3)
7KJD0
(2)
AdBlock
(2)
Android
(2)
Athlon
(2)
Axel
(2)
BitTorrent Sync
(2)
Cliget
(2)
Clonezilla
(2)
Curl
(2)
DHCP on FreeNAS
(2)
DynDNS
(2)
FireFox vs ZXV10 H201L
(2)
FlashGot
(2)
FreeNAS 8
(2)
Ghostery
(2)
IXL.dll
(2)
Linux
(2)
PassCryptoBox
(2)
ProxyCap
(2)
PuTTY
(2)
PyLoad
(2)
RAID
(2)
SAMBA
(2)
SSH SOCKS
(2)
UFS
(2)
Wallpaper
(2)
WinSCP
(2)
Windows
(2)
blogspot
(2)
cubieboard2
(2)
encfs
(2)
fsck
(2)
fstab
(2)
github
(2)
mount
(2)
mpc
(2)
net.inet.tcp
(2)
nnCron
(2)
pkg_add
(2)
privoxy
(2)
proxy
(2)
pxelinux
(2)
Маршрутизация
(2)
Тюнинг
(2)
Яндекс.Диск
(2)
Яндекс.Диск в FreeNAS
(2)
будильник
(2)
девушка
(2)
шифрование
(2)
шлюзность
(2)
шум
(2)
0.7.5.9898
(1)
256
(1)
3G и локальная сеть
(1)
3G интернет
(1)
3proxy
(1)
3proxy конфигурация
(1)
ALR
(1)
APC
(1)
AUSTRUMI
(1)
Amazon
(1)
Android + NAS4Free
(1)
Andromission
(1)
Athlon AXDA2200UV3C
(1)
Autocopy
(1)
BIOS
(1)
Backup WinSCP Sessions
(1)
CNic
(1)
CPU
(1)
Cannot find file system superblock
(1)
Canon 600D
(1)
Canon 600D пробег на FreeBSD
(1)
Ceph FS
(1)
Chaintech
(1)
Chocolatey
(1)
Clear Type
(1)
Client175
(1)
Comprar Tirar Comprar
(1)
CrystalDiskInfo
(1)
DDNS
(1)
DOS
(1)
Defendant
(1)
Dokan
(1)
Dropbox + Android
(1)
Dropbox + NAS4Free
(1)
Dropbox API
(1)
Dropbox in FreeBSD
(1)
Dropbox in FreeNAS
(1)
DynDNS.org
(1)
EducationPack
(1)
ExtraDNS
(1)
FolderSync
(1)
FolderSync Lite
(1)
FoxyProxy
(1)
FreeBSD 10
(1)
FreeBSD 10.0-RELEASE
(1)
FreeNAS 10
(1)
FreeNAS NAS4Free
(1)
FreeNAS WebGUI
(1)
FreeNAS завис
(1)
FreeNAS с ноля
(1)
GetLastInputInfo
(1)
Gmail Watcher
(1)
Google translate
(1)
Gruzila
(1)
H208L
(1)
HTTPS Everywhere
(1)
IDLE
(1)
ILIS
(1)
Intercepter
(1)
Intercepter-NG
(1)
Jumbo Frames
(1)
KDE4
(1)
KMS
(1)
KiTTY
(1)
Kolibri
(1)
LASTINPUTINFO
(1)
Libretto
(1)
Linux + Android
(1)
M200a
(1)
MPD-Webinterface
(1)
MiniX
(1)
NAS4Free TEST
(1)
NAS4Free с ноля
(1)
NAS4Free-Plus
(1)
NASPT
(1)
NFS
(1)
NFS vs SAMBA
(1)
Native Shell
(1)
NativeCMD
(1)
New TTCP
(1)
On-line репетитор
(1)
OpenMediaVault
(1)
OpenSSL
(1)
PAC
(1)
PCI-SATA
(1)
PDNSD
(1)
PLINK
(1)
PLOP Linux
(1)
PMagic
(1)
Parted Magic
(1)
PersistAllDeviceInstalls
(1)
Pico PSU
(1)
Pixlr Grabber
(1)
Port Forwarding
(1)
Prestigio 4300
(1)
Prestigio 4300 root
(1)
Prestigio MultiPhone 4300 DUO
(1)
PuTTY SOCKS
(1)
PuttyGen
(1)
R-Studio
(1)
R.saver
(1)
RDP
(1)
RDP for M200a
(1)
RDR
(1)
RealXXP
(1)
Release Notes
(1)
Remote Transmission
(1)
SMART
(1)
SMB/CIFS
(1)
SOCKS-proxy
(1)
SSH -D
(1)
SSH port
(1)
SSH продвинутые функции
(1)
SSH туннель
(1)
SSH шлюз
(1)
SSH-ключ
(1)
SerCrypt
(1)
Shadow Defender
(1)
SliTaz
(1)
SoftEther VPN
(1)
Software Data Cable
(1)
Sparkleshare
(1)
Static library
(1)
SyntaxHighlighter
(1)
TCP/IP
(1)
TeamViewer port
(1)
TorrentBox
(1)
TorrentMonitor
(1)
Transmission Add-ons
(1)
Transmission из консоли
(1)
Transmission через SSH
(1)
UALinux
(1)
UPS
(1)
Ubuntu
(1)
Ubuntu для ребёнка
(1)
Upgrade
(1)
UrlCorrector
(1)
WD
(1)
WOL
(1)
WPAD
(1)
WatchDog
(1)
Wi-Fi Keyboard
(1)
Win7
(1)
Win7 and OpenSSH
(1)
WinAPIExec
(1)
Windows 7 из образа в домене
(1)
Windows AIK
(1)
Windows7
(1)
X11
(1)
XTips
(1)
Xorg
(1)
ZFS
(1)
ZTE
(1)
ZTE H208L
(1)
Zentyal
(1)
box.com
(1)
cifled
(1)
cmdradio
(1)
comled
(1)
crontab
(1)
davfs2
(1)
dd
(1)
demonizer
(1)
devcon
(1)
dump
(1)
encfs4win
(1)
fail2ban
(1)
failed its checksum test
(1)
festival
(1)
festvox-aec
(1)
festvox-kal16
(1)
forums.nas4free.org
(1)
fsbackup
(1)
fusefs-wdfs
(1)
gPXE
(1)
generalize
(1)
girl
(1)
gmail
(1)
gnome
(1)
google search
(1)
grep
(1)
http://repetitor.tut.by
(1)
icecast
(1)
ilis.by
(1)
iwconfig
(1)
iЛис
(1)
kill
(1)
mycubieserv.blogspot.com
(1)
ncpa.cpl
(1)
nuttcp
(1)
oobeSystem
(1)
passwd
(1)
pax
(1)
proftpd
(1)
ps
(1)
radio
(1)
root
(1)
route
(1)
rxcsum
(1)
samba antivirus
(1)
sendmail
(1)
shoutcast
(1)
smb.conf
(1)
startx
(1)
sysctls
(1)
syslinux
(1)
sysprep
(1)
tan
(1)
test
(1)
tor
(1)
transmission-daemon
(1)
transmisson-remote-gui
(1)
txcsum
(1)
ufs2tools
(1)
uname
(1)
unattend.xml
(1)
vi
(1)
wdfs
(1)
weather
(1)
which
(1)
winamp
(1)
winport-transmission
(1)
xprintidle
(1)
xprintidle для Windows
(1)
Агент Смит
(1)
БП
(1)
Белтелеком
(1)
Восстановление пароля root FreeBSD
(1)
Защита от взлома SSH
(1)
ИЛИС
(1)
Многопользовательськая торрент-качалка на transmission
(1)
Оптимизация wi-fi
(1)
Охолождение CPU
(1)
Переход на NAS4Free
(1)
Проброс портов
(1)
Распределенная файловая система
(1)
Сетевая загрузка
(1)
Туалетная автоматизация
(1)
Ускорение Интернета
(1)
ФФ
(1)
Хранение паролей в облаке
(1)
авторегулирование скорости Transmission
(1)
админка
(1)
антивирус на самбе
(1)
атака на SSH
(1)
безвентиляторная система
(1)
безвентиляторный корпус
(1)
блог
(1)
вентилятор
(1)
взлом SSH
(1)
восстановление
(1)
вставка кода
(1)
вставка кода в blogger
(1)
день программиста
(1)
дьяволица
(1)
заговор вокруг лампочки
(1)
запуск exe-шника из Dokan
(1)
интернет радио
(1)
интернет ускользает
(1)
кибермама
(1)
компрессия трафика
(1)
копия раздела FreeBSD
(1)
корпус
(1)
куллер
(1)
маршрут по умолчанию в Linux
(1)
маршрутизация NAS4Free
(1)
маршрутизация в FreeBSD
(1)
маршрутизация в NAS4Free
(1)
матрица играет со мной
(1)
метрика
(1)
модем
(1)
настройки PuTTy
(1)
не полное меню модема
(1)
ноутбучный БП
(1)
озабоченная
(1)
оповещения
(1)
пароли
(1)
пароль
(1)
погода
(1)
подбор пароля к SSH-ключу
(1)
подготовка к школе
(1)
подсветка синтаксиса в blogger
(1)
потоп
(1)
права доступа
(1)
проксинатор
(1)
радиатор
(1)
резервное копирование
(1)
репка
(1)
репозиторий
(1)
роутер
(1)
русификация консоли
(1)
рут
(1)
рут Prestigio 4300
(1)
сбой
(1)
сетевой шлюз
(1)
сжатие трафика
(1)
скорость закачки Transmission
(1)
солярий в туалете
(1)
солярий дома
(1)
солярий своими руками
(1)
тренинги для детей
(1)
туалет
(1)
тян
(1)
упал FreeNAS
(1)
управление Transmission из командной строки
(1)
управление скоростью загрузки торрентов
(1)
ускоритель интернета
(1)
файл ответов
(1)
фильтрация контента
(1)
фотогалерея NAS4Free
(1)
фрагментация
(1)
функциональность bash в cmd.exe
(1)
хранение паролей
(1)
чертовка
(1)
шифрование трафика
(1)
Показаны сообщения с ярлыком Transmission. Показать все сообщения
Показаны сообщения с ярлыком Transmission. Показать все сообщения
Братья по целям
На хабре появилась статья Авторегулирование скорости Transmission
Там автор тоже тормозит Transmission через transmission-remote. Но у него скрипт проверяет несколько IP в сети и просто бездумно тормозит, если кто-то присутствует. Идею перебора адресов можно почерпнуть для конкурирующего скрипта.
А ещё его скрипт не в CRON, а в демоне со SLEEP(30). В CRON можно настроить более гибко и разумно, например, ночью проверять раз в час. А в обычное время сёрфинга не проверять вовсе, а сразу резать закачку.
Там автор тоже тормозит Transmission через transmission-remote. Но у него скрипт проверяет несколько IP в сети и просто бездумно тормозит, если кто-то присутствует. Идею перебора адресов можно почерпнуть для конкурирующего скрипта.
А ещё его скрипт не в CRON, а в демоне со SLEEP(30). В CRON можно настроить более гибко и разумно, например, ночью проверять раз в час. А в обычное время сёрфинга не проверять вовсе, а сразу резать закачку.
Управление скоростью закачки Transmission
А я всё допиливаю WIDLE )))
Добавил в CRON на сервере скрипт проверки запущен ли вообще рабочий комп
Теперь, если рабочий комп не пингуется, то торренты льются на полную.
Тему можно считать закрытой.
Добавил в CRON на сервере скрипт проверки запущен ли вообще рабочий комп
#!/bin/sh ping -q -c1 10.10.10.10 > /dev/null if [ $? -eq 0 ] then echo "ping ok" else /usr/local/bin/transmission-remote -AS -pr 200 --auth transmission:mypass fi
Теперь, если рабочий комп не пингуется, то торренты льются на полную.
Тему можно считать закрытой.
WIDLE v.0.0.2
Работа над утилитой WIDLE идёт. Но нечто не дают сосредоточится и писать ровный код. Очень гложет глобальное потепление. А может я просто разучился кодить ))) Больше я код выкладывать не буду, стыдно! Но, АДОВ КОТ работает!
И так, версия ВТОРАЯ базируется на первой, но сильно переработана. Поэтому и кривоват исходник. Но всё тестируется и прогоняется. Чекаются баги, утечки памяти и пр. Теперь WIDLE разумней называть не утилитой, а программой.
Скачать: WIDLE 2
И так, версия ВТОРАЯ базируется на первой, но сильно переработана. Поэтому и кривоват исходник. Но всё тестируется и прогоняется. Чекаются баги, утечки памяти и пр. Теперь WIDLE разумней называть не утилитой, а программой.
Скачать: WIDLE 2
WIDLE
Завёл топик на форуме NAS4Free, посвящённый утилите WIDLE. Там всё стройнее расписал, а то тут разбросано както всё. И версия там более актуальная. Последняя в текущей ветке. Иконку влепил из под лицензии WTFPL. Пару строк местами поменял. Следующая версия, если будет, то будет сильно переделанная.
WIDLE
Как и обещал выкладываю своё произведение widle.exe
Это утилитка, которая проверяет активен ли пользователь на Windows-машине и выполняет команду при изменении состояния. Предистория в нескольких частях:
1. Управление торрентами
2. Управление загрузкой торрентов
3. Почти интиллектуальное управление скоростью загрузки торрентов
И в этой части непосредственно рабочее решение (я надеюсь).
При запуске утилита ищет в рабочей директории файл конфигурации widle.cfg и не найдя его создаёт по-умолчанию:
5. Вывод дополнительной информации.
8. Навязчивый режим. Это, когда команды выполняются после каждой проверки состояния IDLE. В противном случае, команды посылаются только при изменении состояния. Навязчевый режим подходит для управления скоростью в смешанном режиме. Когда управляет ещё кто либо, например CRON.
11. Время инерции активности пользователя. Чувствительность в секундах.
14. Период проверки, мс.
17. Команда, выполняемая, при обнаружении спящего пользователя.
20. Команда, выполняемая, при активном пользователя.
Далее утилита выдаёт подсказку по ключам командной строки:
Режим печати может быть полезен при использовании утилиты в составе скриптов. Она возвращает в коде значение IDLE и, конечно, в консоль. Режим визуализации бесполезен, но даёт представление об отсчёте IDLE-time в интерактивном режиме. И самый нужный режим - Демонайзер! В этом режиме в цикле происходит проверка состояния и выполняются те самые команды.
Сама утилита достаточно универсальна и выполнять команды может разнообразные. Но в нашем случае выполняется команда управлением скоростью закачки Transmission через SSH. Подразумевается, конечно, что сессия SSH авторизуется ключами. И тут меня ждал маленький сюрприз: Win7 and OpenSSH
Внимательный читатель заметит, что команды перепутаны местами. Именно поэтому сам экзешник я пока выкладывать не буду, надо ещё протестировать :)
Это утилитка, которая проверяет активен ли пользователь на Windows-машине и выполняет команду при изменении состояния. Предистория в нескольких частях:
1. Управление торрентами
2. Управление загрузкой торрентов
3. Почти интиллектуальное управление скоростью загрузки торрентов
И в этой части непосредственно рабочее решение (я надеюсь).
При запуске утилита ищет в рабочей директории файл конфигурации widle.cfg и не найдя его создаёт по-умолчанию:
# http://mytoiletserver.blogspot.com/ # # Enable debug messages debug_messages = 1 # Enable intrusive call commands in demonizer mode intrusive_call = 1 # Timeout to switch in IDLE real_idle_timeout = 120 # Pause in cycle for check IDLE status time_cycle = 10000 # Executing command in User-IDLE status command_idle = ssh.exe root@10.10.10.10 nohup /usr/local/bin/transmission-remote -as --auth transmission:mypass # Executing command in User-Active status command_active = ssh.exe root@10.10.10.10 nohup /usr/local/bin/transmission-remote -AS -pr 240 --auth transmission:mypass
5. Вывод дополнительной информации.
8. Навязчивый режим. Это, когда команды выполняются после каждой проверки состояния IDLE. В противном случае, команды посылаются только при изменении состояния. Навязчевый режим подходит для управления скоростью в смешанном режиме. Когда управляет ещё кто либо, например CRON.
11. Время инерции активности пользователя. Чувствительность в секундах.
14. Период проверки, мс.
17. Команда, выполняемая, при обнаружении спящего пользователя.
20. Команда, выполняемая, при активном пользователя.
Далее утилита выдаёт подсказку по ключам командной строки:
-h - this help -p - print IDLE to display and return IDLE-value in exit-code -i - interactive visualization IDLE -z - demonizer for execute command in cycle
Режим печати может быть полезен при использовании утилиты в составе скриптов. Она возвращает в коде значение IDLE и, конечно, в консоль. Режим визуализации бесполезен, но даёт представление об отсчёте IDLE-time в интерактивном режиме. И самый нужный режим - Демонайзер! В этом режиме в цикле происходит проверка состояния и выполняются те самые команды.
Сама утилита достаточно универсальна и выполнять команды может разнообразные. Но в нашем случае выполняется команда управлением скоростью закачки Transmission через SSH. Подразумевается, конечно, что сессия SSH авторизуется ключами. И тут меня ждал маленький сюрприз: Win7 and OpenSSH
Внимательный читатель заметит, что команды перепутаны местами. Именно поэтому сам экзешник я пока выкладывать не буду, надо ещё протестировать :)
Почти интиллектуальное управление скоростью загрузки торрентов
Кажись тупею. Только с третьего раза дал более-менее внятное название статье )))
Всё началось с того, что супруга начала жить дома не только ночью, но и днём. Управлять скоростью закачки в ручную стало совсем не удобно. И я написал первую и вторую части сего труда. Соответственно, это третья часть. В первой части наметил курс: управляю скоростью, дёргая Alt-Speed и Peer-Count, через transmission-remote. В CRON-е NAS4Free уже есть некоторые задачи на утро и на ночь. Кроме этого, на win-машине, которая в Инет смотрит параллельно серверу, в один интерфейс, буду запускать цикл по проверке активности GUI-пользователя. Именно из этого цикла и будут посылаться команды торренто-качалке на сервере. Во второй части я определился, как именно буду посылать команды с win-машины на сервер - это через SSH. Реализовывать свой RPC протокол, даже имея исходники, дело для меня лично не сильно привлекательное. Ну а эта, третья часть, чуть менее, чем полностью, виндовая. Здесь я хочу сделать замену скрипту из первой части и перенести его функционал на винду.
1. Демона буду делать на С++. Я много недолюбливаю скрипты, в частности под win. А почему буду именно делать? В лом стало разбираться с вызовом API из командной строки. Даже, если, это делать удобно (WinAPIExec).
2. Определение активности GUI-пользователя. Можно оригинально расставить хуки на клаву и мышку, как это успешно сделал Paul DiLascia. Всё прозрачно, понятно и разжёвано на русском. Исходники скомпилировал, проверил - на Win7 работают. Но ощущение велосипеда не покидает. Всёже вернее будет использовать соответствующие API:
При желании продвинуться можно будет почитать Определяем бездействие пользователя в Windows
3. Функционал. Программа будет в почти вечном цикле, назову её демоном, хоть и не разу не служба. Утилита должна уметь подтягивать из файла настроек или реестра следующую конфигурацию:
На данный момент доступна уже вторая версия:WIDLE v.0.0.2 (Static library) на Yandex.Disk
Подробней читать по соответствующему тегу WIDLE
Всё началось с того, что супруга начала жить дома не только ночью, но и днём. Управлять скоростью закачки в ручную стало совсем не удобно. И я написал первую и вторую части сего труда. Соответственно, это третья часть. В первой части наметил курс: управляю скоростью, дёргая Alt-Speed и Peer-Count, через transmission-remote. В CRON-е NAS4Free уже есть некоторые задачи на утро и на ночь. Кроме этого, на win-машине, которая в Инет смотрит параллельно серверу, в один интерфейс, буду запускать цикл по проверке активности GUI-пользователя. Именно из этого цикла и будут посылаться команды торренто-качалке на сервере. Во второй части я определился, как именно буду посылать команды с win-машины на сервер - это через SSH. Реализовывать свой RPC протокол, даже имея исходники, дело для меня лично не сильно привлекательное. Ну а эта, третья часть, чуть менее, чем полностью, виндовая. Здесь я хочу сделать замену скрипту из первой части и перенести его функционал на винду.
1. Демона буду делать на С++. Я много недолюбливаю скрипты, в частности под win. А почему буду именно делать? В лом стало разбираться с вызовом API из командной строки. Даже, если, это делать удобно (WinAPIExec).
2. Определение активности GUI-пользователя. Можно оригинально расставить хуки на клаву и мышку, как это успешно сделал Paul DiLascia. Всё прозрачно, понятно и разжёвано на русском. Исходники скомпилировал, проверил - на Win7 работают. Но ощущение велосипеда не покидает. Всёже вернее будет использовать соответствующие API:
LASTINPUTINFO lpi; lpi.cbSize = sizeof(lpi); GetLastInputInfo(&lpi);
При желании продвинуться можно будет почитать Определяем бездействие пользователя в Windows
3. Функционал. Программа будет в почти вечном цикле, назову её демоном, хоть и не разу не служба. Утилита должна уметь подтягивать из файла настроек или реестра следующую конфигурацию:
- TimeOut of Cicle [uint] - частота проверки
- IDLE Time [uint] - честное время простоя
- Command IDLE [string] - команда, выполняемая при честном простое
- Command Active [string] - команда, выполняемая при активности
На данный момент доступна уже вторая версия:WIDLE v.0.0.2 (Static library) на Yandex.Disk
Подробней читать по соответствующему тегу WIDLE
Ярлыки:
cron,
GetLastInputInfo,
LASTINPUTINFO,
NAS4Free,
SSH,
Transmission,
transmission-remote,
WIDLE,
widle.exe,
Win7,
WinAPIExec
Управление торрентами
Буду освобождать канал по расписанию и по нагрузке (по присутствию пользователя на винде).
Первая задача расписана тут:
1. Transmission будет только отдавать на скорости в 8 кбайт/сек.
2. Вся входящая полоса будет отдана на загрузку, а отдача будет вестись на скорости в 50 кбайт/сек.
Вторая задача, но для Х, расписана тут:
Сейчас пойду искать альтернативу xprintidle для Win
А ещё в комментах пишут, что ораничивать есть смысл колич. пиров:
Продолжение: Управление загрузкой торрентов
Ну и в догонку все ключи transmission-remote
Первая задача расписана тут:
/usr/local/bin/transmission-remote -d 0 -u 8 --auth admin:password /usr/local/bin/transmission-remote -D -u 50 --auth admin:password
1. Transmission будет только отдавать на скорости в 8 кбайт/сек.
2. Вся входящая полоса будет отдана на загрузку, а отдача будет вестись на скорости в 50 кбайт/сек.
Вторая задача, но для Х, расписана тут:
#!/bin/bash
IDLEMAX=120000 #время бездействия, после которого снимается ограничение (мс)
TIMEOUT=4
HOST=localhost
PORT=9099
IDLENOW=-1
while true; do
IDLENOW=$(xprintidle)
if << $IDLENOW -gt $IDLEMAX >>
then if << $TURTLE == true >>
then
TURTLE=false
echo -e "\nTurtle mode OFF"
transmission-remote $HOST:$PORT -AS
notify-send "Transmission" "Ограничение скорости снято" -i transmission &
fi
elif << $TURTLE != true >>
then
TURTLE=true
echo -e "\nTurtle mode ON"
transmission-remote $HOST:$PORT -as
notify-send "Transmission" "Установлено ограничение скорости" -i transmission &
fi
sleep $TIMEOUT
done
Сейчас пойду искать альтернативу xprintidle для Win
А ещё в комментах пишут, что ораничивать есть смысл колич. пиров:
transmission-remote -pr 4
Продолжение: Управление загрузкой торрентов
Ну и в догонку все ключи transmission-remote
Dropbox in FreeNAS
Это продолжение темы Transmission + Dropbox
Я тогда не слабо ступил, думая, что у Дропбокса нет клиента в портах. Его-то нет, но есть API :)
Ну а я для начала предполагаю через Dropbox передавать torrent-файлы. Трансмиссия уже сама подхватит новые файлы и переименует их в xxx.torrent.added На дальнем конце по появлению переименованного файла в директории Dropbox я пойму, что трансмиссия его проглотила и процесс пошёл.
Иду и регистрирую Dropbox App https://www.dropbox.com/developers/apps
Ставлю:
pkg_add -rv ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/p5-WebService-Dropbox.tbz
pkg_add -rv ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/dropbox-api-command.tbz
Настраиваю/подключаюсь:
dropbox-api setup
Ошибка:
Ставлю IO-Socket-SSL:
Пробую заново:
Вижу приглашение:
success! try
> dropbox-api ls
> dropbox-api find /
Испытываю: работает, но проблемы с русским, конечно...
Настраивая CRON, следует помнить, что limit of 5000 API calls per day.
Если предположить без особой избыточности, только синхронизация директорий sync, то проверять можно ну раз в минуту. И раз в минуту синхронизировать назад в Dropbox. На самом деле и раз в минут 5 мне будет предостаточно :)
Как пользоваться новой игрушкой читаю тут: https://github.com/s-aska/dropbox-api-command
Всё работает! Надо сломать ))))
Правлю установленный perl-скрипт:
/usr/local/bin/dropbox-api
24: my $config_file = file( $ENV{'DROPBOX_CONF'} || ($ENV{'HOME'}, '/../../mnt/dropbox/.dropbox-api-config') );
25: # my $config_file = file( $ENV{'DROPBOX_CONF'} || ($ENV{'HOME'}, '.dropbox-api-config') );
Не забываю положить сам конфиг в указанное место, перетащив его из /root:
/mnt/dropbox/.dropbox-api-config
Теперь пишу скрипт синхронизации Dropbox <--> Transmission:
Даю ему права, проверяю - всё работает.
Помещаю в cron от root или от нового пользователя dropbox:
/mnt/dropbox/dropboxsync.sh
2. Кстати, кронтабы пользователей хранятся вот по этому пути:
/var/cron/tabs
/etc/crontab - root's crontab
Запостился на эту тему на форуме FreeNAS sourceforge.net
Там даже както красивее получилось, собрал мысли в кучку :)
Но форум тот канул в лету, а на новом только скромный пост в эту тему.
Sparkleshare действительно свободный аналог Dropbox на своем сервере
Я тогда не слабо ступил, думая, что у Дропбокса нет клиента в портах. Его-то нет, но есть API :)
Заметки на полях
Для графических Linux статейка по nautilus+dropbox.
Порт для графических FreeBSD: freebsd-linux-nautilus-dropbox
Ну а я для начала предполагаю через Dropbox передавать torrent-файлы. Трансмиссия уже сама подхватит новые файлы и переименует их в xxx.torrent.added На дальнем конце по появлению переименованного файла в директории Dropbox я пойму, что трансмиссия его проглотила и процесс пошёл.
Иду и регистрирую Dropbox App https://www.dropbox.com/developers/apps
Ставлю:
pkg_add -rv ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/p5-WebService-Dropbox.tbz
pkg_add -rv ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/dropbox-api-command.tbz
Настраиваю/подключаюсь:
dropbox-api setup
Ошибка:
SSL requires IO::Socket::SSL, but it is not available. Please install IO::Socket::SSL using your prefer CPAN client at /usr/local/lib/perl5/site_perl/5.12.4/WebService/Dropbox.pm line 290
Ставлю IO-Socket-SSL:
pkg_add -rv ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/p5-IO-Socket-SSL.tbz
Пробую заново:
dropbox-api setup
Указываю (подсмотреть):
API Key
API Secret
Иду по линку и жму AllowAPI Secret
Вижу приглашение:
success! try
> dropbox-api ls
> dropbox-api find /
Испытываю: работает, но проблемы с русским, конечно...
Настраивая CRON, следует помнить, что limit of 5000 API calls per day.
Если предположить без особой избыточности, только синхронизация директорий sync, то проверять можно ну раз в минуту. И раз в минуту синхронизировать назад в Dropbox. На самом деле и раз в минут 5 мне будет предостаточно :)
Как пользоваться новой игрушкой читаю тут: https://github.com/s-aska/dropbox-api-command
dropbox-api sync dropbox:/_torrent_/_new_ /mnt/1TB/_torrent_/_new_
Файл опустился из облака в туалет. Из туалета возношу в облакА с разрешающей удаление опцией:dropbox-api sync /mnt/1TB/_torrent_/_new_dropbox:/_torrent_/_new_ -d
Всё работает! Надо сломать ))))
Правлю установленный perl-скрипт:
/usr/local/bin/dropbox-api
24: my $config_file = file( $ENV{'DROPBOX_CONF'} || ($ENV{'HOME'}, '/../../mnt/dropbox/.dropbox-api-config') );
25: # my $config_file = file( $ENV{'DROPBOX_CONF'} || ($ENV{'HOME'}, '.dropbox-api-config') );
Не забываю положить сам конфиг в указанное место, перетащив его из /root:
/mnt/dropbox/.dropbox-api-config
Теперь пишу скрипт синхронизации Dropbox <--> Transmission:
#!/bin/sh
########################################################################
# Syncing script dropboxsync.sh
# Goal Dropbox<-->Transmission
# Use https://github.com/s-aska/dropbox-api-command
# By rvm.my.home.s@gmail.com
# URL http://mytoiletserver.blogspot.com/
### SYNC_OPTIONS:
# -v -- Verbose
# -d -- Delete
API_BIN="/usr/local/bin/dropbox-api"
SYNC_OPTIONS="-d"
DROPBOX_REMOTE_FOLDER="dropbox:/_torrent_/_new_/"
LOCAL_SYNC_FOLDER="/mnt/1TB/_torrent_/_new_/"
LOG_FILE="dropboxsync.log"
LOG_FILEPATH="/mnt/dropbox/$LOG_FILE"
SYNC_PAUSE_SECONDS=30
START_MESSAGE=">>>>>>>>>> Now syncing '`hostname`' with Dropbox [UID=`dropbox-api uid`]"
END_MESSAGE="<<<<<<<<<< Syncing complete!"
PAUSE_MESSAGE="========== Syncing now sleeping $SYNC_PAUSE_SECONDS seconds for Transmission work..."
DATE_FORMAT="date +%t%d.%m.%Y%t%k:%M:%S%t"
echo "*****************************************" >> ${LOG_FILEPATH}
MESSAGE="echo Current dir: `pwd`"
$MESSAGE >> ${LOG_FILEPATH}
MESSAGE="echo Current user: `id`"
$MESSAGE >> ${LOG_FILEPATH}
MESSAGE="echo `$DATE_FORMAT` $START_MESSAGE"
$MESSAGE >> ${LOG_FILEPATH}
### Command: Sync to Me
$API_BIN sync ${DROPBOX_REMOTE_FOLDER} ${LOCAL_SYNC_FOLDER} ${SYNC_OPTIONS} >> ${LOG_FILEPATH}
MESSAGE="echo `$DATE_FORMAT` $PAUSE_MESSAGE"
$MESSAGE >> ${LOG_FILEPATH}
sleep $SYNC_PAUSE_SECONDS
### Command: Sync to Dropbox
$API_BIN sync ${LOCAL_SYNC_FOLDER} ${DROPBOX_REMOTE_FOLDER} ${SYNC_OPTIONS} >> ${LOG_FILEPATH}
MESSAGE="echo `$DATE_FORMAT` $END_MESSAGE"
$MESSAGE >> ${LOG_FILEPATH}
### Command: Copy Log-File to Dropbox
cp ${LOG_FILEPATH} ${LOCAL_SYNC_FOLDER}${LOG_FILE}
$API_BIN put ${LOCAL_SYNC_FOLDER}${LOG_FILE} ${DROPBOX_REMOTE_FOLDER}
Даю ему права, проверяю - всё работает.
Помещаю в cron от root или от нового пользователя dropbox:
/mnt/dropbox/dropboxsync.sh
P.S.
1. Немаловажное замечание. Весь обмен идёт с приватными папками DropBox.2. Кстати, кронтабы пользователей хранятся вот по этому пути:
/var/cron/tabs
/etc/crontab - root's crontab
Запостился на эту тему на форуме FreeNAS sourceforge.net
Там даже както красивее получилось, собрал мысли в кучку :)
Но форум тот канул в лету, а на новом только скромный пост в эту тему.
Sparkleshare действительно свободный аналог Dropbox на своем сервере
Upgrade to FreeNAS 0.7.5.9898
Добрался таки от апгрейда до ядра FreeBSD 9
FreeBSD 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Sat Jan 28 21:51:11 CET 2012
Раскатал поверху, все настройки и пакеты сохранились, кажется всё работает кроме звука - нужно драйвера подтягивать соответствующей версии. Так как делал всё в условиях "все торренты скачаны", то заодно сменил директорию для временных файлов трансмиссии. Указал её не на основной винт, а на системный. Теперь основной винт будет только подчитываться на раздачу, а на запись будет уж точно ложить файлы единым куском. Так основному большому винту я попробую увеличить ресурс. Для уменьшения фрагментации я уже предпринимал действия в пункте 14. Всё Воедино, но думаю, что эта настройка могла затереться. Так и есть, подправил :) пусть и на системном во временной директории будет типа порядок.
Да! transmisson-remote-gui бесстыже начал вылетать при попытке подключения к серверу - пришлось обновить версию и его до 3.2
Если ещё на сервере обновляю что нить, то вот так:
На самом деле меня это всё не очень устраивает. Я когда нить (когда надоест яйца чесать) буду таки ставить эту версию с ноля, подтягивая свежие пакеты и всё такое, а нюансы впишу в пост Всё Воедино
FreeBSD 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Sat Jan 28 21:51:11 CET 2012
Раскатал поверху, все настройки и пакеты сохранились, кажется всё работает кроме звука - нужно драйвера подтягивать соответствующей версии. Так как делал всё в условиях "все торренты скачаны", то заодно сменил директорию для временных файлов трансмиссии. Указал её не на основной винт, а на системный. Теперь основной винт будет только подчитываться на раздачу, а на запись будет уж точно ложить файлы единым куском. Так основному большому винту я попробую увеличить ресурс. Для уменьшения фрагментации я уже предпринимал действия в пункте 14. Всё Воедино, но думаю, что эта настройка могла затереться. Так и есть, подправил :) пусть и на системном во временной директории будет типа порядок.
Да! transmisson-remote-gui бесстыже начал вылетать при попытке подключения к серверу - пришлось обновить версию и его до 3.2
Если ещё на сервере обновляю что нить, то вот так:
pkg_delete -f xxx-0.1.2.3
pkg_add -rv xxx
На самом деле меня это всё не очень устраивает. Я когда нить (когда надоест яйца чесать) буду таки ставить эту версию с ноля, подтягивая свежие пакеты и всё такое, а нюансы впишу в пост Всё Воедино
Завис сервер
Сутра поставил порядка 20-ти закачек. Для мегабитного инета - это посленовогоднее испытание :) И вот, после более чем двух месячного аптайма сервер таки подвис - на пинг не отвечал. Подёргал кабель, попробовал прямое кабельное соединение (без свитча) на гигабите. В результате выключил кнопкой PowerOff. Выключение отработало нормально, система послушалась. После включения сразу остановил торренты. Лог оказался с перемешенным временем:
Похоже, что часы transmission спешат. Но это никогда не сказывалось на его работе. А вот обилие which was just downloaded, failed its checksum test (peer-mgr.c:1525) сказалось на работоспособности всего сервера. Порт умер и удалённый сервер стал ближе. Поставил все торренты на проверку. Удалил с рейтингом выше порога. Новый аптайм 5 дней :)
Надо всёже собраться и поставить ночную сборку последнюю.
| Jan 5 18:08:47 - kernel: Copyright (c) 1992-2010 The FreeBSD Project. Jan 5 18:08:47 - syslogd: kernel boot file is /boot/kernel/kernel Jan 5 17:06:36 - syslogd: exiting on signal 15 Jan 5 18:06:36 - init: /bin/sh on /etc/rc.shutdown terminated abnormally, going to single user mode Jan 5 18:06:36 - init: /bin/sh on /etc/rc.shutdown terminated abnormally, going to single user mode Jan 5 18:06:35 - rc.shutdown: 30 second watchdog timeout expired. Shutdown terminated. Jan 5 17:06:07 - lighttpd[2216]: (server.c.1512) server stopped by UID = 0 PID = 0 Jan 5 17:05:39 - kernel: re0: link state changed to UP Jan 5 17:05:30 - kernel: re0: link state changed to DOWN Jan 5 17:04:55 - kernel: re0: link state changed to UP Jan 5 17:04:49 - kernel: re0: link state changed to DOWN Jan 5 16:59:11 - kernel: re0: link state changed to UP Jan 5 16:56:14 - kernel: re0: link state changed to DOWN Jan 5 17:05:06 - transmission-daemon[53212]: Школа вÑM-^KживаниÑM-^O. ÐM-^Qайкал. ÐM-^RÑM-^KжиÑM-^BÑM-^L в ÑM-^Bайге_DVB by kuzmichm2196 .mpg Piece 14, which was just downloaded, failed its checksum test (peer-mgr.c:1525) Jan 5 17:02:15 - transmission-daemon[53212]: City.of.Lost.Children.1995.HDTVRip.by.gjiAm.AVC.mkv Piece 573, which was just downloaded, failed its checksum test (peer-mgr.c:1525) Jan 5 16:12:57 - transmission-daemon[53212]: City.of.Lost.Children.1995.HDTVRip.by.gjiAm.AVC.mkv Piece 556, which was just downloaded, failed its checksum test (peer-mgr.c:1525) |
Похоже, что часы transmission спешат. Но это никогда не сказывалось на его работе. А вот обилие which was just downloaded, failed its checksum test (peer-mgr.c:1525) сказалось на работоспособности всего сервера. Порт умер и удалённый сервер стал ближе. Поставил все торренты на проверку. Удалил с рейтингом выше порога. Новый аптайм 5 дней :)
Надо всёже собраться и поставить ночную сборку последнюю.
Transmission + Dropbox
Transmission умеет автоматически подтягивать на закачку torrent-файл, положенный в определённую директорию.Эту полезную фичу можно использовать для удалённого добавления торрента на закачку. Можно применить Dropbox в качестве синхронизатора. Кинув в Интернете torrent-файл в директорию Dropbox-а мы автоматически запустим закачку у нас на сервере. Реализация элементарна и в описании не нуждается. Вообще, эта статья родилась под вдохновением Dropbox + AutoIt + utorrent на хабре. Там решаются вопросы шире. Вот только обидно, что Dropbox-а нет в портах для FreeBSD, да и с безопасностью есть вопросы :(
Тем не менее, при условии включенной дома Win-машины и смотрящей в инет, этот путь удалённого добавления торрентов на закачку можно применять.
UPD 28.09.2011
В догонку способ, как расшаривать всем (в том числе не зарегистрированным ползователям Dropbox) свои директории по ссылке, а не только Public. Для включения фичи "Get Shareable Link" перейти по ссылке https://www.dropbox.com/enable_shmodel
И ещё Python-скрипт, оформляющий аля-FTP-список ваших указанных/расшаренных/проиндексированных файлов в Dropbox-е. Вот статейка про него на хабре. Ниже скриншот работы тестового скрипта:
Transmission — внедряем в него плюшки
Вот статья на Хабре может пригодится:
Читать далее
Добрый день.
На своём домашнем серваке сменил систему, и собственно софт тоже нужно было переставлять.
Поэтому ради теста просмотрел несколько самых популярных торрент-клиентов, работающих на *nix (rTorrent, Deluge, MLDonkey, Transmission).
Последний понравился мне больше всего, однако для меня нашёлся существенный минус — невозможно переименовывать зашитые в .torrent-файл имена торрентов.
То есть у нас на диске будут всякие разные папки, например — «Krovavaja gora», «Место Преступления Нью-Йорк», а то и просто «7 Сезон».
Мне это не по нраву, я люблю порядок, соотвестсвенно свою фильмотеку (точнее её сериальную часть) организую в виде "%SERIAL_NAME%/Season N".
Transmission увы не позволяет такого. Но так как в основном всё было хорошо, я взялся подгонять клиент под себя...
Читать далее
Подписаться на:
Сообщения (Atom)

