What it's :
GBP ( Gsfdm Browser Plugin ) is a plugin for internet browser - netscape,
mozilla - that intercept url of mime type it's configured for, and send
these urls to the external downloader GSFDM throw CORBA bus. It's aim first
to 'pirate' url from embled / streamed form. When running it ( must, other
case it seg fault... ) do all the job, from requesting configuration, getting
/ starting Corba name server to starting also gsfdm by itself. Read further
for plain informations.
Build / Install :
The soft use autoconf. You must be use to this. In other case :
in top source directory, type "./configure ". This
will check you system and automatically configure it.
type " make " : This will build of files
type " make install " : Install automatically. Read
further before doing it.
There currently 3 options for configure :
--enable-debug : Dump on /dev/console some messages
about what the GBP is doing. ( default OFF ).
--disable-imlib : Tell GBP NOT to use imlib2 for
displaying a logo in place of embled window. In othetr case, print a simple
message. ( default OFF, Auto probe ).
--use-mozilla : By default, will check for both
netscape and mozilla, installing in each directory. Tell autoconf not to
include netscape support ( default OFF )
There 2 parts for the soft :
gsfdm_browser_plug.so : the plugin. Must
by in a "plugins" directory ( ~/.netscape/plugins, /usr/lib/mozilla/plugins
... )
gsfdm_browser_plug_conf : a simple gtk interface
for easily configure the soft ( see configuring
). Must be somewhere in your PATH ( /usr/bin, /usr/local/bin ... ).
Default places :
- exe go in /usr/local/bin.
- lib in
/usr/local/lib/<netscape /
mozilla>/plugins. Currently the conf is unable to automatically install
for both netscape and mozilla if there not in the some root ( for ex :
/usr/bin and /usr/local/bin ). The conf neither check for browsers places.
If there in /usr, you have to override it in configure ( --prefix=<your
root place> ).
- doc and logo in /usr/local/doc/gsfdm_browser_plug.
Nota : GBP will look for logo in place it what build to.
Require :
Orbit >= 0.5.3
Glib >= 1.2.6 ( dependencies from orbit )
Optional : Imlib2 >= 1.0.5 ( rendering of
logo )
Optional : Gnome-core ( Displaying messages to user
throw gnome_dialog tool )
Configuring :
-The best way is to use the soft I provide. It create the configuration
file for you, and fill it with default handled mime the first time it is
runned. If you not hurry, you can also let the plugin call the configuration
tool for you, what it bound to do if it can't found the configuration file.
-If this doesn't fit to you, here the place and form for configuration
:
- place : ~/gsfdm_browser_plug.cfg
- format : one rule per line. NO space between
token and value, case SENSITIVE.
|
|
|
MIME= | new mime, fully formated <mime>:<exe>:<description> | MIME=video/x-ms-asf:asf,asx,*:Media Files |
DLG= | use gnome dialog(1) or status bar (0) | DLG=0 |
-If a token match nothing, simple dismiss. NO check in mitmatch in data
- the default conf :
MIME=video/x-ms-asf-plugin:*:Media Files
MIME=video/x-ms-asf:asf,asx,*:Media Files
MIME=application/asx:*:Media Files
MIME=video/x-ms-wvx:*:Media Files
MIME=video/x-ms-wmv:*:Media Files
MIME=video/x-ms-wax:*:Media Files
MIME=video/x-ms-wma:*:Media Files
MIME=video/x-ms-wm:*:Media Files
DLG=0
Using the GUI :
-You should be looking at something like that :
-Nota : The fist time the gui is launched, fields are
fileld with default mime.
-Nothing special, click on buttons (...). The soft will warm you for
duplicated mime in THIS database ( I meen mime handled by plugin ). It
can't inform you for a mime defined in netscape preferences.
For full desciption on a mime, click "Edit" button, this show the dlg
below ( Also with "Add" button ).
- Edit fields you want. The "Mime" field is read/write only the fist
time, when clicked "Add' button.
- If duplicated mime, you will be warned.
- Mime : mime key
- Suffixes : list of suffixes, comma separed, no dot
- Description : whatever you want
- "Use Gnome Dialog ... " : display messages using gnome_dialog, an external soft ( from gnome-core pack ) instead of using the browser status bar. Nota : many times, the status bar is unavailable. GBP will ( try ) use dialog.
- "Submit" update conf on disk, every NEW instance of plugin, e.i. html page that use it, will use the new configuration.
How the plug work :
-At every new instance from browser, the plug load its configuration,
dynamically provide infomations like mime handled to browser. That meen
new instance of plug will directly use changes you may have done on configuration
but that also meen you May have sometime to reload the page you looking
at, the instance of plug for this page still beeing on old conf.
The plug use plain CORBA for communication with downloader. You don't
have to take care of starting something. When requested for new instance,
it check for Corba name server. If it can't found it, Start it. Warm in
case of error. It also connect to a running gsfdm servant. Start it in
case and send url.
Don't warry. This meen there were an user exception, send by servant,
in responces of bad url, bad protocol, deny an url ( already in list ),
an user cancel...
Here, this url is already in list, Gsfdm deny it without prompting,
GBP inform for exception.
Know Bugs :
-Sometime, Corba name servant doesn't see a running Gsfdm servant,
allowing start of a new one. It's a corba bug.
-Netscape doesn't register the mime : "video/x-ms-asf-plugin".
Mozilla doen't care, so if you want to get files of this types ( in fact
all embled to asf/asx in internet..), you have to use mozilla instead.
-Sometime plug's window doesn't refresh its state. Not important.
- Crash when loading a page : Could happen if no corba name
server are running, there is still a property defined, without valid target
( for exemple after a crash of gnome-name-server ). Try starting
gnome-name-server ( or any other orbit / corba soft : gsfdm ) by yourself.
Contact :
Concept and code : j.a.l@free.fr