GithubHelp home page GithubHelp logo

deyoonoo / kimsufi-crawler Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ma3str0/kimsufi-crawler

0.0 0.0 0.0 106 KB

Crawler that will send you an email alert as soon as servers on OVH/Kimsufi become available for purchase

License: MIT License

Python 99.77% Dockerfile 0.23%

kimsufi-crawler's Introduction

Kimsufi/So-you-Start Avaliability Crawler

Crawler that will notify you when Kimsufi servers (or So-you-Start, or OVH) become available for purchase.

git clone https://github.com/MA3STR0/kimsufi-crawler.git
cd kimsufi-crawler
cp config.json.example config.json
vim config.json   # edit config.json file to set up your nofitication preferences
sudo pip install -r requirements.txt
python crawler.py

About

Dedicated servers on Kimsufi and So you Start have amazing prices, however they are always out of stock. This crawler will notify you as aoon as servers are available for purchase; it can send emails, show Mac OS notifications, open popup windows, or even trigger sms. Then hurry up, you have around 2 minutes to complete your order :)

Set it up

Runs on GNU/Linux, Mac and Widnows with Python 2.7+ or Python 3.4+

  • Clone this repo (git clone https://github.com/MA3STR0/kimsufi-crawler.git) or download and unpack archive

  • Taking config.json.example as a template, create a file config.json and correct configuration according to your preferences:

    • servers: list of servers that should be tracked, eg ["KS-1", "KS-2 SSD", "GAME-2"] etc. All supported server names can be found in mapping file mapping/server_types.json as values)

    • region: desired location of server, canada or europe

    • notifier: notification mechanism, choose between:

      • "email": default, requires additional email account settings
      • "popup": simple popup window, platform-independent
      • "popup_pywin": simple popup window, displays on top of all other windows (Windows only, requires pywin32 package)
      • "osx": Mac OS-X desktop notifications (using terminal-notifier)
      • "smsapi": sms through smsapi.pl gateway, requires account
      • "xmpp": send jabber/xmpp message, requires account - needs xmpppy
      • "pushover": send Pushover message, requires account - needs chump
      • "pushbullet": send Pushbullet message, requires account - needs pushbullet
      • "freemobile": sends sms to freemobile customer, requires account - needs requests
      • "telegram": sends message to a Telegram chat - needs python-telegram-bot
    • to_email: your email to receive notifications

    • from_email: email account of the crawler.

    • from_pwd, from_smtp_host: smtp configuration of crawler email account

    • xmpp_jid, xmpp_password, xmpp_recipient, xmpp_send_test: xmpp configuration of sending jabber account

    • pushover_application_id, pushover_user_id: your Pushover configuration, messages are sent to all devices assigned to user

    • pushover_priority: priority of the notification to receive. -2 is lowest and 2 is highest

    • pushbullet_apikey: your Pushbullet API key, notification sent to all devices

    • freemobile_username: your freemobile login

    • freemobile_key: your freemobile sms notification key

    • telegram_token: full token you receive from BotFather after creating a bot

    • telegram_chat_id: chat id you want to receive the message in. Retrieve by following for example this stackoverflow answer

  • Crawler runs on Python 2.7+ and Tornado framework 4.0+. Assuming that you already have Python/pip, just get Tornado and the notifier dependencies with sudo pip install -r requirements.txt. You can also set up virtualenv if you like.

  • Run with python crawler.py. If no error messages come, you're ready.

  • (optional) If your pip install command fails due to xmpppy being on pre-release version (eg. 0.5.0rc1) use: sudo pip install --pre -r requirements.txt

  • (optional) In case of problems with easygui installation on Ubuntu, you can get it also with sudo apt-get install python-easygui

  • (optional) It's a good idea to register an account on Kimsufi/OVH in advance; just pick any available server on www.kimsufi.com and sign up without paying. This way later you will only need to log in and enter payment details, which saves a lot of time.

Test everything

You may test the whole chain by setting some popular servers in your config.json, for example ["KS-3A", "KS-3B", "KS-2E"]. Since those are always available, you should receive a notification immediately.

Config check

Crawler makes an initial check of the config file during startup, so if you have any syntax errors or missing software dependencies - console logs will let you know.

Advanced configuration

You can add more options to the config.json if you need:

  • "crawler_interval": 8 // overriding default periodic callback interval in seconds (should be more than 7.2 to avoid rate-limit)
  • "request_timeout": 30 // http timeout for API requests.
  • "from_smtp_port": 587 // use non-standard smtp port
  • "use_starttls": true // forcing encrypted SMTP session using TLS (true by default)
  • "use_ssl": false // forcing encrypted SMTP session using SSL (false by default)
  • "from_user": "[email protected]" // if smtp user is different from from_email

Versions

These instructions are based on Version 2 of the crawler. You can access last stable release of v1 by browsing through release history

kimsufi-crawler's People

Contributors

ali avatar alveel avatar anthonydahanne avatar antoine-g avatar castanley avatar cheahjs avatar christianrank avatar cypreess avatar epistrephein avatar florianthonig avatar gorgobacka avatar hardware avatar hyperoat avatar ignaciolflores avatar jareis avatar jzbl avatar lalitmaganti avatar ma3str0 avatar mounirlamouri avatar mthoretton avatar nicexe avatar nullprice avatar simonbru avatar smeinecke avatar sylvainmarty avatar thaddeus avatar tickerpicker avatar torvalds avatar zertrin avatar zumochi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.