ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/BBClone/trunk/lib/browser.php
Revision: 406
Committed: Sat Dec 25 12:27:28 2021 UTC (2 years, 11 months ago) by matthys
File size: 43101 byte(s)
Log Message:
Update detection for MS Edge (Edg)

File Contents

# User Rev Content
1 joku 63 <?php
2     /* This file is part of BBClone (A PHP based Web Counter on Steroids)
3     *
4     * SVN FILE $Id$
5     *
6 joku 405 * Copyright (C) 2001-2022, the BBClone Team (see doc/authors.txt for details)
7 joku 63 *
8     * This program is free software: you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License as published by
10     * the Free Software Foundation, either version 3 of the License, or
11     * (at your option) any later version.
12     *
13     * This program is distributed in the hope that it will be useful,
14     * but WITHOUT ANY WARRANTY; without even the implied warranty of
15     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16     * GNU General Public License for more details.
17     *
18     * See doc/copying.txt for details
19     */
20    
21     ///////////////////////
22     // Browser Detection //
23     ///////////////////////
24    
25     $browser = array(
26     "1X" => array(
27     "icon" => "question",
28     "title" => "1X",
29     "rule" => array(
30     "^Science Traveller International 1X[ /]([0-9.]{1,10})" => "\\1",
31     ),
32     "uri" => "http://jansfreeware.com/jfinternet.htm"
33     ),
34     "abolimba" => array(
35     "icon" => "question",
36     "title" => "Abolimba",
37     "rule" => array(
38     "www.abolimba.de" => ""
39     ),
40     "uri" => "http://www.abolimba.de"
41     ),
42     "abrowse" => array(
43     "icon" => "abrowse",
44     "title" => "ABrowse",
45     "rule" => array(
46     "abrowse[ /\-]([0-9.]{1,10})" => "\\1",
47     "^abrowse" => ""
48     ),
49     "uri" => "http://abrowse.sourceforge.net/"
50     ),
51     "ace" => array(
52     "icon" => "ace",
53     "title" => "Ace Explorer",
54     "rule" => array(
55     "^Ace Explorer" => ""
56     ),
57     "uri" => "http://www.aceexplorer.com/"
58     ),
59     "acorn" => array(
60     "icon" => "question",
61     "title" => "Acorn Browser",
62     "rule" => array(
63     "Acorn (Browse|Phoenix)[ /]([0-9.]{1,10})" => "\\1"
64     ),
65     "uri" => "http://www.vigay.com/inet/acorn/browse-html.html"
66     ),
67     "acoo" => array(
68     "icon" => "acoo",
69     "title" => "Acoo",
70     "rule" => array(
71     "ACOO BROWSER" => ""
72     ),
73     "uri" => "http://www.acoobrowser.com/"
74     ),
75     "activeworlds" => array(
76     "icon" => "question",
77     "title" => "ActiveWorlds",
78     "rule" => array(
79     "Activeworlds[ /]([0-9.]{1,10})" => "\\1",
80     "Activeworlds" => ""
81     ),
82     "uri" => ""
83     ),
84     "akregator" => array(
85     "icon" => "akregator",
86     "title" => "Akregator",
87     "rule" => array(
88     "akregator/([0-9.]{1,10})" => "\\1"
89     ),
90     "uri" => "http://akregator.kde.org/"
91     ),
92     "amaya" => array(
93     "icon" => "amaya",
94     "title" => "Amaya",
95     "rule" => array(
96     "amaya/([0-9.]{1,10})" => "\\1"
97     ),
98     "uri" => "http://www.w3c.org/amaya/"
99     ),
100     "annotate_google" => array(
101     "icon" => "question",
102     "title" => "annotate_google",
103     "rule" => array(
104     "^annotate_google" => "\\1"
105     ),
106     "uri" => "http://ponderer.org/download/annotate_google.user.js"
107     ),
108     "ant" => array(
109     "icon" => "ant",
110     "title" => "ANTFresco",
111     "rule" => array(
112     "ANTFresco[ /]([0-9.]{1,10})" => "\\1"
113     ),
114     "uri" => ""
115     ),
116     "aol" => array(
117     "icon" => "aol",
118     "title" => "AOL",
119     "rule" => array(
120     "aol[ /\-]([0-9.]{1,10})" => "\\1",
121     "America Online Browser[ /]([0-9.]{1,10}).*rev([0-9.]{1,10})" => "\\1",
122     "aol[ /\-]?browser" => "",
123     "AOL-IWENG ([0-9.]{1,10})" => "\\1",
124     "ADM[ /]([0-9.]{1,10})" => "\\1"
125     ),
126     "uri" => "http://www.aol.com"
127     ),
128     "aplix" => array(
129     "icon" => "question",
130     "title" => "Aplix",
131     "rule" => array(
132     "^Aplix HTTP[ /]([0-9.]{1,10})" => "\\1",
133     "^Aplix_(SANYO|SEGASATURN)_browser[ /]([0-9.]{1,10})" => "\\2"
134     ),
135     "uri" => ""
136     ),
137     "arora" => array(
138     "icon" => "arora",
139     "title" => "Arora",
140     "rule" => array(
141     "Arora[ /]([0-9.]{1,10})" => "\\1"
142     ),
143     "uri" => "http://www.arora-browser.org/"
144     ),
145     "avantbrowser" => array(
146     "icon" => "avantbrowser",
147     "title" => "Avant Browser",
148     "rule" => array(
149     "Avant[ ]?Browser" => ""
150     ),
151     "uri" => "http://www.avantbrowser.com/"
152     ),
153     "avantgo" => array(
154     "icon" => "avantgo",
155     "title" => "AvantGo",
156     "rule" => array(
157     "AvantGo[ /]([0-9.]{1,10})" => "\\1"
158     ),
159     "uri" => "http://www.avantgo.com/frontdoor/"
160     ),
161     "aweb" => array(
162     "icon" => "aweb",
163     "title" => "Aweb",
164     "rule" => array(
165     "Amiga-Aweb[/ ]([0-9.]{1,10})" => "\\1",
166     "Aweb[/ ]([0-9.]{1,10})" => "\\1",
167     "^AWeb" => ""
168     ),
169     "uri" => "http://aweb.sunsite.dk/"
170     ),
171     "babya" => array(
172     "icon" => "question",
173     "title" => "Babya Discoverer",
174     "rule" => array(
175     "Babya Discoverer ([0-9.]{1,10})" => "\\1"
176     ),
177     "uri" => ""
178     ),
179     "barca" => array(
180     "icon" => "question",
181     "title" => "Barca",
182     "rule" => array(
183     "Barca(Pro)?[ /]([0-9.]{1,10})" => "\\2"
184     ),
185     "uri" => ""
186     ),
187     "beonex" => array(
188     "icon" => "beonex",
189     "title" => "Beonex",
190     "rule" => array(
191     "beonex/([0-9.]{1,10})" => "\\1"
192     ),
193     "uri" => ""
194     ),
195     "bezillabrowser" => array(
196     "icon" => "bezillabrowser",
197     "title" => "BeZillaBrowser",
198     "rule" => array(
199     "BeZillaBrowser/([0-9.+]{1,10})" => "\\1"
200     ),
201     "uri" => "http://www.bezilla.org/"
202     ),
203     "biyubi" => array(
204     "icon" => "question",
205     "title" => "Biyubi",
206     "rule" => array(
207     "^Biyubi/([0-9.]{1,10})" => "\\1"
208     ),
209     "uri" => ""
210     ),
211     "blackberry" => array(
212     "icon" => "blackberry",
213     "title" => "BlackBerry",
214     "rule" => array(
215     "^BlackBerry.*?/([0-9.]{1,10})" => "\\1"
216     ),
217     "uri" => "http://www.blackberry.com/"
218     ),
219     "blazer" => array(
220     "icon" => "blazer",
221     "title" => "Blazer",
222     "rule" => array(
223     "Blazer[/ ]([0-9.]{1,10})" => "\\1"
224     ),
225     "uri" => ""
226     ),
227     "bluefish" => array(
228     "icon" => "bluefish",
229     "title" => "BlueFish",
230     "rule" => array(
231     "bluefish[/ ]([0-9.]{1,10})" => "\\1"
232     ),
233     "uri" => "http://bluefish.openoffice.nl/"
234     ),
235     "browsex" => array(
236     "icon" => "browsex",
237     "title" => "BrowseX",
238     "rule" => array(
239     "BrowseX.*\(([0-9.]{1,10})" => "\\1"
240     ),
241     "uri" => "http://www.browsex.com/"
242     ),
243     "camino" => array(
244     "icon" => "camino",
245     "title" => "Camino",
246     "rule" => array(
247     "camino/([0-9.+]{1,10})" => "\\1"
248     ),
249     "uri" => "http://www.mozilla.org/projects/camino/"
250     ),
251     "checkandget" => array(
252     "icon" => "checkandget",
253     "title" => "Check&Get",
254     "rule" => array(
255     "Check\&Get[/ ]([0-9.]{1,10})" => "\\1"
256     ),
257     "uri" => "http://activeurls.com/"
258     ),
259     "chimera" => array(
260     "icon" => "chimera",
261     "title" => "Chimera",
262     "rule" => array(
263     "chimera/([0-9.+]{1,10})" => "\\1"
264     ),
265     "uri" => "http://www.chimera.org/"
266     ),
267     "cometbird" => array(
268     "icon" => "cometbird",
269     "title" => "CometBird",
270     "rule" => array(
271     "CometBird[ /]([0-9.]{1,10})" => "\\1"
272     ),
273     "uri" => "http://www.cometbird.com/"
274     ),
275     "compuserve" => array(
276     "icon" => "question",
277     "title" => "CompuServe",
278     "rule" => array(
279     "CS 2000 ([0-9.]{1,10})" => "\\1"
280     ),
281     "uri" => "http://www.compuserve.com/"
282     ),
283     "contiki" => array(
284     "icon" => "question",
285     "title" => "Contiki",
286     "rule" => array(
287     "^Contiki[ /]([0-9.]{1,10})" => "\\1"
288     ),
289     "uri" => "http://www.sics.se/~adam/contiki/apps/webbrowser.html"
290     ),
291     "columbus" => array(
292     "icon" => "columbus",
293     "title" => "Columbus",
294     "rule" => array(
295     "columbus[ /]([0-9.]{1,10})" => "\\1"
296     ),
297     "uri" => ""
298     ),
299     "crazybrowser" => array(
300     "icon" => "crazybrowser",
301     "title" => "Crazy Browser",
302     "rule" => array(
303     "Crazy Browser[ /]([0-9.]{1,10})" => "\\1"
304     ),
305     "uri" => "http://www.crazybrowser.com/"
306     ),
307     "cruz" => array(
308     "icon" => "cruz",
309     "title" => "Cruz",
310     "rule" => array(
311     "Cruz[ /]([0-9.]{1,10})" => "\\1"
312     ),
313     "uri" => "http://www.cruzapp.com"
314     ),
315     "curl" => array(
316     "icon" => "curl",
317     "title" => "Curl",
318     "rule" => array(
319     "curl[ /]([0-9.]{1,10})" => "\\1"
320     ),
321     "uri" => "http://curl.haxx.se/"
322     ),
323     "cuteftp" => array(
324     "icon" => "question",
325     "title" => "Cute FTP",
326     "rule" => array(
327     "Cute FTP .*[ /]([0-9.]{1,10})" => "\\1"
328     ),
329     "uri" => ""
330     ),
331     "cyberdog" => array(
332     "icon" => "question",
333     "title" => "Cyberdog",
334     "rule" => array(
335     "^Cyberdog[ /]([0-9.]{1,10})" => "\\1"
336     ),
337     "uri" => "http://www.cyberdog.org/"
338     ),
339     "deepnet" => array(
340     "icon" => "deepnet",
341     "title" => "Deepnet Explorer",
342     "rule" => array(
343     "Deepnet Explorer[/ ]([0-9.]{1,10})" => "\\1",
344     " Deepnet Explorer[\);]" => ""
345     ),
346     "uri" => "http://www.deepnetexplorer.com/"
347     ),
348     "demeter" => array(
349     "icon" => "demeter",
350     "title" => "Demeter",
351     "rule" => array(
352     "Demeter[ /]([0-9.]{1,10})" => "\\1",
353     "Demeter" => ""
354     ),
355     "uri" => "http://www.hurrikenux.com/demeter/"
356     ),
357     "democracy" => array(
358     "icon" => "question",
359     "title" => "Democracy",
360     "rule" => array(
361     "Democracy[/ ]([0-9.]{1,10})" => "\\1"
362     ),
363     "uri" => "http://www.getdemocracy.com/"
364     ),
365     "dillo" => array(
366     "icon" => "dillo",
367     "title" => "Dillo",
368     "rule" => array(
369     "dillo/([0-9.]{1,10})" => "\\1"
370     ),
371     "uri" => "http://www.dillo.org/"
372     ),
373     "divx" => array(
374     "icon" => "dillo",
375     "title" => "DivX Player",
376     "rule" => array(
377     "DivX Player[ /]([0-9.]{1,10})" => "\\1"
378     ),
379     "uri" => ""
380     ),
381     "dolfin" => array(
382     "icon" => "dolfin",
383     "title" => "Dolfin",
384     "rule" => array(
385     "Dolfin[ /]([0-9.]{1,10})" => "\\1"
386     ),
387     "uri" => "http://www.bada.com/"
388     ),
389     "doczilla" => array(
390     "icon" => "doczilla",
391     "title" => "DocZilla",
392     "rule" => array(
393     "DocZilla/([0-9.]{1,10})" => "\\1"
394     ),
395     "uri" => "http://www.doczilla.com/"
396     ),
397     "donut" => array(
398     "icon" => "donut",
399     "title" => "Donut RAPT",
400     "rule" => array(
401     "Donut RAPT[/ ]#?([0-9.]{1,10})" => "\\1"
402     ),
403     "uri" => ""
404     ),
405     "donutp" => array(
406     "icon" => "question",
407     "title" => "Donut P",
408     "rule" => array(
409     "^DonutP" => "\\1"
410     ),
411     "uri" => ""
412     ),
413     "dooble" => array(
414     "icon" => "dooble",
415     "title" => "Dooble",
416     "rule" => array(
417     "Dooble/([0-9.]{1,10})" => "\\1"
418     ),
419     "uri" => "http://dooble.sourceforge.net/"
420     ),
421     "doris" => array(
422     "icon" => "doris",
423     "title" => "Doris",
424     "rule" => array(
425     "Doris/([0-9.]{1,10})" => "\\1"
426     ),
427     "uri" => ""
428     ),
429     "dreampassport" => array(
430     "icon" => "dreamcast",
431     "title" => "DreamPassport",
432     "rule" => array(
433     "\(SonicPassport\)" => "",
434     "\(Dream(Passport|Key)[ /]([0-9.]{1,10})\)" => "\\1",
435     "\(Dream(Passport|Key)[ /]([0-9.]{1,10}); ([A-Z.a-z/]{1,50})\)" => "\\1",
436     "\(Planetweb[ /]([0-9.a-z]{1,10})" => "\\1"
437     ),
438     "uri" => "http://css.vis.ne.jp/dp-agent.shtml"
439     ),
440     "dxbrowser" => array(
441     "icon" => "question",
442     "title" => "DX-Browser",
443     "rule" => array(
444     "DX-Browser ([0-9.]{1,10})" => "\\1"
445     ),
446     "uri" => "http://www.wankoo.org/index.php?page=Software.DXBrowser"
447     ),
448     "edbrowse" => array(
449     "icon" => "question",
450     "title" => "edbrowse",
451     "rule" => array(
452     "edbrowse/([0-9.]{1,10})" => "\\1"
453     ),
454     "uri" => "http://www.eklhad.net/linux/app/"
455     ),
456 joku 354 "edge" => array(
457     "icon" => "edge",
458     "title" => "Edge",
459     "rule" => array(
460 matthys 406 "Edge/([0-9.]{1,10})" => "\\1",
461     "Edg/([0-9.]{1,10})" => "\\1"
462 joku 354 ),
463     "uri" => "http://www.microsoft.com/"
464     ),
465 joku 63 "elinks" => array(
466     "icon" => "links",
467     "title" => "ELinks",
468     "rule" => array(
469     "ELinks[ /][\(]*([0-9.]{1,10})" => "\\1"
470     ),
471     "uri" => "http://elinks.or.cz/"
472     ),
473     "emacs" => array(
474     "icon" => "question",
475     "title" => "Emacs/w3s",
476     "rule" => array(
477     "Emacs-W3/([0-9.]{1,10}(pre)?)" => "\\1"
478     ),
479     "uri" => "http://www.gnu.org/software/w3/"
480     ),
481     "endo" => array(
482     "icon" => "endo",
483     "title" => "endo",
484     "rule" => array(
485     "^endo/([0-9.]{1,10})" => "\\1"
486     ),
487     "uri" => "http://kula.jp/endo"
488     ),
489     "epiphany" => array(
490     "icon" => "epiphany",
491     "title" => "Epiphany",
492     "rule" => array(
493     "Epiphany/([0-9.]{1,10})" => "\\1",
494     "epiphany-webkit" => ""
495     ),
496     "uri" => "http://www.gnome.org/projects/epiphany/"
497     ),
498     "eudoraweb" => array(
499     "icon" => "mobile",
500     "title" => "EudoraWeb",
501     "rule" => array(
502     "EudoraWeb[ /]([0-9.]{1,10})" => "\\1"
503     ),
504     "uri" => "http://www.eudora.com/internetsuite/eudoraweb.html"
505     ),
506     "fennec" => array(
507     "icon" => "fennec",
508     "title" => "Fennec",
509     "rule" => array(
510     "Fennec[ /]([0-9.a-z]{1,10})" => "\\1"
511     ),
512     "uri" => "http://www.mozilla.org/projects/fennec/1.0a2/releasenotes/"
513     ),
514     "firebird" => array(
515     "icon" => "firebird",
516     "title" => "Firebird",
517     "rule" => array(
518     "Firebird( Browser)?/([0-9.+]{1,10})" => "\\2"
519     ),
520     "uri" => "http://www.mozilla.org/"
521     ),
522     "firescape" => array(
523     "icon" => "firescape",
524     "title" => "Firescape",
525     "rule" => array(
526     "Firescape/([0-9.+]{1,10})" => "\\1"
527     ),
528     "uri" => ""
529     ),
530     "flock" => array(
531     "icon" => "flock",
532     "title" => "Flock",
533     "rule" => array(
534     "Flock/([0-9a-z.]{1,10})" => "\\1",
535     "Sulfur/([0-9a-z.]{1,10})" => "\\1"
536     ),
537     "uri" => "http://www.flock.com/"
538     ),
539     "fluid" => array(
540     "icon" => "fluid",
541     "title" => "Fluid",
542     "rule" => array(
543     "Fluid[ /]([0-9.]{1,10})" => "\\1"
544     ),
545     "uri" => "http://www.fluidapp.com"
546     ),
547     "freshdownload" => array(
548     "icon" => "freshdownload",
549     "title" => "FreshDownload",
550     "rule" => array(
551     "FreshDownload/([0-9.]{1,10})" => "\\1"
552     ),
553     "uri" => "http://www.freshdevices.com/"
554     ),
555     "frontpage" => array(
556     "icon" => "frontpage",
557     "title" => "Frontpage",
558     "rule" => array(
559     "FrontPage[ /]([0-9.+]{1,10})" => "\\1"
560     ),
561     "uri" => "http://www.microsoft.com/"
562     ),
563     "galeon" => array(
564     "icon" => "galeon",
565     "title" => "Galeon",
566     "rule" => array(
567     "galeon/([0-9.]{1,10})" => "\\1"
568     ),
569     "uri" => "http://galeon.sourceforge.net/"
570     ),
571     "hgrepurl" => array(
572     "icon" => "oreilly",
573     "title" => "O'Reilly tutorial",
574     "rule" => array(
575     "hgrepurl/([0-9.]{1,10})" => "\\1"
576     ),
577     "uri" => "http://www.oreilly.com/openbook/webclient/"
578     ),
579     "hotjava" => array(
580     "icon" => "hotjava",
581     "title" => "HotJava",
582     "rule" => array(
583     "^HotJava[ /]([0-9.]{1,10})" => "\\1"
584     ),
585     "uri" => "http://java.sun.com/products/archive/hotjava/index.html"
586     ),
587     "hv3" => array(
588     "icon" => "question",
589     "title" => "Hv3",
590     "rule" => array(
591     " Hv3[ /]([0-9.a-z]{1,10})" => "\\1"
592     ),
593     "uri" => "http://tkhtml.tcl.tk/hv3.html"
594     ),
595     "ibis" => array(
596     "icon" => "question",
597     "title" => "ibisBrowser",
598     "rule" => array(
599     "ibisBrowser" => ""
600     ),
601     "uri" => ""
602     ),
603     "ibrowse" => array(
604     "icon" => "ibrowse",
605     "title" => "IBrowse",
606     "rule" => array(
607     "ibrowse[ /]([0-9.]{1,10})" => "\\1"
608     ),
609     "uri" => "http://www.ibrowse-dev.net/"
610     ),
611     "icab" => array(
612     "icon" => "icab",
613     "title" => "iCab",
614     "rule" => array(
615     "icab[/ ]([0-9.]{1,10})" => "\\1"
616     ),
617     "uri" => "http://www.icab.de/"
618     ),
619     "ice" => array(
620     "icon" => "ice",
621     "title" => "ICEbrowser",
622     "rule" => array(
623     "ICE[ ]?Browser/v?([0-9._]{1,10})" => "\\1"
624     ),
625     "uri" => "http://www.borland.com/jbuilder/"
626     ),
627     "iceape" => array(
628     "icon" => "iceape",
629     "title" => "Iceape",
630     "rule" => array(
631     "Iceape/([0-9a-z.]{1,10})" => "\\1"
632     ),
633     "uri" => "http://packages.debian.org/source/iceape"
634     ),
635     "icecat" => array(
636     "icon" => "icecat",
637     "title" => "IceCat",
638     "rule" => array(
639     "IceCat/([0-9a-z.]{1,10})" => "\\1"
640     ),
641     "uri" => "http://www.gnu.org/software/gnuzilla/"
642     ),
643     "iceweasel" => array(
644     "icon" => "iceweasel",
645     "title" => "Iceweasel",
646     "rule" => array(
647     "Iceweasel/([0-9.+]{1,10})" => "\\1"
648     ),
649     "uri" => "http://www.geticeweasel.org/"
650     ),
651 matthys 301 "iemobile" => array(
652     "icon" => "iemobile",
653     "title" => "IE Mobile",
654     "rule" => array(
655     "IEMobile/([0-9.]{1,10})" => "\\1"
656     ),
657     "uri" => ""
658     ),
659 joku 63 "iexplorepocket" => array(
660     "icon" => "mobile",
661     "title" => "Internet Explorer Pocket",
662     "rule" => array(
663     "Microsoft Pocket Internet Explorer[ /]([0-9.]{1,10})" => "\\1",
664     "MSPIE[ /]([0-9.]{1,10})" => "\\1"
665     ),
666     "uri" => ""
667     ),
668     "ipeng" => array(
669     "icon" => "ipeng",
670     "title" => "iPeng",
671     "rule" => array(
672     "^iPeng.*(iPhone|iPad)[ /]([0-9.]{1,10})" => "\\2"
673     ),
674     "uri" => "http://penguinlovesmusic.de/"
675     ),
676 joku 244 "ipoto" => array(
677     "icon" => "iphoto",
678     "title" => "iPhoto",
679     "rule" => array(
680     "iPhoto/([0-9.+]{1,10})" => "\\1"
681     ),
682     "uri" => "http://penguinlovesmusic.de/"
683     ),
684 joku 63 "irider" => array(
685     "icon" => "irider",
686     "title" => "iRider",
687     "rule" => array(
688     "iRider[/ ]([0-9.]{1,10})" => "\\1"
689     ),
690     "uri" => ""
691     ),
692     "iron" => array(
693     "icon" => "iron",
694     "title" => "Iron",
695     "rule" => array(
696     "Iron/([0-9.]{1,10})" => "\\1"
697     ),
698     "uri" => "http://www.srware.net/"
699     ),
700     "isilox" => array(
701     "icon" => "isilox",
702     "title" => "iSiloX",
703     "rule" => array(
704     "iSilox/([0-9.]{1,10})" => "\\1"
705     ),
706     "uri" => ""
707     ),
708     "kazehakase" => array(
709     "icon" => "kazehakase",
710     "title" => "Kazehakase",
711     "rule" => array(
712     "Kazehakase[ /]([0-9a-z.]{1,10})" => "\\1",
713     "kazehakase" => ""
714     ),
715     "uri" => "http://kazehakase.sourceforge.jp/20031201.html"
716     ),
717     "kkman" => array(
718     "icon" => "kkman",
719     "title" => "KKman",
720     "rule" => array(
721     "KKman[ /]?([0-9.]{1,10})" => "\\1"
722     ),
723     "uri" => "http://www.kkman.com.tw/"
724     ),
725     "klondike" => array(
726     "icon" => "question",
727     "title" => "Klondike",
728     "rule" => array(
729     "Klondike[ /]([0-9.]{1,10})" => "\\1"
730     ),
731     "uri" => ""
732     ),
733     "k-meleon" => array(
734     "icon" => "k-meleon",
735     "title" => "K-Meleon",
736     "rule" => array(
737     "K-Meleon[ /]([0-9.]{1,10})" => "\\1"
738     ),
739     "uri" => "http://kmeleon.sourceforge.net/"
740     ),
741     "k-ninja" => array(
742     "icon" => "k-ninja",
743     "title" => "K-Ninja",
744     "rule" => array(
745     "K-Ninja[ /]([0-9.]{1,10})" => "\\1"
746     ),
747     "uri" => "http://www.geocities.com/grenleef/"
748     ),
749     "konqueror" => array(
750     "icon" => "konqueror",
751     "title" => "Konqueror",
752     "rule" => array(
753     "konqueror/([0-9.]{1,10})" => "\\1"
754     ),
755     "uri" => "http://www.konqueror.org/"
756     ),
757     "kylo" => array(
758     "icon" => "kylo",
759     "title" => "Kylo",
760     "rule" => array(
761     "Kylo/([0-9.]{1,10})" => "\\1"
762     ),
763     "uri" => "http://kylo.tv/"
764     ),
765     "liferea" => array(
766     "icon" => "liferea",
767     "title" => "Liferea",
768     "rule" => array(
769     "Liferea[ /]([0-9a-z.\-]{1,10})" => "\\1"
770     ),
771     "uri" => "http://liferea.sf.net/"
772     ),
773     "links" => array(
774     "icon" => "links",
775     "title" => "Links",
776     "rule" => array(
777     "Links[ /]\(([0-9.]{1,10})" => "\\1"
778     ),
779     "uri" => "http://artax.karlin.mff.cuni.cz/~mikulas/links"
780     ),
781     "lobo" => array(
782     "icon" => "lobo",
783     "title" => "Lobo",
784     "rule" => array(
785     "Lobo/([0-9.]{1,10})" => "\\1"
786     ),
787     "uri" => "http://lobobrowser.org/"
788     ),
789     "lotus" => array(
790     "icon" => "lotus",
791     "title" => "Lotus Notes",
792     "rule" => array(
793     "Lotus[ \-]?Notes[ /]([0-9.]{1,10})" => "\\1"
794     ),
795     "uri" => ""
796     ),
797     "lunascape" => array(
798     "icon" => "lunascape",
799     "title" => "Lunascape",
800     "rule" => array(
801     "Lunascape[ /]([0-9a-z.]{1,10})" => "\\1"
802     ),
803     "uri" => ""
804     ),
805     "lynx" => array(
806     "icon" => "lynx",
807     "title" => "Lynx",
808     "rule" => array(
809 joku 254 "lynx[ /]([0-9a-z.]{1,10})" => "\\1"
810 joku 63 ),
811     "uri" => "http://lynx.browser.org/"
812     ),
813     "maxthon" => array(
814     "icon" => "maxthon",
815     "title" => "Maxthon",
816     "rule" => array(
817     "Maxthon[ /]([0-9.]{1,10})" => "\\1",
818     "Maxthon[\);]" => ""
819     ),
820     "uri" => ""
821     ),
822     "mbrowser" => array(
823     "icon" => "mbrowser",
824     "title" => "mBrowser",
825     "rule" => array(
826     "mBrowser[ /]([0-9.]{1,10})" => "\\1"
827     ),
828     "uri" => ""
829     ),
830     "mediaplayer" => array(
831     "icon" => "wmp10",
832     "title" => "Media Player",
833     "rule" => array(
834     "NSPlayer[ /]([0-9.]{1,10})" => "\\1",
835     "WMFSDK[ /]([0-9.]{1,10})" => "\\1",
836     "Windows-Media-Player[ /]([0-9.]{1,10})" => "\\1"
837     ),
838     "uri" => ""
839     ),
840     "mib" => array(
841     "icon" => "mobile",
842     "title" => "Mobile Internet Browser",
843     "rule" => array(
844     " MIB[ /]([0-9.]{1,10})" => "\\1"
845     ),
846     "uri" => "http://www.motorola.com/content.jsp?globalObjectId=1827-4343"
847     ),
848     "midori" => array(
849     "icon" => "midori",
850     "title" => "Midori",
851     "rule" => array(
852     "midori[ /]([0-9.]{1,10})" => "\\1",
853     "midori" => ""
854     ),
855     "uri" => "http://software.twotoasts.de/"
856     ),
857     "minimo" => array(
858     "icon" => "mozilla",
859     "title" => "Minimo",
860     "rule" => array(
861     "Minimo[ /]([0-9.]{1,10})" => "\\1"
862     ),
863     "uri" => "http://www.mozilla.org/projects/minimo/"
864     ),
865     "miro" => array(
866     "icon" => "miro",
867     "title" => "Miro",
868     "rule" => array(
869     "Miro[ /]([0-9.]{1,10})" => "\\1"
870     ),
871     "uri" => "http://www.getmiro.com/"
872     ),
873     "mnenhy" => array(
874     "icon" => "mnenhy",
875     "title" => "Mnenhy",
876     "rule" => array(
877     "Mnenhy[ /]([0-9.]{1,10})" => "\\1"
878     ),
879     "uri" => "http://mnenhy.mozdev.org/"
880     ),
881     "mosaic" => array(
882     "icon" => "mosaic",
883     "title" => "Mosaic",
884     "rule" => array(
885     "mosaic[ /]([0-9.]{1,10})" => "\\1"
886     ),
887     "uri" => ""
888     ),
889     "mpc" => array(
890     "icon" => "mpc",
891     "title" => "Media Player Classic",
892     "rule" => array(
893     "Media Player Classic" => ""
894     ),
895     "uri" => "http://sourceforge.net/projects/guliverkli/"
896     ),
897     "mplayer" => array(
898     "icon" => "mplayer",
899     "title" => "MPlayer",
900     "rule" => array(
901     "^MPlayer[ /]([0-9.]{1,10})" => "\\1"
902     ),
903     "uri" => "http://www.mplayerhq.hu"
904     ),
905     "msn" => array(
906     "icon" => "msn",
907     "title" => "MSN Explorer",
908     "rule" => array(
909     "MSN[ /]([0-9.]{1,10})" => "\\1"
910     ),
911     "uri" => "http://www.mplayerhq.hu"
912     ),
913     "multibrowser" => array(
914     "icon" => "multibrowser",
915     "title" => "Multi-Browser",
916     "rule" => array(
917     "Multi-Browser[ /]([0-9.]{1,10})" => "\\1"
918     ),
919     "uri" => "http://archive.ncsa.uiuc.edu/SDG/Software/XMosaic/"
920     ),
921     "myie2" => array(
922     "icon" => "myie2",
923     "title" => "MyIE2",
924     "rule" => array(
925     " MyIE2[\);]" => ""
926     ),
927     "uri" => ""
928     ),
929     "nautilus" => array(
930     "icon" => "nautilus",
931     "title" => "Nautilus",
932     "rule" => array(
933     "(gnome[ \-]?vfs|nautilus)/([0-9.]{1,10})" => "\\2"
934     ),
935     "uri" => ""
936     ),
937     "netnewswire" => array(
938     "icon" => "netnewswire",
939     "title" => "NetNewsWire",
940     "rule" => array(
941     "NetNewsWire[ /]([0-9.]{1,10})" => "\\1"
942     ),
943     "uri" => "http://ranchero.com/netnewswire/"
944     ),
945     "netsurf" => array(
946     "icon" => "netsurf",
947     "title" => "NetSurf",
948     "rule" => array(
949     "Netsurf[ /]?([0-9.]{1,10})?" => "\\1"
950     ),
951     "uri" => ""
952     ),
953     "netcaptor" => array(
954     "icon" => "netcaptor",
955     "title" => "Netcaptor",
956     "rule" => array(
957     "netcaptor[ /]([0-9.]{1,10})" => "\\1"
958     ),
959     "uri" => ""
960     ),
961     "netfront" => array(
962     "icon" => "netfront",
963     "title" => "Netfront",
964     "rule" => array(
965     "NetFront[ /]([0-9.]{1,10})" => "\\1"
966     ),
967     "uri" => "http://www.access-company.com/"
968     ),
969     "netpositive" => array(
970     "icon" => "netpositive",
971     "title" => "NetPositive",
972     "rule" => array(
973     "netpositive[ /]([0-9.]{1,10})" => "\\1"
974     ),
975     "uri" => "http://browsers.evolt.org/?netpositive/"
976     ),
977     "nexus" => array(
978     "icon" => "question",
979     "title" => "Nexus",
980     "rule" => array(
981     "^Nexus" => ""
982     ),
983     "uri" => "http://browsers.evolt.org/"
984     ),
985     "offbyone" => array(
986     "icon" => "offbyone",
987     "title" => "OffByOne",
988     "rule" => array(
989     "OffByOne" => ""
990     ),
991     "uri" => "http://www.offbyone.com/"
992     ),
993     "office" => array(
994     "icon" => "office",
995     "title" => "Office",
996     "rule" => array(
997     "^Microsoft Data Access Internet Publishing Provider (Protocol Discovery|Cache Manager|DAV)" => ""
998     ),
999     "uri" => "http://www.office.microsoft.com/"
1000     ),
1001     "omniweb" => array(
1002     "icon" => "omniweb",
1003     "title" => "OmniWeb",
1004     "rule" => array(
1005     "omniweb/[ a-z]?([0-9.]{1,10})$" => "\\1",
1006     "OmniWeb/[ a-z]?([0-9.]{1,10})" => "\\1"
1007     ),
1008     "uri" => ""
1009     ),
1010     "openwave" => array(
1011     "icon" => "mobile",
1012     "title" => "OpenWave",
1013     "rule" => array(
1014     "OPWV-SDK UP\.Browser[ /]([0-9.]{1,10})" => "\\1"
1015     ),
1016     "uri" => "http://www.openwave.com/us/products/mobile/device_products/mobile_browser/index.htm"
1017     ),
1018     "operamini" => array(
1019     "icon" => "opera",
1020     "title" => "Opera Mini",
1021     "rule" => array(
1022     "opera mini[ /]([0-9.]{1,10})" => "\\1"
1023     ),
1024     "uri" => "http://www.opera.com/"
1025     ),
1026     "opera" => array(
1027     "icon" => "opera",
1028     "title" => "Opera",
1029     "rule" => array(
1030     "opera.+Version[ /]([x0-9.]{1,10})" => "\\1",
1031 joku 383 "opera[ /]([0-9.]{1,10})" => "\\1",
1032     "OPR[ /]([0-9.]{1,10})" => "\\1"
1033 joku 63 ),
1034     "uri" => "http://www.opera.com/"
1035     ),
1036     "orca" => array(
1037     "icon" => "question",
1038     "title" => "Orca",
1039     "rule" => array(
1040     "Orca Browser \(http://www.orcabrowser.com\)" => "\\1"
1041     ),
1042     "uri" => "http://www.orcabrowser.com"
1043     ),
1044     "oregano" => array(
1045     "icon" => "oregano",
1046     "title" => "Oregano",
1047     "rule" => array(
1048     "Oregano[0-9]?[ /]([0-9.]{1,10})" => "\\1"
1049     ),
1050     "uri" => "http://www.castle.org.uk/oregano/"
1051     ),
1052     "palmsource" => array(
1053     "icon" => "palmsource",
1054     "title" => "PalmSource Web Browser",
1055     "rule" => array(
1056     "PalmSource" => "",
1057     "Palm-Arz1" => ""
1058     ),
1059     "uri" => "http://www.palmos.com/dev/tech/palmos5/webbrowser.html"
1060     ),
1061     "paparazzi" => array(
1062     "icon" => "question",
1063     "title" => "Paparazzi",
1064     "rule" => array(
1065     "Paparazzi!/([0-9.]{1,10})" => "\\1"
1066     ),
1067     "uri" => ""
1068     ),
1069     "phaseout" => array(
1070     "icon" => "phaseout",
1071     "title" => "PhaseOut",
1072     "rule" => array(
1073     "www\.phaseout\.net" => ""
1074     ),
1075     "uri" => "http://www.phaseout.net/"
1076     ),
1077     "plainview" => array(
1078     "icon" => "plainview",
1079     "title" => "Plainview",
1080     "rule" => array(
1081     "Plainview[ /]([0-9.]{1,10})" => "\\1"
1082     ),
1083     "uri" => "http://www.barbariangroup.com/software/plainview"
1084     ),
1085     "plink" => array(
1086     "icon" => "plink",
1087     "title" => "PLink",
1088     "rule" => array(
1089     "PLink[ /]([0-9a-z.]{1,10})" => "\\1"
1090     ),
1091     "uri" => ""
1092     ),
1093     "plucker" => array(
1094     "icon" => "mobile",
1095     "title" => "Plucker",
1096     "rule" => array(
1097     "Plucker[ /](Py-)?([0-9.]{1,10})" => "\\1"
1098     ),
1099     "uri" => "http://www.openwave.com/us/products/mobile/device_products/mobile_browser/index.htm"
1100     ),
1101     "phoenix" => array(
1102     "icon" => "phoenix",
1103     "title" => "Phoenix",
1104     "rule" => array(
1105     "Phoenix/([0-9.+]{1,10})" => "\\1"
1106     ),
1107     "uri" => ""
1108     ),
1109     "phped" => array(
1110     "icon" => "question",
1111     "title" => "PHPEd",
1112     "rule" => array(
1113     "PHPEd Version[ /]([0-9.]{1,10})" => "\\1"
1114     ),
1115     "uri" => ""
1116     ),
1117     "printsmart" => array(
1118     "icon" => "question",
1119     "title" => "HP Web PrintSmart",
1120     "rule" => array(
1121     "HP Web PrintSmart ([0-9.a-z]{1,10})" => "\\1"
1122     ),
1123     "uri" => ""
1124     ),
1125     "prism" => array(
1126     "icon" => "prism",
1127     "title" => "Mozilla Prism",
1128     "rule" => array(
1129     "prism/([0-9.+]{1,10})" => "\\1"
1130     ),
1131     "uri" => "http://prism.mozillalabs.com/"
1132     ),
1133     "proxomitron" => array(
1134     "icon" => "proxomitron",
1135     "title" => "Proxomitron",
1136     "rule" => array(
1137     "(Space( )?)?bison/([0-9.]{1,10})" => "\\1"
1138     ),
1139     "uri" => "http://www.proxomitron.info/"
1140     ),
1141     "psp" => array(
1142     "icon" => "question",
1143     "title" => "PlayStation Portable",
1144     "rule" => array(
1145     "PSP \(PlayStation Portable\); ([0-9.]{1,10})" => "\\1"
1146     ),
1147     "uri" => ""
1148     ),
1149     "puf" => array(
1150     "icon" => "question",
1151     "title" => "Parallel URL Fetcher",
1152     "rule" => array(
1153     "^puf[ /]([0-9.]{1,10})" => "\\1"
1154     ),
1155     "uri" => "http://puf.sourceforge.net/"
1156     ),
1157     "quicktime" => array(
1158     "icon" => "quicktime",
1159     "title" => "QuickTime",
1160     "rule" => array(
1161     "QuickTime..qtver.([0-9.]{1,10})" => "\\1",
1162     "qtver.([0-9.]{1,10})" => "\\1"
1163     ),
1164     "uri" => "http://www.apple.com/quicktime/"
1165     ),
1166     "realplayer" => array(
1167     "icon" => "realplayer",
1168     "title" => "Real Player",
1169     "rule" => array(
1170     "RealPlayer/([0-9.+]{1,10})" => "\\1",
1171     "^Mozilla/([0-9.+]{1,10}).*\(R1 1.5\)\)" => "",
1172     "RMA/([0-9.+]{1,10})" => ""
1173     ),
1174     "uri" => "http://www.realplayer.com"
1175     ),
1176     "reeder" => array(
1177     "icon" => "reeder",
1178     "title" => "Reeder",
1179     "rule" => array(
1180     "Reeder/([0-9.+]{1,10})" => "\\1"
1181     ),
1182     "uri" => "http://www.reederapp.com/"
1183     ),
1184     "retawq" => array(
1185     "icon" => "question",
1186     "title" => "retawq",
1187     "rule" => array(
1188     "retawq/([0-9.]{1,10})" => "\\1"
1189     ),
1190     "uri" => "http://retawq.sourceforge.net/"
1191     ),
1192     "safexplorer" => array(
1193     "icon" => "question",
1194     "title" => "Safexplorer",
1195     "rule" => array(
1196     "SAFEXPLORER TL" => ""
1197     ),
1198     "uri" => "http://www.safexplorer.com/"
1199     ),
1200     "sage" => array(
1201     "icon" => "sage",
1202     "title" => "Sage",
1203     "rule" => array(
1204     "\(Sage\)" => ""
1205     ),
1206     "uri" => "http://sage.mozdev.org/"
1207     ),
1208     "seamonkey" => array(
1209     "icon" => "seamonkey",
1210     "title" => "Seamonkey",
1211     "rule" => array(
1212     "Seamonkey[ \-/]([0-9a-z.]{1,10})" => "\\1"
1213     ),
1214     "uri" => "http://www.seamonkey-project.org/"
1215     ),
1216     "securewebbrowser" => array(
1217     "icon" => "question",
1218     "title" => "HP Secure Web Browser",
1219     "rule" => array(
1220     "SWB[ /]V?([0-9.]{1,10}) \(HP\)" => "\\1"
1221     ),
1222     "uri" => "http://h71000.www7.hp.com/openvms/products/ips/cswb/cswb.html"
1223     ),
1224     "shareaza" => array(
1225     "icon" => "shareaza",
1226     "title" => "Shareaza",
1227     "rule" => array(
1228     "Shareaza[ /]v?([0-9.]{1,10})" => "\\1"
1229     ),
1230     "uri" => "http://www.shareaza.com/"
1231     ),
1232     "shiira" => array(
1233     "icon" => "shiira",
1234     "title" => "Shiira",
1235     "rule" => array(
1236     "Shiira/([0-9.]{1,10})" => "\\1",
1237     " Shiira " => ""
1238     ),
1239     "uri" => "http://shiira.jp/en.php"
1240     ),
1241     "sitekiosk" => array(
1242     "icon" => "sitekiosk",
1243     "title" => "SiteKiosk",
1244     "rule" => array(
1245     "SiteKiosk[ /]([0-9.]{1,10})" => "\\1"
1246     ),
1247     "uri" => "http://www.sitekiosk.com/"
1248     ),
1249     "sleipnir" => array(
1250     "icon" => "sleipnir",
1251     "title" => "Sleipnir",
1252     "rule" => array(
1253     "Sleipnir( Version)?[ /]([0-9a-z.]{1,10})" => "\\2"
1254     ),
1255     "uri" => ""
1256     ),
1257     "slimbrowser" => array(
1258     "icon" => "slimbrowser",
1259     "title" => "SlimBrowser",
1260     "rule" => array(
1261     "Slimbrowser" => ""
1262     ),
1263     "uri" => ""
1264     ),
1265     "smartbro" => array(
1266     "icon" => "smartbro",
1267     "title" => "Smart Bro",
1268     "rule" => array(
1269     "Smart Bro[ /]?([0-9.]{1,10})?" => "\\1"
1270     ),
1271     "uri" => "http://www.smartbro.com/"
1272     ),
1273     "songbird" => array(
1274     "icon" => "songbird",
1275     "title" => "Songbird",
1276     "rule" => array(
1277     "Songbird[/ ]([0-9.]{1,10})" => "\\1"
1278     ),
1279     "uri" => "http://www.songbirdnest.com/"
1280     ),
1281     "spectruminternetsuite" => array(
1282     "icon" => "question",
1283     "title" => "Spectrum Internet Suite",
1284     "rule" => array(
1285     " SIS ([0-9.]{1,10})" => "\\1"
1286     ),
1287     "uri" => "http://sis.gwlink.net/"
1288     ),
1289     "sputnik" => array(
1290     "icon" => "sputnik",
1291     "title" => "Sputnik",
1292     "rule" => array(
1293     "Sputnik[ /]([0-9.]{1,10})" => "\\1"
1294     ),
1295     "uri" => ""
1296     ),
1297     "squid" => array(
1298     "icon" => "squid",
1299     "title" => "Squid Proxy",
1300     "rule" => array(
1301     "^Cafi[ /]([0-9.]{1,10})" => "\\1",
1302     "SquidClamAV_Redirector[ /]([0-9.]{1,10})" => ""
1303     ),
1304     "uri" => ""
1305     ),
1306     "staroffice" => array(
1307     "icon" => "staroffice",
1308     "title" => "StarOffice",
1309     "rule" => array(
1310     "staroffice[ /]([0-9.]{1,10})" => "\\1"
1311     ),
1312     "uri" => ""
1313     ),
1314     "stainless" => array(
1315     "icon" => "stainless",
1316     "title" => "Stainless",
1317     "rule" => array(
1318     "Stainless[ /]([0-9.]{1,10})" => "\\1"
1319     ),
1320     "uri" => "http://www.stainlessapp.com"
1321     ),
1322     "strata" => array(
1323     "icon" => "strata",
1324     "title" => "Strata",
1325     "rule" => array(
1326     "Strata[/ ]([0-9.]{1,10})" => "\\1"
1327     ),
1328     "uri" => "https://www.kirix.com/"
1329     ),
1330     "sunrise" => array(
1331     "icon" => "sunrise",
1332     "title" => "Sunrise",
1333     "rule" => array(
1334     "SunriseBrowser[ /]([0-9.]{1,10})" => "\\1",
1335     "Sunrise[ /]([0-9.]{1,10})" => "\\1",
1336     "Sunrise2[ /]([0-9.]{1,10})" => "\\1"
1337     ),
1338     "uri" => "http://www.sunrisebrowser.com/"
1339     ),
1340     "sunrisefeeds" => array(
1341     "icon" => "question",
1342     "title" => "Sunrise Feeds",
1343     "rule" => array(
1344     "^Sunrise[ /]([0-9.]{1,10})" => "\\1"
1345     ),
1346     "uri" => ""
1347     ),
1348     "swift" => array(
1349     "icon" => "swift",
1350     "title" => "Swift",
1351     "rule" => array(
1352     "Swift[ /]([0-9.]{1,10})" => "\\1"
1353     ),
1354     "uri" => "http://www.getswift.org/"
1355     ),
1356     "swiftfox" => array(
1357     "icon" => "swiftfox",
1358     "title" => "Swiftfox",
1359     "rule" => array(
1360     "Swiftfox[ /]?([0-9.]{1,10})?" => "\\1"
1361     ),
1362     "uri" => "http://getswiftfox.com/"
1363     ),
1364     "sylera" => array(
1365     "icon" => "question",
1366     "title" => "Sylera",
1367     "rule" => array(
1368     "Sylera[/ ]([0-9.]{1,10})" => "\\1"
1369     ),
1370     "uri" => "http://www.zawameki.net/izmi/prog/sylera_en.html"
1371     ),
1372     "syndirella" => array(
1373     "icon" => "question",
1374     "title" => "Syndirella",
1375     "rule" => array(
1376     "Syndirella[/ ]([0-9.]{1,10})" => "\\1"
1377     ),
1378     "uri" => "http://sourceforge.net/projects/syndirella/"
1379     ),
1380     "thunderbird" => array(
1381     "icon" => "thunderbird",
1382     "title" => "Thunderbird",
1383     "rule" => array(
1384     "Thunderbird[ /]([0-9a-z.]{1,10})" => "\\1"
1385     ),
1386     "uri" => ""
1387     ),
1388     "tonline" => array(
1389     "icon" => "tonline",
1390     "title" => "T-Online",
1391     "rule" => array(
1392     "^T-Online Browser" => "\\1"
1393     ),
1394     "uri" => ""
1395     ),
1396     "upbrowser" => array(
1397     "icon" => "upbrowser",
1398     "title" => "UP.Browser",
1399     "rule" => array(
1400     "UP\.Browser[ /]([0-9.]{1,10})" => "\\1",
1401     "UP\.Link[ /]([0-9.]{1,10})" => "\\1"
1402     ),
1403     "uri" => ""
1404     ),
1405     "uzbl" => array(
1406     "icon" => "uzbl",
1407     "title" => "Uzbl",
1408     "rule" => array(
1409     "Uzbl" => ""
1410     ),
1411     "uri" => "http://www.uzbl.org/"
1412     ),
1413     "vienna" => array(
1414     "icon" => "vienna",
1415     "title" => "Vienna",
1416     "rule" => array(
1417     "Vienna[ /]([0-9.]{1,10})" => "\\1"
1418     ),
1419     "uri" => "http://vienna-rss.sourceforge.net/"
1420     ),
1421     "vlc" => array(
1422     "icon" => "vlc",
1423     "title" => "VLC",
1424     "rule" => array(
1425 joku 365 "^VLC media player - version ([0-9.]{1,10})" => "\\1",
1426     "VLC/([0-9.]{1,10})" => "\\1"
1427 joku 63 ),
1428     "uri" => "http://www.videolan.org/vlc/"
1429     ),
1430 joku 374 "vivaldi" => array(
1431     "icon" => "vivaldi",
1432     "title" => "Vivaldi",
1433     "rule" => array(
1434     "Vivaldi[ /]([0-9.]{1,10})" => "\\1"
1435     ),
1436     "uri" => "https://vivaldi.com/"
1437     ),
1438 joku 63 "voyager" => array(
1439     "icon" => "voyager",
1440     "title" => "Voyager",
1441     "rule" => array(
1442     "voyager[ /]([0-9.]{1,10})" => "\\1",
1443     "AmigaVoyager" => "",
1444     " Voyager" => ""
1445     ),
1446     "uri" => "http://v3.vapor.com/"
1447     ),
1448     "w3clinemode" => array(
1449     "icon" => "question",
1450     "title" => "W3C Line Mode",
1451     "rule" => array(
1452     "W3CLineMode/([0-9.]{1,10})" => "\\1"
1453     ),
1454     "uri" => "http://www.w3.org/LineMode"
1455     ),
1456     "w3m" => array(
1457     "icon" => "w3m",
1458     "title" => "w3m",
1459     "rule" => array(
1460     "w3m/([0-9.]{1,10})" => "\\1"
1461     ),
1462     "uri" => ""
1463     ),
1464     "wannabe" => array(
1465     "icon" => "question",
1466     "title" => "WannaBe",
1467     "rule" => array(
1468     "^WannaBe" => ""
1469     ),
1470     "uri" => "http://mindstory.com/wb2/"
1471     ),
1472     "warrior" => array(
1473     "icon" => "warrior",
1474     "title" => "Warrior",
1475     "rule" => array(
1476     "^Warrior" => ""
1477     ),
1478     "uri" => ""
1479     ),
1480     "webcapture" => array(
1481     "icon" => "question",
1482     "title" => "WebCapture (Adobe)",
1483     "rule" => array(
1484     "WebCapture[ /]([0-9.]{1,10})" => "\\1"
1485     ),
1486     "uri" => ""
1487     ),
1488     "webtv" => array(
1489     "icon" => "webtv",
1490     "title" => "Webtv",
1491     "rule" => array(
1492     "webtv[ /]([0-9.]{1,10})" => "\\1",
1493     "webtv" => ""
1494     ),
1495     "uri" => ""
1496     ),
1497     "winamp" => array(
1498     "icon" => "winamp",
1499     "title" => "Winamp",
1500     "rule" => array(
1501     "^WinampMPEG[ /]([0-9.]{1,10})" => "\\1",
1502     "^Nullsoft Winamp3 version[ /]([0-9.a-z]{1,10})" => "\\1",
1503     "NSV Player" => ""
1504     ),
1505     "uri" => "http://www.winamp.com/"
1506     ),
1507     "wyzo" => array(
1508     "icon" => "wyzo",
1509     "title" => "Wyzo",
1510     "rule" => array(
1511     "Wyzo[ /]([0-9.]{1,10})" => "\\1"
1512     ),
1513     "uri" => "http://www.wyzo.com/"
1514     ),
1515     "xiino" => array(
1516     "icon" => "xiino",
1517     "title" => "Xiino",
1518     "rule" => array(
1519     "^Xiino[ /]([0-9a-z.]{1,10})" => "\\1"
1520     ),
1521     "uri" => "http://www.access-us-inc.com/"
1522     ),
1523     "xine" => array(
1524     "icon" => "xine",
1525     "title" => "xine",
1526     "rule" => array(
1527     "^xine[ /]([0-9.]{1,10})" => "\\1"
1528     ),
1529     "uri" => "http://xine.sourceforge.net/"
1530     ),
1531     "yahoomessenger" => array(
1532     "icon" => "yahoo",
1533     "title" => "Yahoo Messenger",
1534     "rule" => array(
1535     "^Y(!)*TunnelPro" => ""
1536     ),
1537     "uri" => "http://messenger.yahoo.com/"
1538     ),
1539     "zipcommander" => array(
1540     "icon" => "question",
1541     "title" => "ZipCommander",
1542     "rule" => array(
1543     "ZipCommander" => ""
1544     ),
1545     "uri" => "http://www.zipcommander.com/"
1546     ),
1547     "zootycoon2" => array(
1548     "icon" => "question",
1549     "title" => "Zoo Tycoon 2",
1550     "rule" => array(
1551     "Zoo Tycoon 2 Client" => ""
1552     ),
1553     "uri" => "http://www.zootycoon.com/"
1554     ),
1555     // Catch up for the originals, they got to stay in that order.
1556     "explorer" => array(
1557     "icon" => "explorer",
1558     "title" => "Explorer",
1559     "rule" => array(
1560     ".*MSIE 7.0.*Trident.*" => "text:8.0 (MSIE 7.0)", //special feature, to detect IE8 Compatibility mode
1561     "Trident/7.0.*rv:([0-9.+]{1,10})" => "\\1",
1562     "\(compatible; MSIE[ /]([0-9a-z.]{1,10})" => "\\1",
1563     "MSIE[ /]([0-9a-z.]{1,3})" => "\\1",
1564     "Internet Explorer[ /]([0-9.]{1,10})" => "\\1",
1565     "^Auto-Proxy Downloader" => ""
1566     ),
1567     "uri" => "http://www.microsoft.com/windows/ie/"
1568     ),
1569     "chrome" => array(
1570     "icon" => "chrome",
1571     "title" => "Chrome",
1572     "rule" => array(
1573     "Chrome/([0-9.]{1,15})" => "\\1"
1574     ),
1575     "uri" => "http://www.google.com/chrome/"
1576     ),
1577     "safari" => array(
1578     "icon" => "safari",
1579     "title" => "Safari",
1580     "rule" => array(
1581     "version/([0-9.]{1,10})(.*)safari" => "\\1",
1582     "Safari[ /]?([0-9.]{1,10})" => "\\1"
1583     ),
1584     "uri" => ""
1585     ),
1586     "netscape" => array(
1587     "icon" => "netscape",
1588     "title" => "Netscape",
1589     "rule" => array(
1590     "netscape[0-9]?/([0-9.]{1,10})" => "\\1",
1591     "navigator[0-9]?/([0-9.]{1,10})" => "\\1",
1592     "^mozilla/([0-4]\.[0-9.]{1,10})" => "\\1"
1593     ),
1594     "uri" => "http://www.netscape.com/"
1595     ),
1596     "firefox" => array(
1597     "icon" => "firefox",
1598     "title" => "Firefox",
1599     "rule" => array(
1600     "Firefox/([0-9.+]{1,10})" => "\\1",
1601     "BonEcho/([0-9.+]{1,10})" => "\\1", // Firefox 2.0 beta
1602     "GranParadiso/([0-9.+]{1,10})" => "\\1", // Firefox 3.0 alpha
1603     "Minefield/([0-9.+]{1,10})" => "\\1", // Firefox 3.0 beta
1604     "Shiretoko/([0-9a-z.+]{1,10})" => "\\1", // Firefox 3.1 alpha
1605     "Namoroka/([0-9a-z.+]{1,10})" => "\\1", // Firefox 3.6 beta
1606     "Firefox" => ""
1607     ),
1608     "uri" => "http://www.mozilla.org/projects/firefox/",
1609     "known" => array(
1610     "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1) Gecko/20061019 Firefox" => "Firefox nightly on Windows XP",
1611     "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko/20041202 Firefox/1.0" => "Firefox 1.0 on Windows XP (dutch)",
1612     "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/20050512 Firefox" => "Firefox 1.0.4 on Ubuntu Linux (AMD64)",
1613     "Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050609 Firefox/1.0.4" => "Firefox 1.0.4 on FreeBSD (i386)",
1614     "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5" => "Firefox 1.0.5 on Slackware",
1615     "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6" => "Firefox 1.0.6 on Windows XP",
1616     "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-GB; rv:1.7.10) Gecko/20050717 Firefox/1.0.6" => "Firefox 1.0.6 on Mac OS X 10.4 PPC",
1617     "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7" => "Firefox 1.0.7 on Windows XP",
1618     "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7" => "Firefox 1.0.7 on Mac OS X 10.3 PPC",
1619     "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4" => "Firefox 1.5 beta 1 on Windows XP",
1620     "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050908 Firefox/1.4" => "Firefox 1.5 beta 1 on Mac OS X 10.3 PPC",
1621     "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8) Gecko/20051107 Firefox/1.5" => "Firefox 1.5 on Windows XP",
1622     "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" => "Firefox 1.5.0.1 on Windows XP",
1623     "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1" => "Firefox 1.5.0.1 on Windows Vista",
1624     "Mozilla/5.0 (BeOS; U; BeOS BePC; en-US; rv:1.9a1) Gecko/20051002 Firefox/1.6a1" => "1.6 alpha 1 on BeOS R5",
1625     "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060321 Firefox/2.0a1" => "2.0 alpha 1 on Windows XP",
1626     "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b1) Gecko/20060710 Firefox/2.0b1" => "2.0 beta 1 on Windows XP",
1627     "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1b2) Gecko/20060710 Firefox/2.0b2" => "2.0 beta 2 on Windows XP",
1628     "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1) Gecko/20060918 Firefox/2.0" => "2.0 on Windows XP"
1629     )
1630     ),
1631     "webkit" => array(
1632     "icon" => "webkit",
1633     "title" => "Webkit",
1634     "rule" => array(
1635     "AppleWebKit/([0-9.]{1,10}).*Gecko" => "\\1"
1636     ),
1637     "uri" => "http://webkit.org"
1638     ),
1639     "mozilla" => array(
1640     "icon" => "mozilla",
1641     "title" => "Mozilla",
1642     "rule" => array(
1643     "^mozilla/[5-9]\.[0-9.]{1,10}.+rv:([0-9a-z.+]{1,10})" => "\\1",
1644     "^mozilla/([5-9]\.[0-9a-z.]{1,10})" => "\\1",
1645     "GNUzilla/([0-9.+]{1,10})" => "\\1"
1646     ),
1647     "uri" => "",
1648     "known" => array(
1649     "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511" => "Mozilla 1.7.9 on Linux (american english)",
1650     "Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.7.12) Gecko/20050929" => "Mozilla 1.7.12 on Gentoo Linux"
1651     )
1652     ),
1653     "wap" => array(
1654     "icon" => "question",
1655     "title" => "WAP",
1656     "rule" => array(
1657     "Profile[ /]MIDP-([0-9.+]{1,10})" => "",
1658     "Configuration[ /]CLDC-([0-9.+]{1,10})" => "",
1659     "WAP" => "\\1",
1660     "SonyEricsson([0-9A-Z]{1,10})" => ""
1661     ),
1662     "uri" => ""
1663     ),
1664     // Things we don't know by now
1665     "other" => array(
1666     "icon" => "question",
1667     "title" => "other",
1668     "rule" => array(
1669     ".*" => ""
1670     )
1671     )
1672     );
1673 joku 244 ?>

Properties

Name Value
svn:keywords Id