сатурн уже

На радостях выпил 150 Grand Torino Bianco, оставшиеся с, за чудное, чудное решение с детекцией flash под node.js. Старенькая статья на сайте адобы актуальна надолго, принцип работает.
ps А вот и печалька, в midori не работает geturl.
pps А вот и фигвам, geturl у меня вызывает новую вкладку, а у мидори они отключены по-умолчанию, так что все нормально, это детектируется.

Midori, параметры поведения

споткнулся

При более внимательном рассмотрении обнаружил крайне медленную обработку юзерагента модулем Дэна Гроссмана node-browscap, что есть дюже пичалька. Некоторое увеличение скорости описано в пулах, но, по-моему, этого мало и недостойно ноды.

ps Именно этот форк оказался вполне достойным, скорость резко подскочила.

ну вот и ладненько

Мои блуждания по манам ноды, экспресса и прочих фитюлек закончились тем, что я перенес с малинки на продакшн сервер черновик нового детектора своей TDS, которую я модернизирую. Два дня пинал, пока завелось. Там, в четвертой версии, было так – и детектор и админка были на php+js+mysql, без фреймворков, сейчас хочу сделать детектор на node.js+express, админку начал на Yii v.1, перенесу на Yii v.2, и на этом успокоюсь. Вот черновичок детектора, там достаточно ясно как его делать и развивать, если кому нужно, все идеи там уже заложены. Язык браузера надо брать из req.headers, если кто не понял.

[php]var express=require(‘express’);
var router=express.Router();
var useragent=require(‘useragent’);//https://github.com/3rd-Eden/useragent
var cookieParser=require(‘cookie-parser’);
var bodyParser=require(‘body-parser’);
var app=express();
var cookie=require(‘cookie’);
app.use(cookieParser());
var http=require(‘http’);

var browscap = require(‘browscap’);//https://github.com/dangrossman/node-browscap
browscap.setIni(‘./node_modules/browscap/browscap.ini’);
var browser = browscap.getBrowser("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; WinTSI 05.11.2009)");
//Will print "IE 8.0"
console.log(browser);

var mysql = require(‘mysql’);//https://www.npmjs.com/package/mysql
var connection = mysql.createConnection({
host : ‘localhost’,
user : ”,
password : ”
});

connection.connect();

var row=”;

connection.query(‘SELECT * from tasks’, function(err, rows, fields) {
if (err) throw err;
row=rows[0].filters_data;
console.log(‘The task is: ‘, rows[0].filters_data);
});

var geoip=require(‘geoip’);//https://www.npmjs.com/package/geoip
var Country=geoip.Country;
var country=new Country(‘node_modules/geoip/deps/GeoIP-1.6.2/data/GeoIP.dat’);
var country_obj=country.lookupSync(‘8.8.8.8’);
console.log(country_obj);

connection.end();
router.get(‘/’,function(req,res){

var agent=useragent.parse(req.headers[‘user-agent’]);
if(req.cookies.qq!=’qq’){res.cookie(‘qq’,’qq’,{maxAge:86400000,httpOnly:true});};
res.send(
agent+'<br>’+row+'<br>referer:’+req.headers[‘referer’]+'<br>’+
req.cookies.qq+'<br>ip:’+req.ip+'<br>’+
req.query.t’);
console.log("Cookies: ",req.cookies)
console.log("headers: ",req.headers)
});

module.exports=router;[/php]

чем дальше, тем дальше

Только бабайка знает, куда приведет мое увлечение node.js, хочу сделать детектор моей тдски на нем и админку на yii 2. Разбирал книжку Дэвида Хэррона “Node.js Разработка серверных веб-приложений на JavaScript”, дошел до коннекта и экспресса, и тут посыпались ошибки, оказывается они очень бурно развиваются и книжка уже устарела, перешел на мануалы сайтов производителей сих славных вещей.