Софт

индекс
91,16

Mac Maniac. DropCopy под Windows

Помните пост про извлечение дивайсов и носителей как в Маке? Так вот, у той милой иконки Eject появился друг — DropCopy:

Вступление


Когда я работал на маках, я просто наслаждался простотой перекидывания файлов между компьютерами в сети с помощью DropCopy. Кидаешь в чёрную дыру файлы, выбираешь из выпадающего списка куда отправить, и на рабочем столе адресата появляются эти самые файлы. Класс! Но с момента моего увольнения прошло уже 2 года и некоторая ломка по макам осталась (особенно по Final Cut Pro *прослезился*). В комнате рядом сидит брат за своим компом, я за своим, есть ещё ноутбук которым пользуются все по очереди и постоянно возникает проблема, когда надо перекинуть файл с одного компа на другой. Чего только мы не вытворяли:
  • Пересылка по почте
  • По аське
  • Через флешку
  • Через ФТП (это самый логичный способ)

Стоит отметить важный момент — Общие Документы Сети Microsoft возможно и помогли бы в данной ситуации, но они отключены давно и так основательно, что как их включить обратно я уже не знаю\не помню\не хочу, поэтому я начал копать в другую сторону и в итоге получилось (по-моему) гораздо лучше. Так что тем у кого данная вещь функционирует я думаю не имеет смысла читать дальше.

Продукты для приготовления


Для выполнения нам понадобиться:
  • утилитка ftp.exe (стандартный компонент Windows)
  • IIS (нужно устанавливать через компоненты Windows)
  • Вместо IIS можно (и даже лучше) использовать сторонний ФТП сервер по вкусу
  • Иконка DropCopy (нагло стырена из самого же дропкопи под Мак)
  • AutoHotKey для изобретателей или просто exe файл для пользователей

Подготовка машин



IIS


Дальнейшая работа уныла и однообразна: На всех машинах надо поставить FTP сервер. Учитывая, что я не люблю ставить много дополнительных программ, я решил покопаться в Windows и нашёл IIS. Он имеет дыры (не знаю как новые версии, но старые имели), но так как мою мини сеть охраняет Роутер, то я сплю спокойно, да и параноей «кто-то хочет меня взломать» не обладаю, кому я нафиг нужен? Поэтому сначала пройдёмся по этому пути:
Панель управления\Установка и удаления программ\Компоненты Windows

Cтавим галочку напротив IIS и нажимаем Details

Логично, что нам нужен FTP из этого списка. Дальше последует установка и первая проблема — возможно он потребует, чтобы вы вставили в дисковод диск, откуда инсталировали свой Windows. Так как я ставил 2 года назад свой Windows — я уже забыл где он лежит, но всё-таки нашёл диск, Но думаю если порыться в интернете, то можно найти ссылку на скачивание данного компонента без этих приключений. Мысленно перенесёмся в будущее, где у вас всё-таки получилось его поставить. Дальше идём
Пуск\Администрирование\Internet Information Services (что? у вас нету пункта Администрирование? Ужос! Да простят меня ИТ-гуру, что я возлагаю на себя труд Капитана Очевидности: Правой кнопкой по меню Пуск\Свойства\Меню Пуск\Настроить\Дополнительно\Администрирование — Отображать в меню «Все программы» и «пуск»)
Я отвлёкся. Дальше выбираем:

и правой кнопкой по нашему FTP узлу по умолчанию\Свойства.

Вот это самая небезопасная часть, потому-что не рекомендуется использовать
анонимные подключения, но мне нечего бояться, как я уже говорил. Можно конечно создать пользователя с паролем вместо анонимуса, но я не осилил и мне это не надо, ибо у меня на компе только один пользователь — админ и без пароля, а IIS без пароля ругается.

Здесь самый главный момент — путь домашней директории. Нужно указать Рабочий стол. Я не знаю, будет ли работать это с убранной галочкой Чтение, поэтому на всякий случай оставил.

Главная проблема, что Рабочий стол защищён рутом, а пользователь IUSR_USRERNAME не обладает привилегиями на эту папку, поэтому надо провернуть вещь, за которую меня распнут суровые бородатые админы — нужно переместить пользователя IUSR_USRERNAME в группу администраторов. Поэтому: Пуск\Администрирование\Управление Компьютером\


Это должно работать, на ваш страх и риск ) Но это путь экстремала, далее лёгкий и безопасный путь

Quick`n`Easy FTP Server


У меня на главном компьютере стоит данная программка. Может конечно она не особо функциональна, но мне хватает того, что она предлагает. У меня она уже давно и я даже не помню откуда её нашёл. Ссылка. Тут я просто создал нового пользователя Tr с незамысловатым паролем и указал его Домашнюю Директорию как Рабочий стол. Галочки ставить по вкусу, но так, чтобы всё работало)

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

Реализация


Для начала проверьте свои фаерволы и позвольте этому потоку литься без преград. Ну теперь дружно пишем код на языке AutoHotKey (я надеюсь что с моими пояснениями вы сможете не хуже написать его на любом другом языке, а если без моих пояснений, то даже лучше :-) Сначала программка была очень простой, маленькой и могла пересылать только несколько штук файлов, с именами не содержащими пробелов (один входной путь, содержащий два пробела, превращал это в 3 входящих параметра, не имеющих смысла). Но потом программка начала обрастать функциональностью, научилась перекидывать папки, пробелы ей нипочём, и теперь у неё даже появился прогрессбар хода выполнения.

Как и предыдущий пост, на рабочем столе лежит ярлык на эту програмку, и когда мы перекидываем на неё файлы, она просыпается, считывает из config.ini список компьютеров и показывает менюшку:

Наша программа не будет вникать в тонкости сокетов и прочих заморочек. она всё будет доверять FTP.exe. Логика с FTP.exe в нашем случае проста. мы пишем файл сценария на основе переданных файлов и в конце просто вызываем ftp.exe с такими параметрами:
ftp.exe -s:«C:\Файл сценария.txt» >«C:\ЛогФайл»
файл сценария примерно выглядит так:
open 172.31.0.3
anonymous
slau.andre@gmail.com
binary
mkdir "ftp"
cd "ftp"
put "C:\DOCUME~1\Kefir\0016~1\ftp\1.png"
put "C:\DOCUME~1\Kefir\0016~1\ftp\2.png"
put "C:\DOCUME~1\Kefir\0016~1\ftp\9.jpg"
put "C:\DOCUME~1\Kefir\0016~1\ftp\PrScr.jpg"
mkdir "прога"
cd "прога"
put "C:\DOCUME~1\Kefir\0016~1\ftp\прога\config.ini"
put "C:\DOCUME~1\Kefir\0016~1\ftp\прога\DropFile.ahk"
put "C:\DOCUME~1\Kefir\0016~1\ftp\прога\DropFile.exe"
put "C:\DOCUME~1\Kefir\0016~1\ftp\прога\Quick'n Easy FTP Server v2.7.1 setup.exe"
cd ..
cd ..
quit


Config.ini такой:
(.ini это просто чтобы порядок был в папке программы, хотя сам файл ничего общего с .ini не имеет)
Borw|172.31.0.3|Username|MyPassword
Nout|172.31.0.4|anonymous|slau.andre@gmail.com

Стоит отметить, что пароли со знаком | обречены на провал ;-)

Чтож, приступим:

; точка с запятой на этом языке - комментарий. У программеров Си\Джава взорван мозг
#NoTrayIcon
#NoEnv
SendMode Input
SetWorkingDir %A_scriptDir%

curr=%1%                                  ;без параметров, программа не запустится
if curr=
   ExitApp

FTPCommandFile = %A_scriptDir%\FTPCommands.txt   ;имя файла сценария
FTPLogFile = %A_scriptDir%\FTPLog.txt            ;имя логфайла
countf:=0
TSize:=0
FileDelete %FTPCommandFile%                      ;удаляем старые файлы 
FileDelete %FTPLogFile%                          ;на всякий случай
FileRead, conf, %A_scriptDir%\config.ini         ;считываем настройки в файл conf

n:=0
Loop, parse, conf,`n                             ;разбираем в цикле по строкам conf
{
     i:=0
     Loop, Parse, A_LoopField, |                 ;парсим по знаку |
     {                                           ;и заносим в двумерный массив всё
         con%n%%i% = %A_LoopField%               ;что там было
         i++
     }
     name:=con%n%0                               ;добавляем в цикле пункты меню. 
     Menu, PopUp, Add, %name%, Who               ;Who - процедура обработки выбора
     n++                                         ;меню
}
i:=0
n:=0

Menu, PopUp, Show                            ;и только теперь показываем меню.
                                             ;конечно не очень удобно что меню
                                             ;показывается не сразу, но по другому
                                             ;я не знаю как это сделать
return

Who:
{
  item:=A_THISMENUITEMPOS-1
  addr:=con%item%1
  login:=con%item%2
  pass:=con%item%3
  FileAppend, open %addr%`n, %FTPCommandFile%      ;пишем в файл сценария параметры
                                                   ;соединения на основе выбранного
  FileAppend, %login%`n, %FTPCommandFile%          ;меню
  FileAppend, %pass%`n, %FTPCommandFile%

  GoSub, Go                                        ;идём к основной процедуре
return
}

go:                                              ;эта процедура составляет запросы
{                                                ;в сценарии на передачу файлов
  FileAppend, binary`n, %FTPCommandFile%         ;двоичный режим передачи 
  prev=
  ToolTip Составляю список...
  Loop                                       ;этот цикл также отлавливает
  {                                             ;во входящих параметрах
                                                 ;нелогичные запросы и
                                                 ;догадывается что в пути 
                                                 ;файла были пробелы, поэтому
                                                 ;склеивает всё обратно
       curr:=%A_Index%             	                                        
       if not prev                          
       {                                        
           prev=%curr%
           continue
       }
       if(!InStr(curr, ":\") and (curr!="")) 
       {                                          ;во входящих параметрах нету ":\"?
           prev=%prev%%A_Space%%curr%             ;склеиваем
           continue
       }       
       FileGetAttrib, Attributes, %prev%
       IfInString, Attributes, D       ;если это папка, то идём в 
                                                   ;рекурсивную функцию
       GenFold(prev,FTPCommandFile,countf,TSize)        
       else
       {                                         ;если нет, то записываем файл
                                                  ;в сценарий
            FileAppend, put "%prev%"`n, %FTPCommandFile%
            FileGetSize, dsize, %prev%
            TSize += %dsize%        ;добавляем размер файла к общему
                                                  ;размеру всех файлов
            countf++                        ;увеличиваем счётчик файлов
       }    	   
        if curr =
		   break
        prev=%curr%
  }     
	
  FileAppend, quit, %FTPCommandFile%         ;добавляем в конец комманду выхода 
  SetFormat, float, 6.1
  TSize:=TSize/(1024*1024)
  ToolTIp Запускаю ftp.exe...                      
        	                                                ;запускаем ftp.exe
  Run %comspec% /c ftp.exe -s:"%FTPCommandFile%" >"%FTPLogFile%", ,Hide
  ToolTip
  ;если вы доверяете ftp и вам не нужен прогрессбар, то дальше можно не писать
  ;========================================================;создаём прогресбар
     CustomColor = 666666
     Gui, -Resize +LastFound +ToolWindow -Caption +AlwaysOnTop
     Gui, Color, %CustomColor%
                                  ;cFF9966 - меняйте цвет на какой хотите
     Gui, Add, Progress, x0 y0 w132 h15 cFF9966 Background666666 vMyProgLoadi
     GuiControl, , MyProgLoadi, 0
     Gui, Font, S7 c111111, Tahoma
     Gui, Add, Text, vMyMemLoadi BackGroundTrans x2 y2 w100 h15, 0/%Tsize%
     Gui, Show, h15 w132, MyProgLoadi	 ;===========================================================================
  countf2:=0
  TSize2:=0
  maybeexit:=0
  Loop     ;ожидаем пока запустится ftp.exe, если вдруг он ещё не запустился
  {
      Process, Exist, ftp.exe
      if(ErrorLevel = 0)
      {
         maybeexit++
         if(maybeexit>10)         ;наш порог терпения 5 секунд
         {
            MsgBox Чего-то ftp.exe долго не запускается`nЯ пожалуй завершусь.
            ExitApp
         }
         Sleep 500
         continue
      }
      break
  }
  Loop            ;этот цикл сканирует лог файл каждые 250 милисекунд и считывает
  {               ;сколько файлов уже передалось
      Process, Exist, ftp.exe     
      if((ErrorLevel = 0) or (countf2 >= countf))   ;выходим из цикла когда
      {                                      ;всё передалось или ftp.exe завершился
         Gui, Destroy
         FileRead, mfile, %FTPLogFile%
         IfNotInString,mfile,logged in  ;ftp.exe мог завершиться из-за
         {                                        ;того, что не смог присоедениться
             MsgBox, 36, Алярма, Не могу присоединиться.`nОткрыть Логфайл?
             IfMsgBox, Yes
                 Run, "%FTPLogFile%"
             break
         }
         SetFormat, float, 6.1
         ToolTIp Файлов: %countf%`nРазмер: %TSize% мб ;ToolTip о результатах
                                ;чтобы жёстко контролировать, вместо Tooltip
                                ;поставть MsgBox
         Sleep 2000
         ToolTip
         break
      }
      countf2:=0
      TSize2:=0
      FileRead, mfile, %FTPLogFile%
      Loop, Parse, mfile,`n            ;проверяем склько файлов уже передано
      {                                ;благодаря лог файлу
         If(InStr(A_LoopField, "ftp: "))
         {
            countf2++
            dsize2:=SubStr(A_LoopField, 6, InStr(A_LoopField," ", 0, 6)-1)
            TSize2 += %dsize2%
         }
      }
      GuiControl, 1: , MyProgLoadi, % (countf2*100)/countf ;двигаем прогрессбар
      SetFormat, float, 6.1
      TSize2:=TSize2/(1024*1024)
      GuiControl,Text , MyMemLoadi, %TSize2%/%TSize% мб
      Sleep 250
    }
    ExitApp
    return
}

GenFold(path,FTPCommandFile,ByRef countf,ByRef TSize) 
{                                         ;функция составления сценария для папок
    fold:=SubStr(path,InStr(path,"\",0,0)+1)
                                        ;создаём на удалённой машине папку с
                                        ;таким же названием и заходим в неё
                                        ;проходимся по всем файлам в этой папке
                                        ;папка - тоже файл (привет Юниксу)

    FileAppend, mkdir "%fold%"`n, %FTPCommandFile%
    FileAppend, cd "%fold%"`n, %FTPCommandFile%
    Loop, %path%\*, 1, 0
    {                                               
        FileGetAttrib, Attributes, %A_LOOPFILEFULLPATH%
        IfInString, Attributes, D                ;привет, мистер Рекурсия
            GenFold(A_LOOPFILEFULLPATH,FTPCommandFile,countf,TSize)
        else
        {
            FileAppend, put "%A_LOOPFILEFULLPATH%"`n, %FTPCommandFile%
            TSize += %A_LoopFileSize%
            countf++
        }
    }
    FileAppend, cd ..`n, %FTPCommandFile%
    return
}


Стоит отметить, что если в пути файла присутствуют два пробела один за другим, то тут программа бессильна.

Код, exe, Иконка тута

Вывод


Чтож, получилось даже больше чем надо, потому-что можно перекидывать файлы между компами не только в одной локальной сети но и между удалёнными компьютерами с прямым IP адресом.
p.s.: если кому-то приглянулись обоины, то тут я их выкладывал ;-)
p.p.s.: за диктанты по русскому языку у меня всегда было стабильное 2, поэтому не ругайте сильно за ошибки
+38
17 апреля 2009, 16:38
33

комментарии (95)

+3
leoneed #
Маньяк!!! И обои у тебя прикольные.
Давно хотел такой вот лёгкий способ передачи файлов. Для команды разработчиков в офисе просто незаменимая вещь.
Сподвигли Вы меня на гугление в конце то концов. Вот поставил себе Giver. Ща буду тестить.
Суть та же — кидает на десктоп. ссылко: code.google.com/p/giver/
Кросплатформенное бы чего нить.
+2
leoneed #
home.aubg.bg/students/ysg080/giver/
А вот и под винду нашлось тоже самое.
0
kai #
В этом году за гивер взялись, обещают подкинуть улучшений и кросплатформенность
+1
leoneed #
Мы тут уже под мак его компилим)) Надеюсь получится.
0
timonstr #
По-моему, у меня gnome ставится…
0
timonstr #
---> Fetching gnome-themes
---> Attempting to fetch gnome-themes-2.24.3.tar.bz2 from www.mirrorservice.org/sites/ftp.gnome.org/pub/GNOME/sources/gnome-themes/2.24/
---> Verifying checksum(s) for gnome-themes
---> Extracting gnome-themes
---> Configuring gnome-themes

Бля…
0
leoneed #
Выползу из под стола, съязвлю что нить по этому поводу)))
+3
timonstr #
Интересно, я буду первым идиотом, который СЛУЧАЙНО поставил гном под мак?!
0
kefirux #
какой у гнома грязный метод распространения )) под видом других программ.
0
kefirux #
Это я так понял для юникса судя по .tar
запустил виндовскую версию и ничего не происходит :-)
Вообще конечно я не удивился что такая программа существует — удобно же. Тока не знал как нагуглить чтобы найти такую программу
+1
leoneed #
А я удивился, что мало таких программ. Полезно же и удобно. А когда работаешь с кучей народу, то постоянно пересылаешь туда-сюда файлы.
Месседжеры это делают долго и их приходится уговаривать. Про виндовс шары я молчу нервно похихикивая. Да и искать постоянно друг друга в сети, или запоминать IP всех уж очень утомительно. Общий FTP решает, но нужно его чистить, а то искать в куче хлама накопившегося неудобно. Хочется передать одним пинком и забыть.
Нужно решение, похожее на передачу файлов по блутуз между телефонами. Кто рядом — тому и кинуть что угодно можно.
Всё ещё трахаемся с компиляцией под мак Giver. Уже пол интернета билиотек скачали)))
0
kefirux #
Тоесть, если вы дотрахаетесь, то у вас будет кроссплатформенное решение? крутотень) Тока объясните как это работает под винду
0
leoneed #
Не знаю… у меня винды нету ((( Маки и линуха. Ща кого нить просить буду. Протестить то надо.
0
kefirux #
Хакинтошь или натуральный?
0
timonstr #
Отвечу за него: натуральный :)
0
kefirux #
эх мечты-мечты )
0
leoneed #
Никогда ещё проктология небыла так увлекательна.
Ответы нашёл на ankitjain.org/blog/giver-on-windows/
Суть проста.
Requirements:
1. .NET 2.0 runtime is required for this
2. Gtk-sharp
3. Bonjour from www.apple.com/downloads/macosx/apple/windows/bonjourforwindows.html
В общем… Чтоб заработала линуховая софтина под виндой, нужно эщё и Эпловский софт ставить.
0
kefirux #
аа… вот почему у меня не работает, я бонжур удалил под чистую. Зато теперь знаю для чего он вообще нужен
+2
leoneed #
Нашёл любопытные вещи на ФаКушках:
Is there a Windows or Linux version of DropCopy?

Not yet, but if you are technically inclined you can make one yourself by simply creating an application that implements the DropCopy protocol, which is open. Contact us for more information if you want to give it a go!
А протокольчик то открыт))) Можно заморочится на досуге…
0
kefirux #
тоесть его можно и под винду и под мак написать. эх, где бы найти фигню которая замедляет время что всё успеть)
0
leoneed #
Это DropCopy можно написать под линуха и под винду!!! О нём речь.
0
kefirux #
ну я понял что уже не про гивер, и это кстати не может не радовать!
0
leoneed #
Даа… мне нравится как DropCopy задизигнен. Очень красиво работает. Да как и всё на маке)))
+2
NemeZZiZZ #
Запускать ftp.exe можно чуть проще :) Я пользовался bat-ником наподобие такого:

<ftp_.bat>
goto startFTP
ls
… команды-команды-команды…
bye
:startFTP
ftp.exe -s:ftp_.bat -A ftp.dummy.ru >!.txt
exit
</ftp_.bat>

Точно не помню уже, может и наврал где-то, но всё вроде именно так. Суть в том, что батник при запуске переходит к метке, находящейся в конце файла после скрипта для FTP, где запускает сам себя. Команды goto он не знает, пропускает её — и переходит дальше, а дальше уже всё как Вам надо :)
Так как обычно всё сводится именно к положить-забрать файл — подходит как нельзя лучше.

Плюсы:
— запуск кликом на файле;
— чтобы отредактировать нужное подключение — правим ответственный за это запускаемый файл;
— можно передать в batch переменные через аргументы (например, скрипт будет единым для всех, но разница для разных пользователей будет в параметрах запуска).

Минусы:
— если пароли прописаны в файле — их проще украсть.
0
kefirux #
красавец :-) у меня сначала мозг глюкануло из-за рекурсии)
0
myiworm #
хак!
+3
ustav #
У нас в команде все решается проще, как мне кажется.
Так сложилось что все мы пользуемся скайпом, кто под виндой, кто под линухом. так вот, передача файла или пачки оных представляет собой перетаскивание их мышью на имя человека, которому они адресованы в списке контактов скайпа. Причем скайп сам понимает что мы находимся внутри одной сети и не передает их через промежуточные сервера в интернете, скорость передачи как в обычной локалке.
0
cashby #
А если интернет рубанулся? Хоть передача и происходит по локалке, но в скайпе вы людей не увидите…
0
leoneed #
А у мы в скайпе тупо не видем друг друга, когда в одной локалке. и ХЗ почему. А когда видем — передача жутко медленная. Он похожу не одупляет, что мы из одной сети. Так что мы от него отказались.
0
kefirux #
не знал что скайп такой умный, никогда им не пользовался, благодарствую за инфу. Но опять же фишка моей идеи что она не весит постоянно в памяти и запускается только когда необходимо
+1
dshalkhakov #
Под линуксом обмен файлами можно устроить в разы проще: установить avahi, а потом поставить avahi-aware джаббер-клиент (pidgin, gajim). Пруфлинк.
+1
leoneed #
Под линуксом всё в разы проще. Тока вот народ разношёрстный если, нужно искать кроссплатформенное решение.
0
kefirux #
ну кстати спасибо за ссылку. если буду линуксоиды спрашивать как это можно сделать у них на юниксах, то ссылку на вас кину
0
Bublik #
Извините за оффтоп, но почему пришлось с Мака слезть?
+1
Cataclysm #
Как я понял из поста, автора «слезли» :-).
0
kefirux #
нет, я именно сам слез) не особо круто когда заявляют что за Июль и Август з\п не будет вообще и я потратил лето в лучших годах своей жизни на офис
0
timonstr #
ха! мы как-то 5 месяцев без зп сидели. лето в том числе. и без маков.
0
kefirux #
уволился я, вот и нету маков ) там крутые маки были, самые мощные (мы видео постродакшеном занимались). Так что купить мак мини у меня рука не поднимется
+4
non7top #
пипец. я б яйца оторвал тому кто мне «вдруг» на рабочий стол кинул бы какое-то барахло. а потому поудалял все эту ерунду из ос и позакрывался бы фаерволами. дла расшаривания файлов в рабочих группах уже тысячу лет существуют файл-серверы. а код шарить не нужно, т.к. он итак расшарен через VCS
0
kefirux #
Ваша проблема никаким боком не имеет отношение к этой программе, ибо у вас тут скорее вопрос совести и добропорядочности. а гарантировать добропорядочность ваших сотрудников я не могу :-) Вы наверное не понимаете что мне просто надо по-максимум сократить действия. вам не надо — хорошо, но есть люди у которых тоже зудит сократить щелчки мыши
–3
non7top #
причем тут щелчки мышем? хотите идти путем виндоувс, где даже вирусы устанавливаются вообще без щелчков мыши или каких-либо других действий от пользователя?
0
kefirux #
это я про файл серверы. Я хочу идти по среднему пути. в плане настройки — чтобы максимум функций, а в плане юзания минимум движений. И причём тут виндовс и вирусы непонятно :-)
0
non7top #
при том что они для установки тоже требуют минимум движений под виндовсом. в итоге количество движений даже удалось свести к нулю.
Но суть вашего велосипеда остается неясна. Чем оно лучше/удобнее/проще чем файл сервер?
+1
kefirux #
Ну из-за того что вирусы требуют минимум движений, то это же не значит, что все программы которые работают без лишних движений являются плохими программами и (не дай бог) вирусами. Всё равно что нелестно отзываться о человеке с фамилией Буш только потому что его однофамилец не очень удачно прославился на весь мир :-) be easy, от моего поста никому хуже не стало и быть может кому-то он окажется полезным. Для того что бы ответить на ваш вопрос поясните как именно у вас организован обмен файлов через файл-сервер: программы, ресурсы, движения. Быть может я соглашусь что действительно моя затея не имеет смысла
0
non7top #
его как-то можно сложно сделать? есть шара на сервере, при необходимости туда скидываются файлы, кому они нужны, тот их заберет оттуда.
0
kefirux #
Ну это я представляю так: на двух компах на рабочем столе ярлык на расшаренную папку. один кидает туда файлы, другой заходит и забирает. Здесь есть несколько моментов — нужен аж целый дополнительный компьютер для того что обеспечить файлсервер и более того он будет работать и шуметь постоянно. Второе — надо постоянно чистить файлсервер от хлама. Третье — тому кому нужны файлы надо заходить на сервер и скачивать себе файлы, если файл сервер на почистили то ему будет проблематично найти там файлы и ещё один ньюанс — времени тратится в 2 раза больше — сначала на закачку файла, потом на скачку. Если файлы весят по 200 мб, то это фигня, ну а если кидаться DVD образами, то это уже заметная разница
+1
barkalov #
Общие документы — ладно, но можно же просто папку расшарить.
И положить её сетевой путь в «send to» в профиле.
Собственно, всё. Теперь можно кидать файлы прям из контекстного меню по правой кнопке.

Или я не понял что-то как всегда? %)
–1
kefirux #
Дабы не копировать ответ, тут я вотетил на похожий вопрос :-)
habrahabr.ru/blogs/AutoHotKey/57139/#comment_1545675
не работает у меня шара и врядли уже будет работать, я её первым делом хотел задействовать сначала
0
lostmsu #
Судя по количеству кода заставить работать шару было бы куда быстрее. Я очень удивлён тем, что Ваше решение через пятую точку получает столько положительных откликов.
0
kefirux #
ну помоему 180 строчек не так уж много + мозги разминаются, и положительный отзыв тут только самым первым комментом ;-)
+2
antosj #
извините, а что за DropFile?
0
kefirux #
хех, забавно. Сейчас пытался найти и не нашёл в инете, а всё потомучто за 2 года название забыл. Правильно DropCopy. Благодарю за вопрос, ща всё исправлю
+1
PsychodelEKS #
Здорово конечно, но Dropbox с расшареными папками удобнее.
0
kefirux #
Ну мне шарить нигде не надо, просто перекинуть. А насколько я знаю ДропБокс предоставляет место на сервере куда можно заливать за деньги? Или он может работать бесплатно в локальной сети?
0
PsychodelEKS #
До 5 (начиная с 2х) гигов — бесплатно, без проблем можно удалять, то что уже не нужно. Если сделать несколько шареных папок — объемы суммируются.
Пока он перекачивает через сервер всегда, но разработчики обещают поддержку перекидывания файлов между компами в одной сети на прямую.
Плюс тут есть автоматическая синхронизация, история, возможность добавления/удаления пользователей и доступ из интернета.
0
kefirux #
мм… соблазнительно! Но как вы правильно заметили — функционал избыточен, я очень придирчив к трате системных ресурсов, постоянно слежу за графиком загрузки процессора. А кстати эта программа все время висит в памяти? или она загружается только при передаче?
0
PsychodelEKS #
Все время, т.к. отслеживает изменения файлов в реальном времени. И да, занимает 50 метров оперативки, но 0% процессора. Но это еще даже не релиз ;)
0
kefirux #
ну оперативки хватает. вот сделают они возможность по локалке перекидывать — заюзаю. мне траффика не жалко, мне скорости жалко)
11000 против 800 это солидная разница
0
PsychodelEKS #
Т.е. для просто перекидывания его функционал, конечно, избыточен и плюс тратится интернет траффик.
0
Semi #
«я решил покопаться в Windows и нашёл IIS» улыбнуло ))
–1
kefirux #
Ну проще говоря я порылся в Гугле и он мне сказал что надо порыться в Винде и найти IIS ) А если вас улыбнуло то что я не знал о нём сразу, то вспомните, вы знали все фишки с самого рождения? :-)
0
yamalight #
мм… ээ… объясните дураку, если я что-то не так понял — но это же локальная сеть, да? там же просто шарой все решается. или я не прав?
0
kefirux #
1) данный пример может использовать не только в локальной сети
2) отвечу цитатой из этого же поста (наверное вы не заметили или лень читать было, что логично ввиду такого большого количества текста)
«Стоит отметить важный момент — Общие Документы Сети Microsoft возможно и помогли бы в данной ситуации, но они отключены давно и так основательно, что как их включить обратно я уже не знаю\не помню\не хочу, поэтому я начал копать в другую сторону и в итоге получилось (по-моему) гораздо лучше. Так что тем у кого данная вещь функционирует я думаю не имеет смысла читать дальше.»
+1
yamalight #
1) ну ок, это несомненно плюс. хотя с таким количеством действий я бы лучше поставил хамачи + все те же шаред папки.
2) да, да, читал. я просто не понимаю — реально проще делать все вышеперечисленное, чем запустить один виндовый сервис? :)))
0
kefirux #
У меня система настолько вычищена от этого, что я както раз пытался включить и получилось такоее, что пришлось образ системного раздела восстанавливать )
+ мне нравится писать самому, и стараюсь избавиться от сторонних утилит и программ. Учится и ещё раз Учится!
0
kefirux #
p.s.: что такое хамачи?
+1
NemeZZiZZ #
ru.wikipedia.org/wiki/Hamachi — для использования в определённых случая вполне себе хорошая вещь.
0
yamalight #
Ну, писать самому — это здорово, тут соглашусь :)
А вот как в винде можно так жестко включать шару (даже если оно снесено) — это я даже не представляю %)
Кстати, раз уж вам нравится делать все самому — сделайте one-click инсталлер, который будет выполнять все вышеуказанные действия. Думаю хабралюди оценят :)
0
kefirux #
да у меня уже просят инсталлер с предыдущего поста, но я их не умею делать, может диплом допишу и покурю маны ;-)
+1
yamalight #
Есть такая штука — NSIS. С помощью нее очень просто лепить инсталлеры — я для диплома делаю в ней, освоил за пару часов )
0
kefirux #
благодарствую, добавлю коммент в мемориз
0
Tonna #
Да ты латентный линуксоид. Попробуй на досуге, должно понравиться :)
+1
kefirux #
))) Сейчас читаю как раз «Системное программирование на Linux». Уже слакварь себе ставил и недели две настраивал, а потом переставил винду и он сцуко затёр лило! Ну лило то я восстановил с диска, но уже тогда заподозрил, что Виндовс недолюбливает Линукс. Вот ещё сейчас брат поставил Федору и КДЕ 4.2 — красотища, хотя сам в слакваре иксы редко запускал. но не могу я перейти на линукс, мне как воздух нужен фотошоп, 3Д студио макс, ЛайтРум и прочие вещи, которых к сожалению нету в линуксе :-( максимум что мог себе позволить — BlackBox (BBClean) под винду
0
Dyton #
Это оригинально: сначала испоганить систему, а потом искать выход из создавшейся ситуации. :)
Описанный в топе метод — это попытка почесать за левым ухом правой рукой через-под левое колено.
0
kefirux #
ну запоганивал систему я давно когда ещё глупый был, и теперь не могу исправить косяки молодости. до сих пор Windows Installer лежит мёртвый.
Описанный в топе метод — это Трансректально решение, как заметил товарищь снизу, но даже после переустановки винды когда всё заработает я буду своим методом пользоваться ;-)
0
Boomburum #
Для простоты передачи файлов я использую HFS :)
А иконку аналогичную использую для корзины — свалил все в черную дыру с десктопа и готово )
0
kefirux #
требую расшифровки аббревиатуры :-)
0
Boomburum #
HTTP File Server, www.rejetto.com
Конечно, это не то о чем идет речь, но работать удобно. Запустил, перетащил файлы и скинул нужным людям ссылку — они качают что надо (хоть на десктоп хоть куда) — удобно и полный контроль. Зато заморочек никаких вообще ) И через контекстное меню файлы можно добавлять, чтобы ссылка сразу в буфер помещалась. Вообщем, отличная прога!!!
0
kefirux #
а даётся прямая ссылка сразу? плохо что для локалки не особо выигрышный
0
CAJAX #
А как же Dropbox (или даже Mesh)?
0
kefirux #
аналогичный вопрос про дропбокс
habrahabr.ru/blogs/AutoHotKey/57139/#comment_1545569
а мешь аналог дропбоксу?
0
CAJAX #
Пардон, не заметил тот комментарий. А меш, вроде похож, так же помогает синхронизировать файлы между разными компами.
+1
Alder #
В качестве ftp-сервера я бы рекомендовал FileZilla Server. Пользуюсь уже два года и доволен.
+1
soulruins #
Перестал читать после «не знаю\не помню\не хочу»…
0
kefirux #
но ведь это «не знаю\не помню\не хочу» породило столько строчек писанины и кода который вам нафиг сдался, зато другим может быть полезен. be easy, лень — двигатель прогресса )
+3
Popik #
Вам стоит открыть фирму ООО «Трансректальные решения»
0
kefirux #
)))))))
смотря кто уже зарегестрировал Трансоральные решения и что туда входит
НЛО прилетело и опубликовало эту надпись здесь
0
kefirux #
эталонный велосипед в студию. хочу посмотреть :-)
0
elsinor #
хотелось бы какой-то аналог виндовым шарам, чтобы можно было просто открыть файл по сети, будь то кино или документ, а то видишь в ноутом по wi-fi дома, а чтобы что-то с компа забрать, приходится флешкой пользоваться. глупо как-то. И все потому что netbios шары нифига не работают в XP. В Семерке с горем пополам настроил, но не будешь же на все компы теперь ее ставить.
0
Ikarr #
Все прекрасно работает, например, у меня. Какие у Вас проблемы-то с ними?
0
elsinor #
либо компы не видят друг друга, либо пишут что нет доступа. пробовал все что пишут в инете: и службы включать-выключать и пользователей создавать и права на сетевой доступ делать… ничо не робит.
0
kls #
вот он какой, windows-way.
0
kefirux #
между прочем если пропустить IIS и поставить нормальный Фтп сервер, то всё не так ужасно выглядит
0
Dyton #
Windows-way — это просто шару открыть. Но, видимо, это слишком просто для автора. Он не ищет простых путей. :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.