Перейти к публикации
TreeLoys

История о том, как я хотел получить премиум.

Рекомендованные сообщения

Это история о том, как я хотел получить премиум аккаунт с помощью самопального скрипта на python и бесплатного linux сервера. 

Осторожно, здесь присутствует программирование.

Так вот начнем с самого начала, те кто не хочет переходим к первой главе.

 

Как-то поздно вечером один не в меру тупой и не в меру умный геймер полез в просторы тырьнета в поисках офигенного не лагающего сервера майнкрафта с молекуляркой. Конечно же у него был один сервер на котором он играл, и первым делом он полез туда. А тот сервер оказался глючным при глючным, где вайпа не было около года и 10 игроков с пингом в одну палочку(пинг проверять клавишей tab удерживать ее нужно).

 

И вот он забил в гугл "технический сервер майнкрафт" и посмотрел на первый запрос и понял он, что не нравиться ему корозябры вместо адреса сайта. Тогда взглянул он на второй запрос и узрел что URL адрес является ЧПУ и перешел по ссылке.

 

Скачал он клиент, зашел на сервер и понял он что сервер не лагает. И пошел он куда глаза глядят...

Шел шел значит.. А дальше понятно, заприватил, пожаловался модеру на столб, а он меня послал..

 

А послал он меня на форум говорит "узри чудо-юдо что на форуме делается, не буду я тебе столб сносить". Пришел я значит на форум и читаю я новость последнюю...

А там "дескать вайп скоро, кто первый зайдет того и прем"

 

Глава 1 разработка основного алгоритма

 

И проснулось желание у меня прем этот заполучить, и начал я алгоритм разрабатывать:

логично было бы предположить, что сервера проснутся вместе с сайтом, а значит нужно сделать так, чтобы мне первым пришло уведомление об открытии работы сайта. И главное чтобы я знал что сайт заработал хоть в 3 часа ночи. Потом проанализировал что меня будит 100% это оказался сигнал будильника. Следовательно нужно что бы на моем телефоне зазвонил будильник. А инициатором этого может быть либо телефонный звонок либо приход СМСки. Начало положено, теперь разрабатываем алгоритм действия программы. Возьмем за основу приход СМСку.

 

Подытожим в одном предложении:

Проверяем сайт на изменения, если внесены изменения на сайте то отправляем смску на мой номер телефона.

 

Глава 2 проработка мелочей

 

1. linux сервер

Для того чтобы обеспечить бесперебойную работу алгоритма, нам нужны бесперебойные вычислительные мощности подключенные к интернету 24/7дней в неделю. Такой штукой является VDS (он же VPS) это грубо говоря компьютер, только мы с ним работаем удаленно, и на нем установлена система linux(windows тоже есть, но стоит дороже и не бывает бесплатным=)

Так вот, идем в интернет и ищем бесплатный vds сервак.  Кстати на любимом redserver, точнее его сервера находятся на VPS. Кстати такой нашелся по адресу adminvps.ru

 

2. SMS шлюз

SMS шлюз представляет собой некий "сервис", через который можно отправлять СМСки на обычный мобильник или андрюк. Работает он по определенному протоколу, этот протокол юзает программа, общается с "сервисом" который отправляет смски. Я воспользовался turbosms.ua так как там давалось 10 бесплатных смсок.

 

3. Python скрипты

теперь все это нужно связать до кучи, то есть чекаем сайт>если сайт изменился>посылаем смску

Для начал нам нужно сохранить сайт в файлик, чтобы потом по нему считать были ли изменения или нет. Вот код:

 
import urllib
from msg import send_msg
data = urllib.urlopen("http://www.redserver.su").read()
f = open("redserver.txt", "wb")
f.write(data)
f.close()
 
Он сохраняет страничку по адресу http://www.redserver.su в файлик redserver.txt
 
У нас есть копия  странички главной, теперь нужно ее сравнивать с сайтом, и если были изменения то послать смс.
 
import urllib
from time import sleep, time
from suds.client import Client
def send_msg(message='Server send default sms'):
    client = Client('http://turbosms.in.ua/api/wsdl.html')
    result = client.service.Auth(login='********', password='*******')
    reslt = client.service.SendSMS(sender='KFNI.HO.UA', destination='+38066163****',text=message)
f = open("redserver.txt""rb")
fille = f.read()
f.close()
while True:
    data = urllib.urlopen("http://www.redserver.su").read()
    if not data == fille:
        send_msg("redserver.su is avalible")
        exit(0)
    else:
        print "No edit: time"+str(time())
    sleep(1)
Рассмотри сее творчество, ведь в нем вся сила! По строчкам рассмотрим..
1. подключение библиотеки для чтения сайтов
2. подключение библиотеки для работы со временем(для дебага) и для того чтобы не сиьльно ддосить сервер)
3. подключение библиотеки для работы с протоколом(SOAP) передачи СМСок
4. Функция для отправки СМСок, принимающая 1 параметр сообщение. Ее можно было опустить, но у меня она была в разных файлах.
5. подключение к сервису смсок
6. авторизация
7. отправка сообщения, sender это отправитель, все в настройках turbosms
8. 9. 10. открытие файла нашей ранее сделанной копии, и сохранение в переменную
11. бесконечный цикл, стопить его можно ctrl+z
12. загружаем сайт по ссылке
13. сравниваем файлик который мы сохранили и ссылку.
14. если две переменные не совпадают, то отправляем смску на телефон
15. завершаем работу скрипта
16. если совпадают то выводим информацию что не совпадает, и время
17. останавливаем скрипт на 1 секунду и возвращаемся на строку 11.
Есть проблемы с кодировкой жесткие, так что лучше добавить # encoding: utf8 в начало всех скриптов.
 
Если вам будет интересно, то я более подробно опишу пошагово как сделать эту систему. Пишите в комментария делать продолжение или нет.
 
Ах да чем все кончилось, я в ВК группе прочитал что сервера откроют в 18:00. Скрипт продолжает выполнять свою функцию.
Изменено пользователем TreeLoys
  • Одобряю 3

Поделиться сообщением


Ссылка на сообщение
Гость guineafrom

@TreeLoys, Не получится.

Изменено пользователем guineafrom

Поделиться сообщением


Ссылка на сообщение

Сидел-сидел, делал-делал, сообщение получил, заходишь...А тут ОПА, парнишка шестилетний хотел "каэсочку" открыть, да по ярлыку промахнулся и зашел на секунду раньше тебя... :D

  • Нравится 1
  • Одобряю 1

ELRnXbnMVI8.jpg

Поделиться сообщением


Ссылка на сообщение
Гость Cinobi

@TreeLoys , это конечно все классно, но совершенно не гарантирует даже шанса зайти в числе первых 7ми. Ладно бы изменение сайта заставляло бы твой пека начать грузить клиент, где по координатам бы кнопочки нажимались. А так, смски, это чушь.

Поделиться сообщением


Ссылка на сообщение

@Cinobi, еще весь завтрашний день впереди... Ну а если бы в 4 ночи включили, то был бы день. Чисто познавательно, его можно использовать например для детекции открытия двери в квартиру. Да много для чего. Захотел - написал, многие и того не смогут, а вдруг кого-то из мелких заинтересую и они вдарятся в программирование???

Поделиться сообщением


Ссылка на сообщение
Гость Cinobi

@Cinobi, еще весь завтрашний день впереди... Ну а если бы в 4 ночи включили, то был бы день. Чисто познавательно, его можно использовать например для детекции открытия двери в квартиру. Да много для чего. Захотел - написал, многие и того не смогут, а вдруг кого-то из мелких заинтересую и они вдарятся в программирование???

 

Я немного не так выразился, звиняй.

 

Сама идея классная, да и полезная, парочку ссылкок я даже сохранил. Но именно в контексте достижения цели(попасть в первые 7 человек) схема то не сработает :)

Поделиться сообщением


Ссылка на сообщение

Я немного не так выразился, звиняй.

 

Сама идея классная, да и полезная, парочку ссылкок я даже сохранил. Но именно в контексте достижения цели(попасть в первые 7 человек) схема то не сработает :)

Ну это понятно) Ну я хотя бы попытался))) Все-таки я приму участие в этом баттле даже без скриптов) Да и название темы - то говорит само за себя :)

Изменено пользователем TreeLoys

Поделиться сообщением


Ссылка на сообщение
Гость DragorX

Умный?
тогда сделай какую нидь полезную прогу продай ее какому нидь барыге и купи на те деньги прем.

Поделиться сообщением


Ссылка на сообщение

Бедный линукс сервер.

А идея в целом очень даже :)

 

 

Правда немного похоже на рекламу сайта для отправки СМС :) 


Приватные сборки рулят!

Давайте вместе сделаем что-то интересное!, все тлен

Поделиться сообщением


Ссылка на сообщение

Бедный линукс сервер.

А идея в целом очень даже :)

 

 

Правда немного похоже на рекламу сайта для отправки СМС :)

гы та не, кстати да нужно было хвехдочками сайты тоже запикать... Ай ладно, может кто рискнет повторить мой опыт, там без 100 грамм не разберешься) Да и что там бедного, раз в секуду скачать html файлик и сравнить. Поверь, 1 игрок майнкрафта грузит в 1000 раз больше моего скрипта)

DragorX

Я не умный, я же в начале говорил " не в меру тупой и не в меру умный"

Изменено пользователем TreeLoys

Поделиться сообщением


Ссылка на сообщение
Гость DragorX

гы та не, кстати да нужно было хвехдочками сайты тоже запикать... Ай ладно, может кто рискнет повторить мой опыт, там без 100 грамм не разберешься) Да и что там бедного, раз в секуду скачать html файлик и сравнить. Поверь, 1 игрок майнкрафта грузит в 1000 раз больше моего скрипта)

DragorX

Я не умный, я же в начале говорил " не в меру тупой и не в меру умный"

Да ты че , я же просто пошутил , не воспринимай всерьез

Поделиться сообщением


Ссылка на сообщение
Гость NaLiTak

Бедный линукс сервер.

А идея в целом очень даже :)

 

 

Правда немного похоже на рекламу сайта для отправки СМС :)

Не легче по уведомлению включить лаунчер и запустить клиент? Ну и поставить, если на компуктере что-то запущено, то придёт просто уведомление).

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение

Не легче по уведомлению включить лаунчер и запустить клиент? Ну и поставить, если на компуктере что-то запущено, то придёт просто уведомление).

Можно с помощью autohotkey скрипт наваять, который будет включать клиент и запускать, набирать логин/пароль и жать кнопку вход. Дело полу часа, ах да ровно в 23:00 мне пришла смска что сайт изменился, гляжу а туда счетчик повесили(((

Поделиться сообщением


Ссылка на сообщение

SMS шлюз, это конечно круто, но не проще так?          Осторожно, сдесь присутствует Python3

 


import requests
import sl4a
import time
"Импортируем модули"


dataOne=requests.get("http://redserver.su").text##Получаем код сайта
droid = sl4a.Android()
while requests.get("http://redserver.su").text != dataOne:##Проверка
  while True:droid.ttsSpeak("Сервер встал, ААААААААААААА")##Функция голосового вывода
else:
  time.sleep(4)##Спим 4 сек. что-бы не наргружать трафик 

И никакого vds :)

Изменено пользователем OnlyMetaSploit
  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...