Smb4K is an SMB share browser for KDE. Its features are inspired by Komba2

by Frank Schwanz. It uses the Samba software suite for an easy access
to the SMB shares of your local network neighborhood.

Features so far:

- Scanning for (active) workgroups, hosts, and shares
- Mounting and unmounting of SMB and CIFS shares, including unmounting
  all shares at once
- Access to the files of a mounted SMB or CIFS share using Konqueror
- Auto-detection of external mounts/unmounts
- Remounting of recently used shares on program start
- Miscellaneous infos about the mounted SMB and CIFS shares
- Network search
- WINS server support
- Preview of shares
- Selectable look-up and search methods
- Default login
- Ability to execute mount and umount SUID root (using super or sudo)
- Special handling of homes shares
- Ability to bookmark favorite shares
- And many more :)

WWW: http://smb4k.berlios.de
This commit is contained in:
Josh Paetzel 2011-01-03 16:29:22 +00:00
parent 9663262699
commit ca99a7c61e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=267331
9 changed files with 420 additions and 0 deletions

View file

@ -1018,6 +1018,7 @@
SUBDIR += slirp
SUBDIR += slurm
SUBDIR += smb4k
SUBDIR += smb4k-kde4
SUBDIR += smbldap-tools
SUBDIR += smm++
SUBDIR += sniffit

62
net/smb4k-kde4/Makefile Normal file
View file

@ -0,0 +1,62 @@
# New ports collection makefile for: smb4k-kde4
# Date created: 02 Jan 2011
# Whom: Josh Paetzel <jpaetzel@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= smb4k
PORTVERSION= 0.10.9
CATEGORIES= net kde
MASTER_SITES= ${MASTER_SITE_BERLIOS}
MASTER_SITE_SUBDIR= smb4k
MAINTAINER= jpaetzel@FreeBSD.org
COMMENT= KDE 4.x SMB Network browser and SMB shares mounting center
RUN_DEPENDS= sudo:${PORTSDIR}/security/sudo \
smbstatus:${PORTSDIR}/${SAMBA_PORT}
SAMBA_PORT?= net/samba34
USE_CMAKE= yes
USE_GETTEXT= yes
USE_BZIP2= yes
USE_LDCONFIG= ${PREFIX}/lib ${PREFIX}/lib/kde4
INSTALLS_ICONS= yes
USE_KDE4= kdehier kdeprefix kdelibs automoc4
USE_QT_VER= 4
QT_COMPONENTS= corelib gui network opengl script svg webkit \
qmake_build moc_build rcc_build uic_build phonon
DOCSDIR= ${PREFIX}/share/doc/HTML/en/${PORTNAME}
SUB_FILES= pkg-message
.if defined(WITHOUT_NLS)
NLS= "@comment "
.else
NLS= ""
.endif
PLIST_SUB+= NLS=${NLS}
.if !defined(NOPORTDOCS)
BUILD_DEPENDS+= ${LOCALBASE}/share/xml/docbook/4.2/docbookx.dtd:${PORTSDIR}/textproc/docbook-xml
.endif
pre-configure:
.if defined(WITHOUT_NLS)
${REINPLACE_CMD} -e 's|add_subdirectory( po )|#add_subdirectory( po )|' \
${WRKSRC}/CMakeLists.txt
.endif
.if defined(NOPORTDOCS)
${REINPLACE_CMD} -e 's|add_subdirectory( doc )|#add_subdirectory( doc )|' \
${WRKSRC}/CMakeLists.txt
.endif
post-install:
.for i in smb2awk smb2nsmbrc
${INSTALL_SCRIPT} ${FILESDIR}/${i} ${PREFIX}/bin
.endfor
${INSTALL_DATA} ${FILESDIR}/README.FreeBSD ${DOCSDIR}
@${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>

2
net/smb4k-kde4/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (smb4k-0.10.9.tar.bz2) = 4ea3bdcc67ae3073e08d5819098c84da02d023c234e83a939c804af51bb5c1cb
SIZE (smb4k-0.10.9.tar.bz2) = 1882944

View file

@ -0,0 +1,98 @@
SMB mounting in FreeBSD with SMB4K
----------------------------------
$Id: README.FreeBSD,v 1.3 2004/05/21 12:32:47 shelton Exp $
1. Preface
----------
This document describes, how to coordinate SNB4K (initially Linux-only program)
and FreeBSD implementation of SMBFS. This document assumed, that you already
have working SMBFS in your kernel (see man mount_smbfs(8), FreeBSD Handbook
chapter 9 and an sample kernel config file part below:
#
# SMB/CIFS requester
# NETSMB enables support for SMB protocol, it requires LIBMCHAIN and LIBICONV
# options.
# NETSMBCRYPTO enables support for encrypted passwords.
options NETSMB #SMB/CIFS requester
options NETSMBCRYPTO #encrypted password support for SMB
# mchain library. It can be either loaded as KLD or compiled into kernel
options LIBMCHAIN #mbuf management library
options SMBFS #SMB/CIFS filesystem
# Kernel side iconv library
options LIBICONV
You need all these for working SMBFS) and /etc/nsmb.conf configured properly
(in spite of that nsmb.conf has all variables 'transparent', documentation
about SMBFS tuning in FreeBSD are very, very shy :-( You should setup at least
paremeters "workgroup" and "nbns". As nbns you should set your WINS server
(as called it in Microsoft world).
2. After setup, but before first run
------------------------------------
So, you has just setup SMB4K. What should you do to properly mounting SMB
shares? You should do some things.
a. Remember, that SMB4K didn't mount shares itself. Instead of that, it
called 'smb4k_mount' with some set of parameters: server and share path in
//server/share format, mount point in /home/dir/dir2 format and parameters string,
as expected mount_smbfs. Also, SMB4K didn't umount shares itself. Instead of
this it called 'smb4k_umount' with single parameter - mount point.
b. Before start SMB4K first time, you should setup your .nsmbrc file
properly. For my pity, you must setup each Windows/Samba box in your network
SEPARATELY. No default usernames, no domain logons. Looks sadly, aren't you?
smb2nsmbrc script sligtly takes this job from you. You start smb2nsmbrc, it
called findsmb (of course, you should have findsmb and smbutil in your path),
parsing their output, asks you about username, password and stored file
.nsmbrctmp in current directory with pairs
[SERVERNAME:USERNAME]
password=<encrypted password>
Encryption done with smbutil and ready for use with mount_smbfs. Findsmb takes
your first network interface, so, when you have a box with some network cards,
start smb2nsmbrc with two parameters - network address and broadcast address.
These parameters will passed directly to findsmb. When .nsmbrctmp file already
exist it will added, not replaced! Simply add .nsmbrctmp content to your .nsmbrc
file in your home directory
c. You should have a 'sudo' package. SMB4K detect it and modify sudoers file
3. Inside running SMB4K
-----------------------
When you have done all previous steps properly (it looks quite difficult, but
PLEASE, do not ask me, ask SMBFS developers, why kernel-side support of SMBFS
in FreeBSD is extremely shy, undocumented and forgotten), you should see files in
mounted share, when you click on it in SMB4K window. When you see empty
directory (and really this directory keeps files), check these:
- You should have SMBFS in your kernel
- You should have propelry nsmb.conf
- You should have properly .nsmbrc (keep in mind - all server and user names
in UPPER case!) with presented pairs [server:user] about EACH server and
EACH user (so, when you have two logins alice and bob and two server alpha
and beta, you should have 4 entries in .nsmbrc - [ALICE:ALPHA], [ALICE:BETA],
[BOB:ALPHA] and [BOB:BETA]).
When all these has been done, but mount unsuccesful, try to mount this share
manually. Also you can uncomment string
echo $@ > /tmp/somefile
at start of smbmount script and looks, how passed a mount arguments in file
/tmp/somefile.
4. Feedback
-----------
All these scripts and this readme file were written by Rashid N. Achilov
(shelton@granch.ru). So, you can ask me about their working and also about
any other SMB shares mounting errors, but keep in mind - I'm NOT A SMBFS
DEVELOPER, I know nothing about internal technic of kernel-side support
of SMBFS under FreeBSD. To ask with serious problems, please mail to SMB developer:
Boris Popov <bp@freebsd.org>.

View file

@ -0,0 +1,22 @@
***********************************************************
Please, read %%PREFIX%%/share/doc/HTML/en/smb4k/README.FreeBSD
*B*E*F*O*R*E* the FIRST RUN of SMB4K!
In order to run SMB4K properly, be sure that:
1. Your kernel is configured properly
2. Your /etc/nsmb.conf file is configured properly
3. Your .nsmbrc file is configured properly (this means, that
the password to *ANY* server in your network is recorded in
this file. For semi-automatic creation of .nsmbrc you can use
the smb2nsmbrc script)
Keep in mind, that:
1. SMB4K only calls smb4k_mount and smb4k_umount programs.
2. You can use the scripts that come with the port or create
your own.
3. DO NOT DISTURB ME ABOUT FreeBSD's SMB IMPLEMENTATION!
************************************************************

View file

@ -0,0 +1,30 @@
#!/usr/bin/awk -f
# AWK part for generating Windows/Samba boxes list in .nsmbrc format
# Incoming - findsmb output, outgoing - NetBIOS names list
# $Id: smb2awk,v 1.2 2003/10/30 09:41:10 shelton Exp $
{
while ((getline nline) > 0)
{
if (substr(nline,1,1) == "-")
{
sig = 1
continue
}
if (sig == 0)
continue
else
{
split(nline,narray," ")
if (narray[2] == "unknown")
next
else
if (index(narray[2],".") != 0)
next
else
print narray[2]
}
}
}

View file

@ -0,0 +1,43 @@
#!/bin/sh
# Convert list of Windows/Samba boxes in local network to .nsmbrc format
# Args, if any passed directly to findsmb - network address and broadcast address
# $Id: smb2nsmbrc,v 1.4 2004/08/05 06:50:32 shelton Exp $
find="findsmb" # Script to display boxes list
util="smbutil" # Utility to convert plaintext password to hashed
outfile=".nsmbrctmp" # Generated file name
# First, we check on presence findsmb
wfind=`whereis -b $find | awk '{print $2}'`
if [ -z $wfind ]; then
echo FindSMB did not found in your system, please install samba package first
exit 5
fi
# Second, we check on presence smbutil
wutil=`whereis -b $util | awk '{print $2}'`
if [ -z $wfind ]; then
echo SMBUtil did not found in your system, please install samba package first
exit 5
fi
# Now we ask username
echo -n "Please enter username (UPPER CASE!): "
read username
# Now we ask password and crypt by smbutil
password=`$util crypt`
# Now we detect all Windows/Samba boxes and taking their NetBIOS names
netnames=`findsmb $1 $2 | awk -f /usr/local/bin/smb2awk`
# And at least we generating temporarly file with username, password and
# sections for all detected boxes
for netname in $netnames
do
echo "[$netname:$username]" >> $outfile
echo "password=$password" >> $outfile
echo "" >> $outfile
done

24
net/smb4k-kde4/pkg-descr Normal file
View file

@ -0,0 +1,24 @@
Smb4K is an SMB share browser for KDE. Its features are inspired by Komba2
by Frank Schwanz. It uses the Samba software suite for an easy access
to the SMB shares of your local network neighborhood.
Features so far:
- Scanning for (active) workgroups, hosts, and shares
- Mounting and unmounting of SMB and CIFS shares, including unmounting
all shares at once
- Access to the files of a mounted SMB or CIFS share using Konqueror
- Auto-detection of external mounts/unmounts
- Remounting of recently used shares on program start
- Miscellaneous infos about the mounted SMB and CIFS shares
- Network search
- WINS server support
- Preview of shares
- Selectable look-up and search methods
- Default login
- Ability to execute mount and umount SUID root (using super or sudo)
- Special handling of homes shares
- Ability to bookmark favorite shares
- And many more :)
WWW: http://smb4k.berlios.de

138
net/smb4k-kde4/pkg-plist Normal file
View file

@ -0,0 +1,138 @@
bin/smb2awk
bin/smb2nsmbrc
bin/smb4k
bin/smb4k_kill
bin/smb4k_mount
bin/smb4k_sudowriter
bin/smb4k_umount
share/applications/kde4/smb4k.desktop
share/apps/kconf_update/authentication1.sh
share/apps/kconf_update/network1.sh
share/apps/kconf_update/network2.sh
share/apps/kconf_update/samba1.sh
share/apps/kconf_update/smb4ksettings.upd
share/apps/kconf_update/userinterface1.sh
share/apps/smb4k/smb4knetworkbrowser_part.rc
share/apps/smb4k/smb4ksearchdialog_part.rc
share/apps/smb4k/smb4ksharesview_part.rc
share/apps/smb4k/smb4k_shell.rc
share/config.kcfg/smb4k.kcfg
%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD
%%PORTDOCS%%%%DOCSDIR%%/common
%%PORTDOCS%%%%DOCSDIR%%/configuration_authentication.png
%%PORTDOCS%%%%DOCSDIR%%/configuration_network.png
%%PORTDOCS%%%%DOCSDIR%%/configuration_samba.png
%%PORTDOCS%%%%DOCSDIR%%/configuration_shares.png
%%PORTDOCS%%%%DOCSDIR%%/configuration_superuser.png
%%PORTDOCS%%%%DOCSDIR%%/configuration_synchronization.png
%%PORTDOCS%%%%DOCSDIR%%/configuration_user_interface.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_authentication.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_bookmark_editor.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_config_file_removal.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_custom_options.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_manual_mount.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_question_force_unmounting.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_preview.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_print_file.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_synchronization_input.png
%%PORTDOCS%%%%DOCSDIR%%/dialog_synchronization_progress.png
%%PORTDOCS%%%%DOCSDIR%%/error_programs_missing.png
%%PORTDOCS%%%%DOCSDIR%%/index.cache.bz2
%%PORTDOCS%%%%DOCSDIR%%/index.docbook
%%PORTDOCS%%%%DOCSDIR%%/main_window.png
%%PORTDOCS%%%%DOCSDIR%%/network_neighborhood_browser.png
%%PORTDOCS%%%%DOCSDIR%%/network_search_dialog.png
%%PORTDOCS%%%%DOCSDIR%%/plugin_full_view.png
%%PORTDOCS%%%%DOCSDIR%%/plugin_inclusion.png
%%PORTDOCS%%%%DOCSDIR%%/popup_menu_bookmarks.png
%%PORTDOCS%%%%DOCSDIR%%/popup_menu_browser.png
%%PORTDOCS%%%%DOCSDIR%%/popup_menu_network_search.png
%%PORTDOCS%%%%DOCSDIR%%/popup_menu_shares_view.png
%%PORTDOCS%%%%DOCSDIR%%/toolbar_main_window.png
%%PORTDOCS%%%%DOCSDIR%%/toolbar_network_browser.png
%%PORTDOCS%%%%DOCSDIR%%/toolbar_shares_view.png
%%PORTDOCS%%%%DOCSDIR%%/toolbar_search_dialog.png
%%PORTDOCS%%%%DOCSDIR%%/shares_list_view.png
%%PORTDOCS%%%%DOCSDIR%%/shares_icon_view.png
%%PORTDOCS%%%%DOCSDIR%%/shares_view_icons.png
%%PORTDOCS%%%%DOCSDIR%%/system_tray_icon.png
%%PORTDOCS%%%%DOCSDIR%%/system_tray_icon_popup_menu.png
share/icons/hicolor/128x128/apps/smb4k.png
share/icons/hicolor/16x16/apps/smb4k.png
share/icons/hicolor/22x22/apps/smb4k.png
share/icons/hicolor/32x32/apps/smb4k.png
share/icons/hicolor/48x48/apps/smb4k.png
share/icons/hicolor/64x64/apps/smb4k.png
share/icons/oxygen/128x128/apps/smb4k.png
share/icons/oxygen/16x16/apps/smb4k.png
share/icons/oxygen/22x22/apps/smb4k.png
share/icons/oxygen/32x32/apps/smb4k.png
share/icons/oxygen/48x48/apps/smb4k.png
share/icons/oxygen/64x64/apps/smb4k.png
%%NLS%%share/locale/bg/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/cs/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/da/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/de/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/es/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/fr/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/hu/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/is/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/it/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/ja/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/nb/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/nl/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/pl/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/pt/LC_MESSAGES/pt.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/ru/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/sk/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/sv/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/tr/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/uk/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/smb4k.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/smb4k.mo
lib/kde4/libsmb4kconfigdialog.so
lib/kde4/libsmb4knetworkbrowser.so
lib/kde4/libsmb4ksharesview.so
lib/kde4/libsmb4ksearchdialog.so
lib/libsmb4kcore.so.3.2.0
lib/libsmb4kcore.so.3
lib/libsmb4kcore.so
lib/libsmb4kdialogs.so
@dirrmtry share/apps/kconf_update
@dirrm share/apps/smb4k
@dirrmtry share/apps
@dirrmtry share/config.kcfg
@dirrmtry share/doc/HTML/en/smb4k
@dirrmtry share/doc/HTML/en
@dirrmtry share/doc/HTML
@dirrmtry share/doc
@dirrmtry share/icons/oxygen/128x128/apps
@dirrmtry share/icons/oxygen/128x128
@dirrmtry share/icons/oxygen/16x16/apps
@dirrmtry share/icons/oxygen/16x16
@dirrmtry share/icons/oxygen/22x22/apps
@dirrmtry share/icons/oxygen/22x22
@dirrmtry share/icons/oxygen/32x32/apps
@dirrmtry share/icons/oxygen/32x32
@dirrmtry share/icons/oxygen/48x48/apps
@dirrmtry share/icons/oxygen/48x48
@dirrmtry share/icons/oxygen/64x64/apps
@dirrmtry share/icons/oxygen/64x64
@dirrmtry share/icons/oxygen
@dirrmtry share/icons
@dirrmtry share/locale
@dirrmtry lib/kde4
@dirrmtry lib
@dirrmtry share
@dirrmtry bin