Пожалуйста, обратите внимание, что пользователь заблокирован
Данный материал показывает, как можно упростить жизнь и куда копать для этого. Мы все часто выполняем различные действия за компом, и как ленивые жопы иногда хочется чуток меньше делать действий. Мне как кодеру, частенько приходится считать контрольные суммы, к примеру md5. Ну и как истинный лентяй, я взял и нашел сайт, где можно онлайн считать. Но что делать если нет интернета, а еще более страшно, что эти сайты ведут логи. И короче как истинный хакер решил все упростить. И понял почему-бы не написать наипростейший бинарь, который в консоли будет считать это.
Вариантик для unix.
main.cpp
C++:
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>
#include "md5.h"
using namespace std;
int main(int argc, char *argv[]) {
string key;
while(1){
printf("Enter key : \n"); // вывести приглашение
getline(cin,key); // прочитать строку
cout << md5(key) << endl; // посчтитать и вывести результат
}
return 0;
}
Как видно, это очень просто)
md5/src at master · JackieTseng/md5
The MD5 Algorithm implement by C++ -- Web Security Project - JackieTseng/md5
Для винды я не проверял, но софт легко гуглится тоже.
GitHub - Wikinaut/md5.vbs: MD5 calculation (VisualBasic script for calculating the md5 checksum of a string)
MD5 calculation (VisualBasic script for calculating the md5 checksum of a string) - Wikinaut/md5.vbs
Библиотеку md5.h я тупо стырил с github. Все гуглится на ура. Опять же ввод параметров нам дает, чтобы данные не оседали в логах вашего bash.
Вы скажите, вот тебе делать нехер. Бери готовое да юзай. Ну во первых мы знаем что софт делает только то что нужно. А во вторых, мы просто не теряем навык, а может и что нить новое познаем. Я пока думал как сделать, выучил консоль от и до, как параметры передавать, как грабить выводы и так далее. Смысла описывать это все нету, есть учебники.
g++ main.cpp md5.cpp -o md5
скомпилировали, и засунули в /usr/local/bin и теперь нашу программу можно вызывать из консоли) Ну здорово же, и быстро и анонимненько. Вот мы и создали простую команду для bash которая делат ваши действия. А что делать если нам нужно выполнять несколько команд подряд? Давай-те напишем простой баш скрипт.
#!/bin/bash
rm old.file
cp $1 old.file
первая строка говорит что мы используем bash скрипт, далее идут список команд где можно передавать параметры с командной строки. через $1 $2 и так далее. Данный скрипт удаляет старый файл и копирует на его место какой скажете. Тоже все просто, теперь обзовем этот bash скрипт megacopy.sh и скопируем в туже папку /usr/local/bin/ и дадим права на запуск.
chmod +x /usr/local/bin/megacopy.sh
И так можно автоматизировать почти все) То есть логику пилим на каком нибудь простом языке программировния, а либы можно использовать уже готовые. Так ваш мозг совсем не засохнет. С windows таже ситуация, ток консоль там дико не удобная, но есть vbs складываем в папочку и выполняем по клику. А параметры вводим через Dialog.
Или через bat файлы
Как создать bat файл в Windows
Простая инструкция для начинающих о том, как создать командный файл bat, изменить его, запустить bat от имени администратора и об основных командах, которые могут пригодиться.
Копипастить не хочу.
Вот к примеру обычный чекер прокси на питоне, набросал за 15 минут.
Python:
import requests
with open('result.txt', 'a') as result_file: # открываем файл для записи резултатов
with open('proxy_list.txt') as f: # открываем файл с проксями
for line in f: # читаем прокси по строчно
proxy_url = line.rstrip('\r\n') # убираем концы строк
proxies = {
"http": "http://"+proxy_url,
"https": "http://"+proxy_url,
} # настраиваем прокси для конекта
try:
r = requests.get("https://raw.githubusercontent.com/kelseyhightower/helloworld/master/README.md", proxies=proxies) # пытеамся приконектиться
body = str(r.content)
if "helloworld" in body: # если конект был удачный , записываем в файл и выводим прокси.
print(proxy_url)
result_file.write(line)
except requests.exceptions.ConnectionError as errc:
continue
print ("end check") # завершаем программа
Программа по сути из 20 строчек ^_^ Самое интересное. что и остальные повседневные задачи занимают не больше кода. Все уже написано за вас! Нужно просто написать аогоритм и размять мозг. И не надо ни чего ни у кого покупать
URL для проверки взяли любой в виде raw файла в интернете, чтобы можно было чекнуть статус конекта и что получили данные. Можно конечно и по коду получать, если пришло 200. То прокси живая.
Ну и прокси списком в файле proxy_list.txt. Гитхаб случайный взял, где был маленький файл)
Вот собственно и все по одиночным командам. Но что делать если мы хотим выполнять наши команды к примеру раз в час или скрипты. В линуксе есть cron в windows есть планировщик.
Ну начнем опять же с линукса, мы создаем скрипт bash с командами.
Далее ставим родной планировщик, если не стоит
apt-get install crontab
и идем в файл /etc/crontab и добавляем запись в конец
* * * * * путь до файла который нужно выполнять
- - - - -
| | | | |
| | | | ----- День недели (0 - 7)
| | | ------- Месяц (1 - 12)
| | --------- День месяца (1 - 31)
| ----------- Час (0 - 23)
------------- Минуты (0 - 59)
К примеру делаем * * * * * /home/user/restart_network.sh где последне это наш скрипт который мы написали
это будет означать что каждую минуту выполнятся наш скрипт
How To Add Jobs To cron Under Linux or UNIX
A step by step guide for scheduling cron jobs and commands on Linux, *BSD, and Unix-like operating systems using crontab.
для более детального изучения вот ссылка. Для windows все довольно проще, есть планировщик задач, с красивыми окошками для создание этого.
Запуск программ по расписанию с помощью планировщика Windows
Как настроить Windows, чтобы он запускал определенную программу порасписанию, например, каждый час
www.tirika.ru
Для чего может понадобиться эта автоматизация?
* смена цепочек впн, тор, прокси к примеру каждые пол часа
* сброс кешей
* очистка логов
* Сбор данных или проверка отстука различных сервисов
И многое другое, ограничивается вашей фантазией. Вот реально некоторых не понимаю, у них падает то nginx то база на хостингах, и админа часами нет. А ведь можно написать простой скрипт который будет проверять онлайн сервиса и если что его поднимать, или перезапускать.
Какие языки использовать:
Универсальные С++, python (пригодиться в жизни)
Или какие нибудь типа бейски шарпы, короче кому что нравиться.
Ну и самая главная мудрость "Из комбинации лени и логики получаются программисты." До 7к не дотягивает, но копипастить не хочу. Хоть покликаете по ссылочкам ^_^