HHCLI
6 subscribers
8 photos
4 videos
13 links
hhcli — это неофициальный CLI-клиент для поиска работы и откликов на hh.ru, позволяющий искать вакансии, просматривать их, отмечать понравившиеся и откликаться на них в интерфейсе терминала.
Download Telegram
Channel photo updated
HHCLI: v.0.2.2

Рад представить первый публичный релиз клиентского приложения для поиска работы и откликов на HeadHunter. Приложение одобрено самой платформой dev.hh.ru и использует официальный API.

Впереди десятки (сотни?) жопочасов тестирования, отладки на разных операционных системах и реализации задуманных фич из бэклога. Ситуация на рынке труда мотивирует меня продолжать работу в надежде, что hhcli поможет программистам, аналитикам, девопсам и другим инженерам сократить усилия при поиске того самого, нового места работы.
HHCLI-SERVER: v.0.1.1

Вместе с клиентом передаю код прокси-сервиса для защищённой аутентификации через OAuth2 на сайте hh.ru.

Этот репозиторий необходим всем, кто хочет сделать форк hhcli и дорабатывать программу в соответствии с собственными нуждами, используя одобренные dev.hh.ru ключи. Инструкция максимально подробная и заселфхостить личный форк на своём сервере не составит труда.
Обнаружил баг: если токен аутентификации протух, то программа говорит, что надо заново авторизоваться.

Пока обход такой:
hhcli --auth <имя ранее созданного профиля>

После этого в браузере открывается OAuth2 форма в hh.ru, такая же, как и при первой аутентификации. Если программа обнаружит, что в этом браузере вы уже авторизованны, то логин/пароль вводить не обязательно, просто клацаете кнопку "продолжить" и можно пользоваться.

В ближайшем патче починю, чтобы по красоте было, без этих танцев.
HHCLI: v.0.2.3

В новой версии поправлено поведение, при котором токен с истекшим сроком давности приходилось запрашивать вручную через повторную аутентификацию из консоли или через создание нового профиля. Теперь программа редиректит сразу в браузер, где проходится стандартная аутентификация.
👍1
HHCLI: v.0.2.4

В этой версии, наконец, добавил долгожданную для меня самого фичу — смену тем оформления без хардкода. Теперь темы меняются файлами .tcss без риска сломать программу. Добавил несколько тем, может, в будущем ещё насыплю (вряд ли).
👍1
v.0.2.5

В этой версии теперь можно вывести номер версии командой:
hhcli -v


Странно, что такая важная для отладки фича отсутствовала вплоть до сегодня.

P.S. Для обновления программы достаточно просто заново запустить установочный скрипт. После обновления скрипт выведет инфу о том, что теперь надо создать профиль — игнорируйте и просто пользуйтесь как раньше.
👍1
v.0.3.0

Произошёл второй большой рефакторинг за время жизни этого продукта и обновились инструкции.

1. На этот раз был разнесён на сабмодули файл tui.py на 2к+ строк кода. Поддерживать это уже стало невозможно, поэтому теперь всё стильно, модно, молодёжно, не SOLID, но тоже пойдёт.

2. Тем немногим желающим, кто хочет сделать свой форк, теперь можно без труда разобраться, потому что большая часть классов и методов внутри сабмодулей обзавелась понятными комментариями.

3. Пользователи Windows теперь тоже могут юзать hhcli, т.к. произошёл окончательный переход на PyPI-дистрибуцию через pipx. Для пользователей дистрибутивов Linux инструкция также обновлена и дополнена.
👍1
v0.4.0

Приложение стало на шаг ближе к полноценной замене сайта, ведь в новой версии добавлена вкладка для диалога с работодателями. Сайт поддерживает минимальное markdown-форматирование текста и hhcli тоже.

Профили теперь можно не только создавать, но и удалять вместе с историей откликов по ним (удаляется только из локальной базы, на сайте ничего не меняется).

Из приятного: интерфейс теперь шустрее, клики, эффекты наведения, ввод и поиск в справочниках стали быстрее за счёт оптимизаций и перехода на textural 0.66 (был 0.48).

Теперь приложение при каждом запуске очищает устаревшие логи и кэш вакансий.

Полное описание релиза в GitHub, скоро запилю новую гифку, старая уже не актуальна.
🔥1
HHCLI pinned «HHCLI-SERVER: v.0.1.1 Вместе с клиентом передаю код прокси-сервиса для защищённой аутентификации через OAuth2 на сайте hh.ru. Этот репозиторий необходим всем, кто хочет сделать форк hhcli и дорабатывать программу в соответствии с собственными нуждами, используя…»
Прикольно. Вот бы ещё обращали внимание на содержание, ммм, мечты-мечты.
👍1😁1
Обновлённые экраны, работа с профилями, темы оформления и интерфейс переписки в версии 0.4.0.

P.S. Я не знал, какую музыку наложить, поэтому выбрал классику.
Media is too big
VIEW IN TELEGRAM
👍2🥰1
Получил в личных сообщениях несколько запросов на пояснения по работе hhcli. С моей колокольни кажется, что всё интуитивно понятно, но если разные люди в разное время просят инструкции, значит так и быть, запилю небольшой мануал.

Как будет готово, опубликую здесь.
Вероятно, это конец для hhcli

Хотелось бы менее кликбейтный заголовок придумать, но по факту всё к этому идёт. Такое письмо я получил от hh.ru сегодня:

С 15 декабря доступ к соискательскому API hh будет закрыт. Мы приняли это решение, чтобы обеспечить безопасность и сохранить прозрачность для всех, кто пользуется платформой hh.

Открытый соискательский API стал создавать серьёзные риски как для соискателей, так и для работодателей. Поток нерелевантных автооткликов, мошеннические практики и уязвимости в доступе к данным затрагивают всех. Отключение публичных API — распространённая практика, в первую очередь связанная с обеспечением защиты данных и безопасности для всех пользователей.

К сожалению, альтернативных форматов работы с соискательским API нет.

Если у вас остались вопросы, напишите нам в поддержку.

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

Всех нас с этим поздравляю, пластмассовый мир победил.
😱1
Появилась одна идея, проверю, если сработает, то ещё поборемся )
Когда Гидре отрубают одну голову с легальным апи, вырастает 10 с selenium’ом
Forwarded from Alhaitham U+200E )
Ну, ждём 15е число и проверим, удалась ли шалость
1👍1👀1
Шалость не удалась, магии не произошло. Пользовательский API реально прикрыли.

Посмотрим в сторону их официального мобильного приложения. Там, судя по всему, специальная версия пользовательского API с другими URI и методами. Например, в официальном приложении видно, сколько человек до тебя откликнулось, в то время как в пользовательском API этой инфы не было (да и на сайте такого нет).

Проверю и дам апдейт, как будет минутка обновлю описание в репозитории и на PyPI, чтобы не вводить соискателей в заблуждение.
This media is not supported in your browser
VIEW IN TELEGRAM
👍2
Надо было попробовать вариант, когда в БД hhcli нет токенов аутентификации, а в hhcli-server используются секреты из официального мобильного приложения. Ожидаемо, тоже не сработало.

Поковыряем мобильное приложение на предмет подходящих uri, посмотрю, что накопали коллеги по цеху, может уже всё придумали до меня :)
This media is not supported in your browser
VIEW IN TELEGRAM