whatbox related guides and setup. i highly recommend whatbox to anyone as they have given me the best value-for-money. to top it all off, their customer service is unrivalled. all commands are done on the seedbox slot. you need to have a whatbox account in order to utilise these guides/tools.
ssh commands required
majority of the ssh commands requires nano or vim. my choice of a terminal editor would be nano. to find out more how to use nano, visit the following page to get the basics.
look out for notes
notes are placed in the guides, these markers requires your attention.
- π£ note: comments which you should take note of.
- β οΈ important: comments which are important.
report inaccuracies and errors
if something in this guide is inaccurate, wrong, or outdated, report it by scanning the qr code.
π£ note: i am no longer using flexget and have moved onto sonarr/radarr. also this guide may not be relevant anymore or have been updated. my advice is to visit whatbox to view their updated wiki for flexget.
ssh into your whatbox slot
edit your .bashrc to include the following:
export LC_ALL=en_US.UTF-8
export LANG=en_US.TUF-8
save the file and exit.
β οΈ important: you must terminate the ssh session.
ssh back into your slot and review that your .bashrc is updated:
cat ~/.bashrc
follow the guide at whatbox/wiki/flexget.
after installing both virtualenv/flexget make sure you install transmissionrpc.
get into the bin directory:
cd ~/flexget/bin
8 source of flexget:
source ~/flexget/bin/activate
install transmissionrpc:
easy_install transmissionrpc
create your config file:
cd ~/flexget
vim config.yml
π£ note: the config.yml examples can be found at flegxget - cookbooks
check your output:
bin/flexget check
π£ note: if your config file is done correctly the output returned should be config passed.
confirm it by the following:
bin/flexget --test execute
if everything checks out fine, install the crontab as advised in whatboxβs wiki for flexget.
use this in the event should you need to forget series/movies which you have indexed.
ssh into your slot
execute following:
cd ~/flexget/
search:
bin/flexget seen search <keyword>
forget the item:
bin/flexget seen forget 'exact title'
β οΈ important: the β β are important for the command to work.
ssh into your slot.
execute following syntax:
cd ~/flexget/
create the file:
bin/flexget --logfile flexget.log
test it out:
tail -f flexget.log
ssh into your slot.
change directory to your flexget:
cd ~/flexget/bin
vm into the source:
source ~/flexget/bin/activate
start the upgrade of setuptools:
pip install --upgrade setuptools
upgrade flexget from source:
pip install --upgrade flexget
test run to validate:
bin/flexget check
π£ note: this happens when 2 instances of flexget runs concurrently, the sqllite db will get locked.
ssh into your slot.
run the command to kill all flexget processes:
pkill flexget
wait for your crond to run or manually execute your flexget.
π£ note: easiest way to know if crond is working. what is does is to create a file titled success in the root of your whatbox account.
ssh into your slot.
bring up the crontab:
crontab -e
add the following line:
*/5 * * * * touch /home/username/success
π£ note: change /home/username/ to your own slotβs path
π£ note: every once in a while; we get wrong entries from the flexget script; some of these will be sent into a flexget backlog db. clearing the movie-queue waiting list will not help, it will still get sent for downloading even though you have already downloaded it.
ssh into your slot.
change to the flexget directory:
cd ~/flexget
bring up the failed list:
bin/flexget failed list
clear the list:
bin/flexget failed clear
reset the backlog plugin db:
bin/flexget database reset-plugin backlog
when done correctly, message will appear as the database for backlog as been reset.
ssh into your slot.
change directory to the following:
cd ~/flexget/bin
activate the source:
source ~/flexget/bin/activate
execute the downgrade process:
pip install flexget==2.x.x
validate by waiting for crond or manually execute flexget to run.
π£ note: at times you may receive fake downloads due to un-verified RSS feeds. to reset the episodeβs download, follow these steps below.
ssh into your slot.
change directory to flexget:
cd ~/flexget
check your tv-series listing:
bin/flexget series list
locate the show in question and execute the check task:
bin/flexget series show *name-of-tv-show*
forget the episode to allow flexget to re-download it:
bin/flexget series forget *name-of-tv-show* *s01e01*
π£ note: flexget needs to be updated to make use of the new trakt.tv api v2. if your flexget is 1.2.380 and below, flexget cannot be used to generate the trakt pin for token generation, hence you will need to update it before doing anything.
instructions to upgrade flexget is a few paragraphs up on this page. once you have done that, please follow these steps:
β οΈ important: upgrade your Flexget you will need to update your setup tools as well.
on the whatbox slot, generate an access token:
flexget trakt auth *trakt-username* *pin*
amend the settings on your flexget config.yml file.
β οΈ important: trakt v2 api no longer users
thus you will need to substitute it for which you have generated in step 1 above. affected plug-inβs (if you have used them before) are:
- trakt_list
- trakt_emit
- trakt_add
- trakt_remove
- trakt_lookup
download telegram for your laptop, mobile.
install telegram on whatbox as well. ssh into your slot.
change directory to:
cd ~/flexget/bin
source folder:
source ~/flexget/bin/activate
install telegram:
pip install python-telegram-bot
on your telegram.app, contact @botfather and follow the commands to create a new bot by invoking:
/newbot
β οΈ important: once you setup your bot (eg. name it, etc), make sure you keep that http api code @botfather gave to you. you will need it. the bot_token will be needed to be inserted into tautulli and flexget.
create a chatgroup in your telegram.app.
invite your bot into the groupchat. invite @myidbot into the group chat as well.
in the groupchat, issue command:
/getgroupid@myidbot
@myidbot will generate a series of numbers, these represent your groupchatβs id. copy it down.
login to tautulli and activate telegram.
when prompted to enter the bot_id, key in the http api that was provided by @bothfather.
key in the telegram groupchat id as well, provided by @myidbot.
test the notifications.
in your config.yml of your fleget, you will need to key the following code in.
β οΈ important: for flexget, see the sample code. Repeat it for each task, e.g.Β series & movies.
code is updated for 2.7.0 (may be outdated)
template: transmit-movies
# pushbullet:
# apikey: <apikey>
# device: <deviceid>
# title: "imdb_name"
# body: "title\n\nimdb_url\n\nSize: content_sizeMB"
notify:
to:
- telegram:
bot_token: <bot_token_generated_from_@botfather>
parse_mode: markdown
recipients:
- group: <name of telegram group created>
message: |
{%if task in ["retreive_from_couchpotato","dynamic_imdb_actors"]%}*New movie added to list*
{%else%}*Download Started from task
*task%7Creplace%28%22_%22%2C%20%22-%22%29
{%endif%}
{% if series_name is defined -%}
*series_name* - series_id - quality%7Cd%28%27%27%29
*tvmaze_episode_name%7Cd%28tvdb_ep_name%29%7Cd%28%27%27%29*
[Image](tvmaze_series_original_image%7Creplace%28%22_%22%2C%20%22%255F%22%29)
[Show page](tvmaze_series_url%7Creplace%28%22_%22%2C%20%22%255F%22%29)
{% elif imdb_name is defined -%}
*imdb_name* - (imdb_year)
quality%7Cd%28%27%27%29
imdb_score/10 - imdb_votes votes
imdb_genres%7Cjoin%28%27%2C%20%27%29%7Ctitle
*Plot:* imdb_plot_outline
[Image](tmdb_posters%5B0%5D%7Creplace%28%22_%22%2C%20%22%255F%22%29)
[Movie Page](imdb_url%7Cd%28%27%27%29)
{% else -%}
title
{%- endif -%}
save and exit the terminal.app
wait for flexget crond to run or manually execute flexget to test.
π£ note: you need to know what is the name of your movie-list in flexget, look at your config.yml file. items below have to be run in sequence.
ssh into your slot.
list out the movies list:
bin/flexget movie-list list my-movielist
purge all entries:
bin/flexget movie-list purge my-movielist
list out the seen db:
bin/flexget seen search movie
check that the db is empty:
bin/flexget seen forget fill_movie_queue
clear rejected entries from config.yml:
bin/flexget rejected clear
clear backlog:
bin/flexget backlog clear
clear failed:
bin/flexget failed clear
cleanup db:
bin/flexget database cleanup
vacuum db:
bin/flexget database vacuum
exit the terminal.app
π£ note: syncthing is a tool that allows the secure and encrypted sync of the files from your seedbox to your synology.
install syncthing on your synology.
ensure that you have the synocommunity package added to your package center, visit the link below:
after installing, access it via the following link:
http://synology-ip:7070
install syncthing on your whatbox slot. follow the instructions:
π£ note: .stignore files and folder settings. these are the files and folders to ignore to synced over.
(?d)*.nfo
(?d)*.txt
(?d)*.mp4
(?d)*.png
(?d)*.md5
(?d)*.sfv
(?d)*.jpg
(?i)screens
(?i)sample
(?i)extra
π£ note: recently after the seedboxβs upgrade, the flexget client seemed to have not been able to start, when attempting to execute bin/flexget check or execute or even a pkill flexget, you may encounter the following error: there is a FlexGet process already running for this config, sending execution there. could not start manager: [Errno 111] Connection refused.
check your flexget directory using the following command:
ls -la
this would print the hidden file .config-lock. delete this file.
rm -rf .config-lock
π£ note: xteve (x-te-ve) is used for the plex live-tv tuner. you will need to have a valid EPG listing as well and m3u files. do note that you will not be able to share live-tv to your users, unless they are added as a home user.
number of tuners: 1
epg source: xpeg
β οΈ important: the tuners refer to the number of available cast-source, if you have more live-tv tuners, then add that accordingly.
save the settings.
navigate to xmltv and click on it.
π£ note: the epg source is normally a .xml file which is provided by your live-tv provider. enter that url in there. (use http:// instead of https:// - using the ssl protocol will cause the guide to refresh and remove the channels by plex.)
save and close.
you will see the epg sourceβs output as shown below:
π£ note: the m3u file should be supplied by your live-tv provider. you can have the m3u file uploaded into a server or enter the url of where the m3u file is stored in. tuners refer to number of live-tv stream you are allowed to have.
β οΈ important: important to copy this url.
login to your plex account. (via web)
navigate to settings then proceed to manage > live tv & dvr.
add a new dvr.
key in the url of your xteve (with the port number), click on connect and then continue
β οΈ important: the xmltv url is the url which you had copied in step 11, above.
follow-through with the rest of the setup and exit the dvr setup.
when successfully loaded, you will be able to see the live-tv in your plex.
π£ note: recently migrated my whatbox slot. these are the items that i had to re-do. i had requested from the staff to retain the ports of my programs.
have the download client hostname changed from xxx.whatbox.ca to yyy.whatbox.ca.
under download client still, ensure that advanced is switched on, change the remote mapping from xxx.whatbox.ca to yyy.whatbox.ca.
change the indexers for jackett from xxx.whatbox.ca to yyy.whatbox.ca.
π£ note: this is particularly useful if are downloading r01, rar files from sources.
ssh into your whatbox slot and create a folder:
mkdir ~/files/script
execute nano to have the following file created:
cd ~/files/script
nano script.sh
place the code in and save the file:
#!/bin/bash
#A simple script to extract a rar file inside a directory downloaded by Transmission.
find /home/path-of-torrent-downloads/$TR_TORRENT_NAME -name "*.rar" -execdir unrar e -o- "{}" \;
make the file executable:
chmod +x script.sh
kill your current transmission daemon:
killall transmission-daemon
edit the settings.json file for transmission:
nano ~/.config/transmission-daemon/settings.json
change the following to reflect accordingly:
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/home/username/files/script/script.sh",
save the file and restart your transmission through whatboxβs management panel.