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

Reply to topic
 
Author
Message

Wolf ®

Gender: Unknown

Longevity: 10 years

Posts: 2860

Reputation: 0 [+] [-]

Wolf · Post 21-Aug-2012 22:46

[Quote] 

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.
[Profile]  [PM] 
Display posts:    
Reply to topic

Current time is: 24-Sep 22:06

All times are UTC + 2



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum