Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Программирование + Тыжпрограммист

С этим тегом используют

IT Программист IT юмор Разработка Python Картинка с текстом Юмор Помощь Компьютер Работа Все
93 поста сначала свежее
1
Lonsk
Lonsk
6 месяцев назад

Песня про программистов⁠⁠

Музыка IT Айтишники Программирование Тыжпрограммист Windows Microsoft Linux Информационная безопасность Программа Приложение Ремонт Компьютерная помощь Видео YouTube
1
10
GroundZerro
1 год назад

Продолжаю "кодить" не зная ни одного языка программирования⁠⁠

Для ЛЛ: Продолжение поста о том как сделал полезную для себя утилиту на Python не зная ни одного языка программирования при помощи ChatGPT.

В прошлом посте высказал мнение, что используя ChatGPT вполне себе можно решить свою небольшую цифровую проблемку, делюсь новостями по реализации задуманного.

Напомню, задача была перенаправлять трафик к определенным доменам через VPN. Сложность заключалась в том, что заворачивать в туннель нужно было трафик к доменам, а не IP адресам т.е. именно к DNS именам IP адреса которых постоянно меняются, что делает практически бесполезным их добавление в статические маршруты или VPN конфиг. Но основной проблемой был относительно слабый роутер Keenetic Air использовать на котором готовые решения было затруднительно или скорее даже невозможно в силу отсутствия USB порта и очень малого количества ROM, которого с трудом хватает даже для свежих родных прошивок.

Итак, благодаря тому, что OpenAI пусть и ограниченно но для всех желающих открыла доступ к ChatGPT Plus удалось сдвинутся с места и решить практически все имевшиеся проблемы.

С новой языковой моделью стало проще договориться, хотя правильнее наверное будет сказать, что она стала лучше понимать что я от нее хочу и в результате утилита была доработана.
Основные изменения:
- аптайм работы увеличен с нескольких минут до 100% времени.
- повышена скорость работы.
- убраны задержки при выполнении операций по SSH.
- лог консоли стал более информативным.

Для тех кто дочитал до этого места, опишу логику работы:
Программа запущена на VPS который одновременно является VPN сервером. На домашнем роутере основным DNS установлен IP адрес сервера с запущенной программой.
Программа принимает DNS запрос от хоста, используя вышестоящий DNS сервер разрешает его в IP адрес и дает ответ хосту, после чего проверяет DNS имя (совпадения по первым октетам) на наличие в пользовательском списке и в случае совпадения через SSH отправляет роутеру команду на добавление IP адресов этого DNS имени в статические маршруты, указывая в качестве шлюза для этих IP адресов настроенное в роутере VPN соединение.

Что не получается решить: отправка всех команд за одну SSH сессию, сейчас для каждой команды инициируется отдельное подключение. Никак этот момент победить не получается.
Что хочется добавить: работу с несколькими рекурсивными DNS серверами. Сейчас используется один вышестоящий DNS и очень редко, но бывает, он вылетает в таймаут по количеству запросов в секунду.

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

Пост запилил себе на память, но, если кто чего подскажет - будет хорошо, а если кому-то окажется полезным так и вообще - восторг. Код доступен на GitHub.

Всем – Добра.

UPD:

Решено:
- отправка всех команд в одной SSH сессии.
- работа с несколькими рекурсивными DNS серверами.
Восстановлена работа:
- кэша IP-адресов для которых были добавлены статические маршруты.
- локального DNS кэша.
Новое:
- асинхронный код.
- информативный лог.
Итог:
Устранены задержки работы, снижено количество обращений к вышестоящему DNS серверу и роутеру, повышена стабильность работы и информативность происходящего.

На будущее (когда-нибудь):
- инсталлятор\деинсталлятор с пошаговой настройкой после установки.
- перевести на C++ .... ))

Предыстория здесь.

Показать полностью
[моё] Keenetic Python Роутер Тыжпрограммист DNS VPN Программирование IT ChatGPT Искусственный интеллект Текст
0
9
GroundZerro
1 год назад

DNSmasq для младших моделей Keenetic (у которых мало ROM и нет USB)⁠⁠

Для ЛЛ: Тут о роутерах Keenetic, Python и ChatGPT.

Как полноценно пользоваться VPN разделяя при помощи роутера трафик на тот, что должен идти напрямую и тот, что должен ходить через VPN туннель на основании доменного имени, т.е. адресе сайта, без необходимости постоянно лазить в админку и что-то там шаманить?

Можно воспользоваться готовыми решениями типа KVAS, xKeen, ADGh и т.п. или каким-нибудь облачным «Hosted Router». Но что если железо домашнего роутера подкачало, а открыв админку облачного роутера становится понятно, что ничего не понятно?

Так со мной и случилось. В моем распоряжении скромный роутер Keenetic Air, он хорош для своих задач, но у него на борту мало памяти и нет USB порта, из-за чего невозможно использование необходимых мне готовых решений на основе OPKG пакетов.

Но делать, что-то надо и мелькнула мысль - а почему бы не попробовать найти какое-то более-менее подходящее решение и подстроить его под себя?

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

Никогда не считал себя программистом, у меня есть лишь базовый опыт работы с командной строкой в Win и Unix системах, разве что когда-то давно я владел ZX Spectrum c его вариацией Basic...
С этим, безусловно «солидным» багажом я и решил попробовать.

Не обладая опытом программирования, пришлось обратиться за помощью к ChatGPT. Это был довольно занятный процесс, при всей мощи искусственного интеллекта, какой промт ему не напиши, он не выдаст результат на 100% соответствующий твоим ожиданиям и уж тем более готовое и полностью функционирующее решение, но тем не менее он помогает облегчить задачу тысячекратно.

Результатом такого совместного труда стал DNSmasq сервер на Python который выступая промежуточным звеном между конечным устройством (роутером или ПК) и публичным DNS сервером закидывает в роутер статические маршруты к указанным пользователем доменам, для перенаправления к ним траффика через VPN подключение.

Видео с демонстрацией:

Во избежание случайного возбуждения товарища майора для демонстрации выбран закрытый для российских IP-адресов ChatGPT, но какие домены добавлять в фильтр дело каждого ;)

Код доступен на GitHub.

Из основных проблем это низкая производительность и странная стабильность – может работать сутками, а может замереть через пару минут после запуска.

Скрипт скорее является «proof of concept» т.е. демонстрацией жизнеспособности задумки, работает на Windows и Unix в т.ч. на VPS.

Подытоживая. Думаю, что для непрограммиста получилось вполне неплохо ;)

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

Всем – Добра.

UPD:

Продолжение

Показать полностью 1
[моё] Keenetic Python Роутер Тыжпрограммист DNS VPN Программирование IT Видео
7
0
Abu.Ali.Husein
1 год назад
Про железо

Ищу компьютерную программу для заполнения бланков⁠⁠

Граждане пикабушники, товарищи тыжпрограмисты, такой вопрос к вам, в частности к людям компетентным.
Мне нужна программа которая может вносить динамическую информацию в статический текст. К примеру есть условный пакет документов:
договор, приложение к договору, пояснения к договору, расписка о получении договора. Везде текст одинаковый (статический), а граждане которые этот договор заполняют разные (т.е. информация о каждом разная, динамическая).
Нужно чтобы внёс в одном месте (строке, ячейке) информацию о гражданине, а программа сама в каждый документ внесет эту информацию и позволит распечатать (в ворде желательно) весь пакет документов (либо с нуля, либо в уже распечатанный шаблон с пустыми графами под эту информацию). Буду признателен за помощь.

[моё] Программирование Программист Программа Microsoft Word Компьютер Тыжпрограммист Документы Текст Помогите найти
23
382
bigseo
bigseo
1 год назад

Я думала, что ты программист⁠⁠

Я думала, что ты программист
Программист Программирование IT юмор Картинка с текстом Тыжпрограммист
32
5040
Deffethazrashid
Deffethazrashid
2 года назад
Специфический юмор

Когда 5 лет учился программировать :)⁠⁠

Когда 5 лет учился программировать :) Юмор, Картинка с текстом, Мемы, Анекдот, Программирование, Тыжпрограммист, Грустный юмор, Повтор
Показать полностью 1
Юмор Картинка с текстом Мемы Анекдот Программирование Тыжпрограммист Грустный юмор Повтор
188
38
AlexMaximus
AlexMaximus
2 года назад
Типичный программист

Тыжпрограммист, а у меня идея!⁠⁠

На днях просил некоторых "знакомых" оценить разные моменты в приложении, и произошла классика: один обратился ко мне с синдромом "бедного гения".

Кратко:

"О, тыжпрограммист! Слушай, я как раз сейчас обдумываю одну идею. Приложение игровое. Как Стим, но без магазина, красивее и удобнее. Чтобы оценки там, отзывы, форум, оформление профиля. Сделаешь прототип? А я соцсетями займусь, рекламой. Не бесплатно. Как привлечем инвесторов, да на крауте соберем миллиончик людей там поделим 50 на 50. Все честно. А потом может и Яндекс какой купит нас. Я не рискую искать людей на форумах, чтобы идею не сперли. А тебя знаю. Ну не к спеху. Я пока дизайн нарисую, но через месяц два надо бы прототип уже иметь."

Я попытался сначала мягко, а потом и более критично, уйти от этого всего, на что услышал:

"Ты что, не веришь в меня? Да многие начинали без всего а потом стали мега сайтами."

На мое предложение купить Плейграунд и переделать "под себя" он сказал, что на это надо много денег.

В общем он от меня так и не отстает, а я не умею посылать.

[моё] Программирование Тыжпрограммист Программист IT IT юмор Текст
16
Gizmo98
2 года назад

Рынок труда IT⁠⁠

Ребят , вот пишут что сейчас предложений о работе согласно статистики стало меньше в России. Хотя пишут и обратное , что присутствует сильный дефицит IT специалистов. Где правда ? Как вы ощущаете ситуацию на текущий момент ?

IT Программирование Тыжпрограммист Вакансии Работа Текст Вопрос Короткопост
27
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии