Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: sunhater в May 11, 2004, 17:59



Титла: SMBindex
Публикувано от: sunhater в May 11, 2004, 17:59
Здравейте,

Целта на тази тема е да събера мнения, идеи и съвети. Разработвам един проект за търсачка на файлове за LAN мрежа. Проекта се състои от две части:

    Индексиращ скрипт smbindex.php - Претърсва мрежата за PC-та с пуснат NetBIOS/Samba. Проверява за всяко открито PC поделените папки със свободен достъп. Прави се списък на файловете, който влиза в MySQL таблица.

    Претърсващ скрипт smbsearch.php - Форма за търсене + самото търсене. Ето един снапшот.

Индексиращият скрипт трябва да се изпълнява периодично чрез cron (аз го правя на всеки час). Той не се намира в DocumentRoot директорията на Apache, а в /usr/local/smbindex. Понеже времето за индексиране на файловете се проточва, данните се вкарват във временна MySQL таблица TEMP. След като завърши попълването на TEMP, съдържанието й се прехвърля в таблица FILES. За извличане на информацията от NetBIOS мрежата се използват командите findsmb и smbclient от Samba-та, които се изпълняват чрез shell_exec("command") в PHP.

Претърсващият скрипт показва резултатите по въведените от потребителя входни данни. Резултатите се вземат от таблица FILES.

Главния проблем на всичко това, е че при по-голяма мрежа от примерно 100 PC-та индексиращият скрипт ще се изпълнява много дълго време (при мен - 7 PCs/5-15 min), и не мога да се сетя как да го преодолея.

Очаквам отговори.

P.S. Извинявам се за странните постове в другия форум. Нещо имах проблеми с кирилицата. Ще помоля админите да ги изтрият.


Титла: SMBindex
Публикувано от: zazzko в May 11, 2004, 20:20
Разгледай търсачката ffsearch. Тя използва паралелно сканиране, като прави 5 (или колкото се зададе в конфигурационния файл) инстанции на smbclient. Писана е на Perl и PHP (като frontend).


Титла: SMBindex
Публикувано от: sunhater в May 12, 2004, 23:01
Много ми е чудно как става тоя номер с 5-те instances. Не съм толкова на ти с Perl-а.


Титла: SMBindex
Публикувано от: CaBA в May 13, 2004, 17:00
форква се. man 2 fork


Титла: SMBindex
Публикувано от: Йордан в May 13, 2004, 20:27
az pak da [o[itam 6te imame li wazmojnost za download na scriptowete :)


Титла: SMBindex
Публикувано от: sunhater в May 13, 2004, 20:42
Download ще има, но първо трябва да придобие завършен вид с инсталатор.


Титла: SMBindex
Публикувано от: sunhater в May 13, 2004, 20:55
Цитат
форква се. man 2 fork

Това не е ли някаква функция от библиотеките за C++. Как мога да я използвам в PHP?

Ще разясня малко по-пoдробно как работи в момента smbindex.php.
За да може да се стартира от командния ред (също и от cron) той започва с #!/usr/bin/php. Стартира се findsmb ($result = shell_exec("$SMBPATH/findsmb");). Резултатът се филтрира като от него се извличат имената на компютрите и техните IP-та съответно в масиви $PC[] и $IP[]. После започва цикъл който обхожда тези масиви и за всяка интерация се изпълнява smbclient с опции за списък от shares. Резултатът се филтрира така, че да се хванат само free shares, които влизат в масив $shares[PC][shares].
После започва най-интересната част - индексирането на файловете. Правят се два вложени цикли. Външният брои компютрите, а вътрешния - shares за текущия компютър. За всеки share се изпълнява рекурсивната функция add_files($PC, $IP, $share, $dir), като за всяка директория последователно се пуска по един smbclient.

Проблема е как да пусна паралелно да се индексират няколко компютри


Титла: SMBindex
Публикувано от: sunhater в May 14, 2004, 00:12
Ооооооо, сетих се!


Титла: SMBindex
Публикувано от: Йордан в May 14, 2004, 14:16
radwam se 4e si 4ast ot OpenSource :)


Титла: SMBindex
Публикувано от: sunhater в May 15, 2004, 00:43
Успях да го направя с няколко инстанции на smbclient. Броя им се посочва в конфиг файл. Сега SMBindex e почти готов. Искам да попитам как мога да го лицензирам с GPL лиценз?


Титла: SMBindex
Публикувано от: Йордан в May 15, 2004, 08:48
truden wapros :(
... to i da go licenzira6 pak 6te ima tapacite koito 6te kopirat
... mai trqbwa samo GPL da si warwi kam nego
ako go sloji6 na saita i ima data tow ewentualno moje da ti pomogne za awtorskite prawa ... stawa waprosa za "Made in BG"


Титла: SMBindex
Публикувано от: thc в May 15, 2004, 09:49
sunhater, това дето си го замислил е много яко :) аз от доста време търся подобен скрипт, мъчих се да си правя и все нещо не ставаше.Ти си решил проблема директно  :D Ако ви трябват тестери аз съм насреща - само дайте линк.


Титла: SMBindex
Публикувано от: Йордан в May 15, 2004, 23:34
m/u drugoto i az sam nawit za testowe
a da te pitam ima li wazmojnost d aindeksira powe4e ot edna work grupa


Титла: SMBindex
Публикувано от: sunhater в May 16, 2004, 01:55
Не че ви нямам доверие, но няма да ми е много приятно ако след като го пусна за download, моето моето творение се появи лицензирано от друг. Затова искам първо да го лицензирам с GPL и после всичко останало. Аз доколкото четох на www.gnu.org е достатъчно само да добвя текста на лиценза и други неща и съм готов. Така ли е наистина или не съм разбрал? Не трябва ли поне да изпрата e-mail до someone[at]gnu.org да известя че аз съм лицензирал пръв този продукт?
Колкото до workgroups - скриптът НЕ претърсва точно определена група а абсолютно всички компютри по зададен broadcast адрес (примерно 192.168.0.255) независимо в коя група членуват.


Титла: SMBindex
Публикувано от: Йордан в May 16, 2004, 09:36
samo 6te dobawq 4e koito ceni truda na drugite nikoga ne naru6awa GPL ... no w ddeistwitelnost si praw ima kele64eta koito go naru6awat


Титла: SMBindex
Публикувано от: thc в May 16, 2004, 11:27
sunhater, прав си за възможността да ти откраднат труда което изобщо не е приятно, лично аз те разбирам и съм готов да изчакам докато го лицензираш.Надявам се да не е много сложно това лицензиране и да стане по скоро .
Имаш огромно БЛАГОДАРЯ от мен за това, че споделяш труда си и че разсъждаваш в духа на "The human knowledge belongs to the world"  :)


Титла: SMBindex
Публикувано от: sunhater в May 19, 2004, 14:55
В момента работим по графичната част и предполагам до седмица ще се получи завършрн пакет.


Титла: SMBindex
Публикувано от: coldy в May 19, 2004, 16:21
Не мога да помогна контретно, но погледни в дъното на страницата http://www.gnu.org/

Цитат
Please send inquiries about GNU and the FSF to

        Free Software Foundation           Voice:  +1-617-542-5942
        59 Temple Place - Suite 330        Fax:    +1-617-542-2652
        Boston MA 02111-1307 USA           E-Mail: gnu@gnu.org


Титла: SMBindex
Публикувано от: sunhater в May 23, 2004, 20:58
С лицензирането всичко е ок. Остава само графичната част да стане готова. Забелязах и един проблем, когато се използват повече от 1 инстанции за претърсване - MySQL сървъра забива. Не знам на какво се дължи. Алфа версия на пакета може да бъде намерен тук. Нека разясня как е направено паралелното претърсване.

Претърсващия скрипт smbindex.php прави списък на компютрите с free shares. После се генерира шел скрипт scan_pcs.sh, който се стартирa. Скриптът пуска в background режим няколко претърсвания и следи дали броят им е по-малък от броя, зададен в config file. Ако е така, пуска следващото background претърсване. Претърсването се стартира чрез PHP скрипт
Примерен код
/usr/local/smbindex/scan_pc.php PC=<PC_name> IP=<IP>
Всяко претърсване индексира по един компютър и вкарва данните в MySQL таблица.

Не винаги, но доста често при индексирането забива mysqld. И при ps -e излизат десетина процеси mysqld, един от които е <defunct>. Помислих си дали пък да не затварям mysql сесиите и затова да забива. Прегледах кода, но всичко изглежда нормално. Мисля си дали пък да не е възможно mysqld да обработва еднбовременно повече от една заявка, което е нелепо.

На който му се занимава нека пробва и да ми каже дали и при него е така. Ако има проблеми по подкарването на SMBindex - sunhater@mail.bg


Титла: SMBindex
Публикувано от: zazzko в May 23, 2004, 22:41
Защо не запазваш данните във временен масив или хеш, който да се вкарва в базата данни след претърсването (поне при ffsearch е направено така). Може да провериш и настройките на MySQL-a в my.cnf


Титла: SMBindex
Публикувано от: sunhater в May 23, 2004, 23:19
Защото този временен масив може да е мнооооооооооооооооооого голям. Освен това, не виждам как ще стане при няколко instances. Колкото до /etc/my.cnf - там имам само една настройка set-variable = default_character_set=cp1251. Всички останали са по default.


Титла: SMBindex
Публикувано от: Emooo в May 24, 2004, 12:16
mnogo si prav sunhater az pravih nesto podobno za indexirane na http,ftp i t.n. Sled kato go pusnah vednaga se nameriha nagalci deto da smeniat imeto i e-maila mi i da pishat tehnite. Ima nachini za codirane na php code-a, az moia problem go reshih generalno i indexiraneto go napisah na C i go razprostraniavam v bin file.


Титла: SMBindex
Публикувано от: sunhater в May 26, 2004, 01:50
Реших проблема по добрия стар начин - save to files и после всичко в MySQL  ;) . Сега чакам един приятел да направи по-як дизайн. Иначе основната работа е свършена.

Emooo, аз съм виждал закодирани perl скриптове, и много ми е чудно как става този трик. Но все пак не мисля да закодирам SMBindex. По-добре да е open. А който открадне, бог ще го накаже!


Титла: SMBindex
Публикувано от: zazzko в May 26, 2004, 17:21
Явно Emooo не го кефи Open Source-a. Иначе може да разбъркаш кода на РНР. Подробно как става това е описано в:
 http://spisanie.com/BestOfWebDevMagazine.zip


Титла: SMBindex
Публикувано от: sunhater в May 26, 2004, 21:06
Мамка му, пак забива mysqld! Но значително по-рядко.


Титла: SMBindex
Публикувано от: thc в Jun 06, 2004, 10:24
имам голямо желание да пробвам скрипта но от известно време виждам само това..
Цитат
файлът, който се опитвате да достигнете не бе намерен


Титла: SMBindex
Публикувано от: sunhater в Jun 07, 2004, 11:10
Търпение... махнах го, защото забелязах, че е много бъгав... Пренаписах индексиращата част на Perl и от 2 дена тестове не прави никакви проблеми. Явно PHP става само за web скриптове. Искам да е завършен преди да го пусна за разпространение.


Титла: SMBindex
Публикувано от: Йордан в Jun 07, 2004, 12:23
чакаме с нетърпение :)


Титла: SMBindex
Публикувано от: sunhater в Jun 08, 2004, 21:28
Ето за най-нетърпеливите линк за тестване, ама мисля че всичко е ОК. Остава само Марто, човека, който прави дизайна да си вземе дипломната защита и да довърши каквото е започнал и тогава вече ще е final release. Сегашния дизайн аз съм го правил... не е нещо особено, но и не дразни с грозотата си ;)

smbindex-1.0b.tar.gz snapshot


Титла: SMBindex
Публикувано от: Йордан в Jun 09, 2004, 09:50
a da te pitam kak stoq6 ne6tata s C$, D$
teq papki indeksira li gi
...pri XP s Guest moje6 daje da trie6 prez konquerora


Титла: SMBindex
Публикувано от: Йордан в Jun 09, 2004, 09:52
в смисъл индексира ли файловете в тея папки


Титла: SMBindex
Публикувано от: в Jun 09, 2004, 11:28
Примерен код
Are you sure about your MySQL answers? [y/n]: y
DBD::mysql::db do failed: Can't create database 'mysql'. Database exists at /usr/local/smbindex/db_tables.pl line 38.
DBD::mysql::db do failed: Can't create database 'mysql'. Database exists at /usr/local/smbindex/db_tables.pl line 38.
Creating MySQL tables...
===========================================
!!! PLEASE READ CAREFULY FOLLOWING TEXT !!!
===========================================

Now, you should set up crond to start /usr/local/smbindex/smbindex.pl at regular intervals. See 'man crontab' for details.

You can change SMBindex settings editing files in /etc/smbindex directory.

For better security please change the permissions of the files located in /etc/smbindex. The owner of those files should be the same as the one that is used by the Apache web server. For example:

        chown nobody.nobody /etc/smbindex/*
        chmod 700 /etc/smbindex/*

You can uninstall SMBindex running /usr/local/smbindex/smbindex_uninstall.pl.

gigavolt:~/smbindex # /usr/local/smbindex/smbindex.pl
DBD::mysql::db do failed: Table 'mysql.FILES' doesn't exist at /usr/local/smbindex/smbindex.pl line 116.
DBD::mysql::db do failed: Table 'mysql.FILES' doesn't exist at /usr/local/smbindex/smbindex.pl line 116.
gigavolt:~/smbindex #


ne 6te da se konekne kam sql'a


Титла: SMBindex
Публикувано от: sunhater в Jun 09, 2004, 12:51
GigaVolt: Папки, които завършват с $ не се индексират... Те са служебни и обикновено трябва парола за да влезнеш в тях, затова сметнах да не ги включвам при индексирането.

GV (това май пак си ти): Да, не щеше... оправено е... сега ще... дръпни си пакета наново.


Титла: SMBindex
Публикувано от: Йордан в Jun 09, 2004, 16:38
пак същият хуй ми дава


Титла: SMBindex
Публикувано от: в Jun 09, 2004, 17:45
a raboti li?

ne se pritesnjavaj ot error messages.


Титла: SMBindex
Публикувано от: the_real_maniac в Jun 09, 2004, 19:44
DEBIAN GNU/Linux situation ... dear my friend ...

Стоя си аз днеска пред пс-то + в ицю-то и си чопля нещо ...
По едно време един приятел пише нещо , гледам пита човека , къде са smb binaries  ? Честно казано , стоя аз в първия момент и гледам опулено ...
Викам си бреее човека може да търси пакетите ... -> след 3 изрчения общо - аз той аз , се разбира че това не е търсеното от него. Обяснява ми още 2 изречения ... и му казвам:

"демона ли бе -клъц- ами тук /etc/init.d/ -> /etc/init.d/samba  - клъц -той дефакто пуска двата демона smbd & nmbd " след още 2 изречения - "които са тук /usr/sbin/ " , оказа се , че и това не е ...

питам го за какво са му тези работи - някакъв скрипт , каза ми кой  е и аз се сетих за какво иде реч :) - тази тема ... След това го помолих да ми каже какво точно става каза , че не намирал smbclient , a той си е в /usr/bin (и при мене, и при него)  ... Викам му "отваряш този скрипт" и даваш find (със smbclient) и ми даваш редовете - даде ми целия абзац if ... и гледам , че дефакто цялата грешка е ...:

Примерен код

err="1"
while [ "${err}" != "" ]; do
    samba="$(get_input "Location of samba binaries [${samba_def}]:")"
    if [ "${samba}" = "" ]; then
        samba="${samba_def}"
    fi

    if [ -x ${samba}/findsmb -a -x ${samba}/smbclient ]; then
        err=""
    else
        echo "Could not find smbclient or/and findsmb in directory ${samba}!"
// ето това отгоре ^^^ ето това отгоре ^^^ //
    fi
done


"Could not find smbclient or/and findsmb in directory ${samba}!"

--------
...
Location of samba binaries [/usr/bin]:
Could not find smbclient or/and findsmb in directory /usr/bin!
...

също така той после ми пейста и това ,което на него му дало , същото като горе, но доста повечко редове и гледам findsmb - не го бях чувал , няма го на системата , няма го като пакет , няма го като файл в пакет, викам си брееее ...

Гоогъл , от първия резултат някакви си работи там , т.н , абе явно не е много стабилен и прави доста проблеми , незнам сега как е, но видях това в майлинг лист на Дебиан ...:

* Remove man pages for findsmb because we are not providing this
    script.

 ... щом Дебиан са отказали да го слагат , значи има защо ;)

Та помисли си ;) -> към създателя ...

моя приятел ,които също е с Дебиан му препоръчах да си дръпне сорс-а от самба.орг и да си направи пакет, за да няма проблем със зависимостите ;) Успех му пожелавам на него и на теб ...

пп: би ли ми казал с какво твоя софтуер е по-добър от smb4k, ffsearch ..., за да го предпочета ?
пп2: пп не е заяждане ! Питам , за да знам и може би използвам :D ! Също така предполагам , че си упражняваш програмирането ,в което няма нищо лошо , а и като гледам имаш и подръжници + потребители и т.н , абе успех в начинанието :)

edit: ето го и maniac (по-долу гледам че е постнал и той) ;) - моя приятел. Съвпадението на прякори е чиста случайност ...


Титла: SMBindex
Публикувано от: в Jun 09, 2004, 19:48
Направих опит за инсталация. v1.0b

Скрипта ми връща това:
Примерен код

Location of samba binaries [/usr/bin]:
Could not find smbclient or/and findsmb in directory /usr/bin!


smbclient  си е точно там, явно си търси findsmb. (доколкото разбрах  това е някакъв перл скрипт в самба пакета)
Разбрах, че дебианци са изрязали този скрипт в самба пакета (с дебиан съм бтв). Някои може ли да ми каже как да си го сложа?
Поздрави!


Титла: SMBindex
Публикувано от: sunhater в Jun 09, 2004, 20:41
Не знам защо Debian-ците са го махнали... findsmb проверява за компютри с пусната Samba/NetBIOS използвайки smbclient... Понеже ме мързеше аз да направя такъв скрипт реших да използвам готов, който официално си е от Samba-та, не знаех, че Debian са го резнали. Аз ползвам Slackware и не мисля да минавам на друго (поне засега). Не знам дали мога да взема findsmb и да го добавя към моя пакет. Сигурно може, но трябва да напиша някъде.
Цитат
пп: би ли ми казал с какво твоя софтуер е по-добър от smb4k, ffsearch ..., за да го предпочета ?

Ами да ти кажа ffsearch е много объркващ и неясен от user-ска гледна точка. Поне от това, което съм видял от демото на сайта. Сигурно има много възможности, но е доста тежък като представяне и визия. Тва е моето мнение.
Колкото до smb4k, не бях чувал за него, но от сайта веднага разбрах че е KDE приложение. Демек не може да се използва от Windoze. Друга голяма разлика е, че при smb4k за да намериш нещо, което търсиш, трябва тепърва да сканираш мрежата, докато при мен това вече е направено и вкарано в MySQL.


Титла: SMBindex
Публикувано от: the_real_maniac в Jun 09, 2004, 22:18
1. updatedb преди locate

2. или да редактираш малко locate и когато се стартира locate дефакто да се пуска updatedb и вече след това locate

не е ли същото ?

Малко метафори и сравнение с това , което ти си написал , поне аз така го виждам ;)

А иначе ако имаш превид да си карам с базата данни отпреди 8 дена (примерно ) и да търся нов филм (пак примерно) не върви нали ;)

:)

MultiOS - ами окей , няма проблем ще портнем smb4k :DDD
// just joking ... or may be not ...

Няма да е лошо да го сложиш като възможност findsmb и да проверяваш дали е Debian чрез uname , след това да проверяваш за версията на Самба   , защото предполагам , че след време ще го сложат и т.н ;) Мисля ми разбираш идеята ...

Това е ... нямам сега как да се запозная със приложението ти , може би под Кнопикс , ще видя , всъщност може - идея е :)
Усепхи ;)


Титла: SMBindex
Публикувано от: Йордан в Jun 10, 2004, 08:48
ами не работи неще да се конекне към базата... не създава таблиците :)


Титла: SMBindex
Публикувано от: sunhater в Jun 10, 2004, 13:07
Цитат (GigaVolt @ Юни 10 2004,09:48)
ами не работи неще да се конекне към базата... не създава таблиците :)

Що така бе Миме? При мен всичко е ОК. Пробвай да направиш нова база и нов user в MySQL.


Титла: SMBindex
Публикувано от: sunhater в Jun 10, 2004, 13:33
Цитат (Guest @ Юни 09 2004,20:48)
smbclient  си е точно там, явно си търси findsmb. (доколкото разбрах  това е някакъв перл скрипт в самба пакета)
Разбрах, че дебианци са изрязали този скрипт в самба пакета (с дебиан съм бтв). Някои може ли да ми каже как да си го сложа?
Поздрави!

Дай си mail да ти го прата. Ти го сложи там, където се намира smbclient.


Титла: SMBindex
Публикувано от: sdr в Jun 10, 2004, 13:44
Брех да му се невиди защо не съм видял тая тема по-ранко да ви спестя излишните мъки ... аз си го бях направил при това само с
   bash/cut/grep/nmap/smbclient/nmblookup/малъкреформатер

за целтта даже се наложи да пачна малко самба-та - дори след това пача влезе в официалния сорс (опцията -g/--grepable). Използвах nmap защото мрежата в която бях тогава (Студ.Град бл. 14) беше замечателно нестабилна на тема broadcast.


Титла: SMBindex
Публикувано от: sunhater в Jun 10, 2004, 16:30
Я разкажи по-подробно, че нищо не разбрах. На какво е тази опция (коя програма). Това твойто скрипт ли е или пач? Аз по принцип съм заинтересован да намеря алтернатива на findsmb.


Титла: SMBindex
Публикувано от: sdr в Jun 10, 2004, 17:53
Пача е на smbclient иначе скрипта се възползва от -g при

smbclient -L <host> -I <ip> -N -g

или нещо такова - с удоволствие бих ти предоставил самия скрипт само дето на тая машина го нямам и ша получа достъп до него чак в неделя/понеделник

в резултат се получаваше файл с формат:

//smbname@ip/dir(/dir)*/file|zise

с всички файлове от всички компютри свързани към мрежата. Можеш да си сканираш отделни под-мрежи в паралел и прочие....


Титла: SMBindex
Публикувано от: sunhater в Jun 10, 2004, 18:28
При мен дава
Примерен код
smbclient: invalid option -- g
Ползвам samba-2.2.8a. Ако трябва някакъв допълнителен пач, по-добре да намеря друго решение.


Титла: SMBindex
Публикувано от: Йордан в Jun 10, 2004, 21:53
м/у другото повечето мрежи са зле с бруткаста... дори и моята нищо че е с 5 машини


Титла: SMBindex
Публикувано от: sdr в Jun 11, 2004, 09:09
Цитат
Ползвам samba-2.2.8a. Ако трябва някакъв допълнителен пач, по-добре да намеря друго решение.


Кво не ти харесва на 3.0 сериите? Щото пача е официален там? БТВ samba-3.0.4 е в Slackware-current - не мисля че има от какво да се притесняваш

http://de.samba.org/samba/ftp/pre/WHATSNEW-3-0-5pre1.txt
[cut]
Changes since 3.0.1
[cut]
o   Stoian Ivanov <sdr@bultra.com>
    * Implement grepable output for smbclient -L.


Титла: SMBindex
Публикувано от: sunhater в Jun 12, 2004, 00:07
Ами искам да движи и на Samba 2.2.x. Както и да е, реших проблема, вече няма нужда то findsmb. Новия пакет се намира тук. Търси по broodcast. Не искам да използвам nmap, щото някой от мрежата ще ми реве, че го сканирам на всеки кръгъл час.


Титла: SMBindex
Публикувано от: sdr в Jun 14, 2004, 17:34
Примерен код

nmap -sT mynet/size -p139 -oG -


Кое му е незаконното на това? Даже и не иска root..


Титла: SMBindex
Публикувано от: sunhater в Jun 15, 2004, 03:07
Не знам, не съм запознат... Въпроса не е дали е законно, а дали някой, който използва някакъв софтуерен firewall ще ми реве, че го сканирам час по час... Този ред дето си го дал много ме кефи, пробвах го и разбрах, че цялата работа на findsmb може да се свърши и с nmap. Но дали той предизвиква някаква реакция от софтуерния firewall?


Титла: SMBindex
Публикувано от: sdr в Jun 15, 2004, 11:05
Не би трябвало това си са стандартни заявки за конекция няма нищо "хакерско" ако реве при такива конекции трябва да реве и ако в Explorera напишеш \\the_host\ Единствения малък страничен ефект е че ще има моментен ARP flood ма за тва не съм видял до сега някой FW да се оплаква


Титла: SMBindex
Публикувано от: sunhater в Jun 15, 2004, 17:18
С помощта на maniac, успях да оправя много бъгове и да направя някои подобрения. Новата версия дава възможност за избор на сканиращ метод (broadcast/ping/nmap). Моля тествайте smbindex-1.3b.tar.gz.

sdr, 10x за nmap редчето!


Титла: SMBindex
Публикувано от: Йордан в Jun 15, 2004, 18:06
а има ли надежда да се подкара търсещият сцрипт и на нещо по различно от ИЕ... при Опера 7.5 не бачка


Титла: SMBindex
Публикувано от: в Jun 15, 2004, 21:05
nowata wersiq dawa
Примерен код
gigavolt:~ # /etc/smbindex/settings.php
/etc/smbindex/settings.php: line 1: ?php: No such file or directory
/etc/smbindex/settings.php: line 3: [host]: command not found
/etc/smbindex/settings.php: line 4: [base]: command not found
/etc/smbindex/settings.php: line 5: [user]: command not found
/etc/smbindex/settings.php: line 6: [pass]: command not found
/etc/smbindex/settings.php: line 8: =: command not found
/etc/smbindex/settings.php: line 8: //: is a directory
/etc/smbindex/settings.php: line 10: syntax error near unexpected token `newline'
/etc/smbindex/settings.php: line 10: `?>'


Титла: SMBindex
Публикувано от: sunhater в Jun 15, 2004, 22:13
Май не си много в час, защо стартираш /etc/smbindex/settings.php... Ако има други проблеми на private plz.

Колкото за другите бровсери - ако някой ми каже как мога да направя линк към файл от мрежата да се обади... При IE става с <A HREF="file://computer/share/dir/file">


Титла: SMBindex
Публикувано от: Йордан в Jun 15, 2004, 22:18
Любоввввв яко съм разсеян  ???


Титла: SMBindex
Публикувано от: zazzko в Jun 16, 2004, 01:10
Примерен код

<a href="smb:\\computer\dir\file"></a>

Това работи на konqueror и nautilus. За съжаление за Опера и Мозила няма как да стане.


Титла: SMBindex
Публикувано от: sunhater в Jun 16, 2004, 15:04
Ще може ли някой да ми даде стойността на $HTTP_USER_AGENT за Nautilus.


Титла: SMBindex
Публикувано от: sunhater в Jul 17, 2004, 22:03
SMBindex 2.0 е почти готов. За най-нетърпеливите ето и един snapshot. Благодарско на всички, които ми помагаха. И на Google също :0


Титла: SMBindex
Публикувано от: Йордан в Jul 18, 2004, 22:36
чакаме :) и то с нетърпение :)


Титла: SMBindex
Публикувано от: sunhater в Jul 19, 2004, 02:31
Цитат (GigaVolt @ Юли 18 2004,23:36)
чакаме :) и то с нетърпение :)

Ама верно ли?... Почвам да се замислям за сайт на този проект.


Титла: SMBindex
Публикувано от: в Jul 19, 2004, 12:32
ami 4udq se kak nqma :)
to saita populqrizira produkta ;)
a sega malcina polzwame programata


Титла: SMBindex
Публикувано от: Topper в Jul 19, 2004, 12:54
Правилно, аз сега съвсем случайно разбрах за този проект, който сам по себе си е много полезен !!!!


Титла: SMBindex
Публикувано от: sunhater в Jul 19, 2004, 13:40
Ето го. SMBindex 2.0 Frontend-a е тестван единствено на IE6 и Konqueror. При Konqueror има малки проблеми, които по-натам мисля да оправя.


Титла: SMBindex
Публикувано от: Topper в Jul 19, 2004, 14:56
На това се казва мълниеносен отговор ;">>>


Титла: SMBindex
Публикувано от: Йордан в Jul 19, 2004, 15:02
са ще пробвам :)


Титла: SMBindex
Публикувано от: sunhater в Jul 19, 2004, 19:54
Веднага щом пуснах 2.0 версията получих съобщения по ICQ-то за някои малки нередности в нея. Сега те са оправени и новата 2.01 версия можете да дръпнете от тук


Титла: SMBindex
Публикувано от: BOT_ev в Jul 19, 2004, 20:10
Любопитно ми е какво ще е положението с Firefox ?!?


Титла: SMBindex
Публикувано от: sunhater в Jul 19, 2004, 20:48
Няма как да работи успешно на Firefox, както и на всички browser-и, които нямат възможност за browse-ване на Samba networks. Мисля че IE6 и Konqueror са достатъчни... Нямам Nautilus иначе може и него да включа. Но той доколкото знам е базиран на mozilla и ще трябва да преправям основно DHTML кодирането.


Титла: SMBindex
Публикувано от: DoctorA в Jul 19, 2004, 21:39
Hi
днеска подкарах версия 2.0 , обаче се натъкнах на 2 проблема  :
1. след въвеждане на текст за търсене винаги получавах грешка гласяща че $result нeщо не е наред , оказа се че в $query се довя \ преди '
2. някои PCта не се индексираха защото трябва username и парола , които са едни и същи за повечето PCta

първия проблем го реших с промени по results.php и smbindex.php, решен ли е в  версия 2.01 или да ти ги пратя по e-mail ?
втория проблем го реших като промених опциите към smbclient в scan_pc.pl , не е зле да се добавят променливи за username и парола в конфигурационния файл ( ако вече не са добавени във версия 2.01 )


Титла: SMBindex
Публикувано от: sunhater в Jul 19, 2004, 22:59
Първия проблем въобще не го разбрах.
Цитат
оказа се че в $query се довя \ преди '

Колкото до втория - няма решение... SMBindex поначало е замислен да претърсва САМО файловете със свободен достъп (разбирай без парола). Който иска нещо повече е свободен да си го доправи, както ти си направил.

BTW има открити и други бъгове и скоро ще има 2.02. Чудя се кога ще му дойде краят...


Титла: SMBindex
Публикувано от: DoctorA в Jul 19, 2004, 23:26
emi ei sega 6te ti pratq nqkolko screenshoot-a na e-mail-a


Титла: SMBindex
Публикувано от: lgmim в Jul 19, 2004, 23:42
//smbindex 2.01
 
 pri instalatsiqta se sazdade baza danni    
 "smbindex"    
 no e bez tablitsi vatre i eto kakva    
 greshka mi dava    
 pri izpalnenie na "smbindex.pl"    
 kak da dobavq tablitsite v bazata    
 danni ???    
    
 MySQL version 4.0.20    
 perl, v5.8.4  
 PHP 4.3.7  
 Apache/1.3.31 (Unix)  
  
 #./install.sh OUTPUT    
 ==================================  
  
 cut  
 Are you sure about your MySQL answers? [y/n]:  
 y  
 Creating MySQL database...  
 DBD::mysql::db do failed: You have an error in  
 your SQL syntax.  Check the manual that  
 corresponds to your MySQL server version for  
 the right syntax to use near ')' at line 10  
 at /usr/local/smbindex/db_tables.pl line 60.  
 failed!  
 Creating MySQL tables...  
 cut  
  
  
 #./smbindex.pl OUTPUT  
 ==================================  
 cut  
 >> UPDATING DATABASE <<    
    
 DBD::mysql::db do failed: Table    
 'smbindex.FILES'    
 doesn't exist at ./smbindex.pl line 232.    
 DBD::mysql::db do failed: Table    
 'smbindex.FILES'    
 doesn't exist at ./smbindex.pl line 232.


Титла: SMBindex
Публикувано от: DoctorA в Jul 19, 2004, 23:45
pri tyrsene na ne6to se pokazva :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/smbindex/results.php on line 30
dobavih :
echo "\$query=\"$query\"";
na line 30 v results.php i se pokaza :
$query="SELECT * FROM FILES WHERE (((filename LIKE \'%rock%\')) OR ((location LIKE \'%rock%\'))) LIMIT 0, 100"

PS: pra6tam ti screenshots na e-maila koito si poso4il v na4aloto na  results.php


Титла: SMBindex
Публикувано от: DoctorA в Jul 19, 2004, 23:47
lgmim,
napravi si bazata danni ry4no i pak pusni ./install.sh


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 02:24
Значи, проблема с таблиците:
Още преди да пуснете install.sh redaktirajte db_tables.pl от папка sbin в пакета и махнете запетайките на редове 56 и 69.
Ако вече сте инсталирали smbindex пуснете db_tables.pl, ако не сте - install.sh.

DoktorE, дай си версията на mysql-a и php-то, щото при мен не добавя / преди '. Аз съм с PHP 4.3.6 i MySQL 4.0.15a. Много странно се е получило при теб. А провери ли стойността на $query преди да се предаде на results.php? Ти как го оправи?... Така ли?

$query = str_replace("\\'", "'", $query);


Титла: SMBindex
Публикувано от: sdr в Jul 20, 2004, 08:15
Естествения въпрос е дали и кога ще има версия поддържаща FTP скан :)
Не съм го разглеждал, но няма да е лошо ако има изход в обикновен текстов файл а не само към MySQL защото не всички ползват тази BD, а някои изобщо избягваме да ползваме BD  ;)


Титла: SMBindex
Публикувано от: sdr в Jul 20, 2004, 08:16
Абе защо не може да се трие мнение, при положение че можеш да го редактираш до неузнаваемост?
(по погрешка постнах два пъти и....)


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 08:30
FTP scan не се предвижда. Иначе щеше да е FTPindex (добра идея за нов проект).
sdr, явно не си много наясно по въпроса с базите данни... Ако се индексира в текстов файл търсенето и намирането на данни ще е много по-бавно, да не говорим за сортировки и др. такива. Аз не се наемам да правя такова нещо.
Верно, то 2 таблици не са никаква база от данни, но пък си имам разработен програмен интерфейс към тях. Защо трябва да се тормозя да изграждам нов такъв? Заради тези, дето се плашат от MySQL?


Титла: SMBindex
Публикувано от: fox4o в Jul 20, 2004, 09:47
sunhater,
otnosno bazite danni i txt fajlove moga da ti preporycham da
poglednesh txtSQL
mislq che ne e trudno da go integrirash v tvoq proekt


Титла: SMBindex
Публикувано от: DoctorA в Jul 20, 2004, 10:43
sunhater,
po malko po razli4en na4in go opravih , no i taka stava :)
daje taka e dosta po dobre
dobavih :
echo "\$query=\"$query\"";
na line 330 v smbindex.php i se pokaza :
$query="SELECT * FROM FILES WHERE (((filename LIKE '%rock%')) OR ((location LIKE '%rock%'))) LIMIT 0, 20"

# php --version
PHP 4.3.4 (cli) (built: Mar 27 2004 08:04:22)
Copyright © 1997-2003 The PHP Group
Zend Engine v1.3.0, Copyright © 1998-2003 Zend Technologies
    with Advanced PHP Debugger (APD) v0.4p2, Copyright © 2001 Community Connect Inc., by Daniel Cowgill and George Schlossnagle

# mysql --version
mysql  Ver 12.22 Distrib 4.0.18, for pc-linux-gnu (i686)


Титла: SMBindex
Публикувано от: DoctorA в Jul 20, 2004, 10:54
sunhater,
sega zabelqzah 4e PCta koito bqha indexirani v4era sled poslednoto indexirane gi nqma , ne vsi4ki se opitvat da postavqt rekord po uptime , 6te se opitam da go nakaram da ne gi trie ( use6tam 4e 6te trqbva dosta edit zatova )


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 11:09
Хубаво е че имаш желание за такива подвизи :-). За кво аджеба са ти индексирани offline computri? И как ще направиш ъпдейт на шерингите на вече индексиран computer... ти си знаеш, сигурно ще намериш начин


Титла: SMBindex
Публикувано от: DoctorA в Jul 20, 2004, 11:14
sunhater,
emi 6oto moje da se e poqvilo Online ot poslednoto indexirane do pose6tavaneto na tyrsa4kata
a ina4e 6te go update-na kato mu iztriq zapisite i dobavq novite , oba4e bi trqbvalo da se iztrivat zapisite samo na PCta koito sa indexirani


Титла: SMBindex
Публикувано от: DoctorA в Jul 20, 2004, 11:19
ama 6te mi e dosta slojno poneje po4ti ni6to ne razbiram ot perl


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 11:35
Всички съобщени и няколко несъобщени бъгове са оправени. Ако има още казвайте, че довечера пускам 2.02.


Титла: SMBindex
Публикувано от: sdr в Jul 20, 2004, 13:47
Само да вметна че за проекти от тип една таблица абсолютно никога не ползвам база данни поради "overkill" ефекта. Много по-лесно ми е да grep-на каквото ми трябва вместо да занимавам цял SQL енджин/демон с елементарно търсене което в 90% от случаите не може да се индексира (name like %bla% ). Да не говорим колко по-лесен е деплоймънт-а ако няма нужда от предварително инсталирани услуги...


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 14:08
sdr, ти явно си вманниачен програмист, търсещ решения, които използват по-малко ресурси, независимо, че има изобилие от тях. Лошо нема. Виж са.. кажи ми как от текстов файл (псевдо-таблица) ще ми извадиш примерно музикалните файлове в които се среща дадена дума, размера на които е в определени граници, и сортирани по местоположение? И това ако е елементарно търсене...
При това резултатът трябва да е достатъчно бърз. Аз друг начин освен SQL не виждам.


Титла: SMBindex
Публикувано от: Hapkoc в Jul 20, 2004, 14:37
sunhater, тука ще се направя на умен и ще отговоря вместо sdr :)
cat | grep | awk | bash | sort
Няма да си давам труд да пиша цялата команда за дадения пример, само отбелязвам, че принципно не е проблем да се направи с текстов файл. За бързина не мога да говоря, защото не съм си правил експерименти... :)
Базите данни не са лошо нещо, но наистина при 1 или 2 таблици няма много смисъл...
Иначе проектчето е доста добро като идея, не съм го пробвал щото има 3 компа в мрежата ми и няма много смисъл ама на други хора със сигурност ще им свърши работа - та затова - евала :)))

Айде със здраве


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 14:48
Абе не знам колко тази комбинация от команди ще помогне. Аз докато не видя нещо направено, няма да ме убедите, че това е по-добрия начин. Може би txtSQL е добро решение, но не знам колко добре работи за да му се доверя.


Титла: SMBindex
Публикувано от: Hapkoc в Jul 20, 2004, 15:31
sunhater, аз не се опитвам нищо да те убеждавам, само отбелязвам, че може да стане както е казал sdr :)


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 15:37
Ок разбрах, но аз мисля, че този метод е неприложим за SMBindex. Даже да е приложим то той ще е твърде "затворен" имам предвид "ще си го разбира само този, който го е писал (даже и това не е сигурно)"


Титла: SMBindex
Публикувано от: Hapkoc в Jul 20, 2004, 15:40
Да и всички, които са се занимавали с shell scripting :)
Няма значение, ти си решил да го направиш по един начин, няма сега да спориме тука 100 часа кое по-добро кое по-лошо, като реша аз да го направя ще го направя по моя си начин, т'ва си е личен избор и всеки си е прав за себе си :)
Разбрахме се

peace


Титла: SMBindex
Публикувано от: zazzko в Jul 20, 2004, 15:43
Определено sunhater е прав. Не е удачно използването на текстови файлове (даже и DBM базирана база данни) при толкова много записи. Ще се налага игра със заключвания, сложни шаблони за търсене и т.н. Въпреки, че има имплементации като SQLite които решават донякъде проблема, определено не е удачно използването им при база данни с 130 000 записа (това в момента го показва ffsearch, който работи като SMB и FTP паяк в моята мрежа).


Титла: SMBindex
Публикувано от: Hapkoc в Jul 20, 2004, 15:46
zazzko: така е обаче да не забравяме, че при sql-а пак трябва заключване на записи, транзакции и т.н.
Имаше едни проблеми с забиване на mysql-а, които се обсъждаха по-рано в тая тема, не разбрах как са решени и дали са решени, но на мене точно на проблеми с транзакции ми приличаха


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 15:48
Проблема се реши, като пренаписах индексиращата част на Perl... Преди беше на PHP.


Титла: SMBindex
Публикувано от: sunhater в Jul 20, 2004, 17:33
Чаках, чаках, но никой не ми каза че е открил бъг, за който не знам, затова реших да публикувам новата 2.02 версия.


Титла: SMBindex
Публикувано от: DoctorA в Jul 21, 2004, 15:42
sunhater,
ne e zle ve4e da po4ne6 da slaga6 i changelog


Титла: SMBindex
Публикувано от: sunhater в Jul 21, 2004, 18:28
Да, не е зле, и сайт не е зле да има щото не знам кога на админите ще им писне от тази тема и ще я заключат. Ще гледам да слагам changelog занатам.


Титла: SMBindex
Публикувано от: Topper в Jul 22, 2004, 20:45
Сопред мен темата си е за "заковаване" горе във форума, понеже е доста добър opensource и то български, но въпроса за сайта си остава ;">>


Титла: SMBindex
Публикувано от: sunhater в Aug 12, 2004, 02:02
Сайтът вече е онлайн и засега е на адрес smbindex.no-ip.org


Титла: SMBindex
Публикувано от: DoctorA в Aug 12, 2004, 03:54
страхотен сайт , вече ти оставих няколко коментара :) и молба да ги изтриеш :)


Титла: SMBindex
Публикувано от: DoctorA в Aug 12, 2004, 04:03
" вече ти оставих няколко коментара " трябва да се чете като "флооднах ти сайта с тъпи коментари и няколко още по тъпи идеи "


Титла: SMBindex
Публикувано от: Blaky в Apr 06, 2005, 06:19
Още при инсталацията.... има някакви проблеми с mySQL-а

Are you sure about your MySQL answers? [y/n]: y
DBI connect('host=localhost','root',...) failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) at /usr/local/smbindex/db_tables.pl line 34

Версия на Apache: Apache/2.0.53
Версия на mySQL: 4.1.10a-standard