[Авторская раздача] GuNarodMyIp - узнаем внешний IP домашнего ПК, Версия 0.1, x86 [2011] [ENG]

Ответить на тему
 
Автор
Сообщение

Wolf ®

Пол: Не указан

Стаж: 14 лет

Сообщений: 3452

Репутация: 0 [+] [-]

Wolf · Создавать темы 21-Авг-2012 22:46

[Цитировать] 

GuNarodMyIp - узнаем внешний IP домашнего ПК
Дата Выпуска: Октябрь, 2011
Версия: 0.1
Разработчик: GuSoft
Разрядность: 32bit
Совместимость с Vista, Win7: полная
Язык интерфейса: Английский
Таблэтка: Не требуется
Системные требования: наличие и-нета с динамическим Ip адресом без ограничений режима прокси (при соединении получаем полноценный внешний Ip)
Описание: Рассмотрим работу программы на примере. Допустим, у нас есть домашний Пк подключенный к и-нету. Нам с работы требуется подключится к нему, чтобы что-то сделать или например скачать-закачать какой-то файлик (или например дома поднят Ftp сервер или работает http доступ uTorrent и надо закачать новые фильмы, чтобы к приходу домой было чего посмотреть). Но в силу технических ограничений вашего домашнего провайдера у вас на домашнем Пк нет внешнего Ip (или жаба душит платить каждый месяц 100 руб). Для решения такой проблемы можно воспользоваться бесплатным сервисом DynDNS или подобным. Регистрируемся, получаем прогу и адрес, запускаем прогу на домашнем ПК и теперь с любого удаленного Пк ваш домашний будет доступен по адресу что-то типа .dyndns.com
Эта программа предлагает альтернативу DynDns, правда с небольшим ограничением - постоянного адреса нет и перед подключением к домашнему Пк надо открыть интернет страничку, чтобы его узнать. Способ немного извращенный, но полностью рабочий. Кроме этого нам не надо юзать их софт, который должен висеть в памяти все время (исходники этой проги прилагаются) и неизвестно что еще делать кроме своей основной функции.
Для того, чтобы узнать внешний Ip нам с домашнего Пк надо зайти на любой сервис определения Ip, например на whatismyip.com или http://2ip.ru. Но как быть если дома никого нет, а адрес сменился, как тогда нам с работы узнать Ip домашнего компа? Или например провайдер меняет его часто? Нам нужен постоянно работающий внешний сервер (не почтовый), куда наш домашний комп сможет отсылать новый Ip, а мы сможем подключаться к этому серверу и посмотреть его. В качестве такого сервиса используем халявный narod.ru. Одна из возможностей этого портала - предоставление пользователям возможности завести свой сайт. Но самое вкусное - возможность полного доступа к этому сайту через Ftp. Т.е. идея такая: прога должна определить внешний Ip и записать его на наш сайт. Когда мы хотим подключится к домашнему Пк - открываем наш сайт и смотрим текущий внешний домашний Ip, далее подключаемся.
Чтобы все работало - для начала нам надо зарегится на народе и создать свой сайт (там мастер создания, все довольно просто). Можно даже просто зарегится и сказать, что да, сайт нужен, а далее сразу подключаться к нему через Ftp (например используя программу CuteFtp, тут поиском найдете или просто через проводник windows, набрав в адресной строке ftp-адрес сайта). После подключения стереть все, что есть в папке сайта (они туда рекламный банер вешают и прочий хлам) и положить туда простой index.htm (пример есть в раздаче - можете его доработать любым http редактором или даже в блокноте), чтобы если мы наберем в адресе обозревателя наш сайт, например test.narod.ru - страничка открылась и мы увидели, что сайт работает (туда можно повестить например банер, как в примере, который будет определять наш внешний Ip или другую полезную инфу, а может и полноценный сайт свой сделать).
Примечание: там после создания сайта оговаривается, что его адресом будет .narod2.ru - но и .narod.ru обычно тоже работает. Адресом для доступа к сайту через Ftp будет .ftp.narod.ru (для входа нужен ваш народовский логин и пароль). Там есть 2 правила, которые оговаривают, какой будет адрес для ftp (тут и тут). Как видим, адресом доступа может также быть и просто ftp.narod.ru + логин и пароль. Короче пока работают оба метода, просто имейте это ввиду. Еще: при заливке файлов по Ftp имеет значение их название - заглавные и прописные буквы (потому все лучше маленькими писать), т.к. если залить файлы index.htm и Index.htm - ошибки не будет, закачаются оба, а вот при открыкии сайта открываться будет только первый. Не запутайтесь с narod2, т.к. он тоже работает в качестве ftp только файлы заливаются не туда
Итак - основная задача - зарегится, завести свой сайт и проверить его работу. Если все работает и открывается - полдела сделано.
Теперь. Создаем на домашнем Пк в удобном для нас месте папку, где будет лежать прога GuNarodMyIp, кладем туда саму прогу и ее ini-файл. Последний содержит настройки (7 штук) - логин и пароль на народе и другие, которые вам надо подправить под себя, открыв файл в блокноте. Папка с прогой должна иметь разрешение на запись для пользователя, от имени которого будет производится запуск проги (там создается временый файлик, который затем закачивается через Ftp на ваш сайт), кроме того у пользователя должны быть разрешения на работы с сетью и Ftp протоколом в частности, короче запускать лучше от имени админа, если включен UAC. И не забудьте внести программу в исключения брандмауэра Windows. Если ваш провайдер меняет адреса часто (а также вооще для нормальной работы) - включите в настройках таймер - тогда при запуске прога сразу сядет в трей и начнет обновлять файлик с вашим внешнем Ip на вашем сайте через указанные интервалы времени (думаю, 1 часа будет достаточно).
Для определения внешнего Ip используется сервис http://automation.whatismyip.com/n09230945.asp можете кликнуть на ссылку и увидеть свой внешний Ip (адрес редко, но могут менять, поэтому в ini файле его тоже можно сменить, а может еще какой найдете подобный). Работает прога так: ломится на этот url, получает внешний ip, сохраняет его в файл, входит на ftp.narod.ru с вашим логином и паролем и записывает этот файл в корень папки вашего сайта. Так что теперь вам останется перед подключением домой зайти по адресу http://.narod(2).ru/ip.txt и увидеть ваш текущий внешний Ip. Адресок не изменный и открывается в любом обозревателе, можете создать для него ярлык или запихать в Избранное вашего обозревателя.
Для запуска проги можете поместить ее ярлык в Автозагрузку, но лучше создать отдельное задание в планировщике Windows и запускать при включении Пк. Прога также имеет командную строку - ключ "/S" - если он указан при запуске - прога сразу синхронизирует Ip, и заливает его на Ftp а после завершает работу - этот ключег создан как раз чтобы прога все время не висела в трее и памяти (создайте задачу в планировщике на запуск через нужные промежутки времени), используйте понравившийся вариант работы.
В проге особой защиты от дурака не делал, так что аккуратно редактируйте ini файл, писал для себя, может еще кому пригодится. Тестил мало, но вроде все работает, найдете баги - пишите, исправлю.
Если будут вопросы или вам чтото неясно как сделать - пишите в коменты, отвечу.
Для непосредственного подключения к домашнему Пк используйте например Radmin или DameWare (последняя надежней, обе найдете тут поиском) или (если у вас Win7) можете поднять на домашнем пк службу удаленного рабочего стола, тогда для подключения вы можете с любого Пк запускать Пуск-Выполнить-MsTsc.exe вписываем туда полученый Ip адрес с вашего сайта и наслаждаемся полным доступом к нашему домашнему Рабочему столу.
Кнопки проги:
Clear Log - очистить окно статистики
Hide 2 Tray - убрать в трей
Open Url - открыть для тестирования страничку на вашем сайте с текущем внешним Ip
Edit Config - открыть для редактирования ini файл
Update Url - опредеить Ip и записать его на ваш сайт
Close - выход
В качестве бонуса прилагаю консольныю прогу GuGetOutIp.exe - при запуске показывает внешний Ip. Может применятся в батнике совместно с виндовским Ftp.exe чтобы проделывать аналогичные операции. Можно пойти еще дальше - написать еще одну прогу, которая будет запускаться на управляющем Пк, считывать этот Ip с вашего сайта и править файлы настроек прог для подключения, но это уже мелочи.

Состав раздачи

GuNarodMyIp.exe - сама прога (512 Kb)
GuNarodMyIp.ini - настройки проги
index.html - примерный файлик для вашего сайта (рабочий)
GuGetOutIp.exe - бонус, консольное определение внешнего Ip (273 Kb)
/Source - папка с исходниками
Вирей нет (проверено последней версией SEP, DrWeb на дату добавления раздачи).
Исходники прилагаются (Delphi Xe, компоненты Indy), если что, можете что-то поменять или добавить. P.S. Прога упакована UPX.
[Профиль]  [ЛС] 
Показать сообщения:    
Ответить на тему

Текущее время: 20-Апр 08:08

Часовой пояс: UTC + 2



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