пятница, 31 декабря 2010 г.

Skype !!!

http://ftp.deerfield.com/pub/current/

четверг, 30 декабря 2010 г.

OPenLdap Compiling

Windows Help msvc
http://www.voxgratia.org/docs/windows_openldap.html
Интеграция Active Directory и OpenLDAP
http://www.bowmansolutions.com/mingw-openldap/
http://ftp.intevation.de/users/bernhard/scratch/
http://ftp.intevation.de/users/bernhard/scratch/mingw-openldap-20080513-1.zip
mingw-openldap builds for mingw available here
http://www.symas.net/portal/index.fcgi

Централизованная схема управления сетью с использованием OpenLDAP

link

ss64.com

http://ss64.com/
http://ss64.com/nt/
http://ss64.com/nt/icacls.html

среда, 29 декабря 2010 г.

Botan

Password based crypto
http://botan.randombit.net/examples/row_encryptor.cpp

https://community.emc.com/docs/DOC-4949

QT + Pdf

http://qtcoder.blogspot.com/2010/06/pdf-unicode.html

also interest

http://stackoverflow.com/questions/1220046/in-c-how-to-get-md5-hash-of-a-file

Using Crypto++, you could do the following:

#include 
#include

SHA256 sha
;
while ( !f.eof() ) {
char buff[4096];
int numchars = f.read(...);
sha
.Update(buff, numchars);
}
char hash[size];
sha
.Final(hash);
cout
hash endl;

MD5 for DOCs project

link

interest https://launchpad.net/~pkg-opendnssec/+archive/ppa/+packages

Here’s an implementation of the MD5 algorithm in C++.

Simply copy and paste into a file “md5.h”. Only dependencies are on and .

Originally adapted from the C reference implementation on this page

Tested in Visual Studio 2010.
Sample use:

Main.cpp

#include "md5.h"

int main()
{
MD5 md5 ;
puts( md5.digestString( "HELLO THERE I AM MD5!" ) ) ;

// print the digest for a binary file on disk.
puts( md5.digestFile( "C:\\WINDOWS\\notepad.exe" ) ) ;

return 0;
}

md5.h

(No .cpp file)

#ifndef MD5_H
#define MD5_H

// Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
// rights reserved.

// License to copy and use this software is granted provided that it
// is identified as the "RSA Data Security, Inc. MD5 Message-Digest
// Algorithm" in all material mentioning or referencing this software
// or this function.
//
// License is also granted to make and use derivative works provided
// that such works are identified as "derived from the RSA Data
// Security, Inc. MD5 Message-Digest Algorithm" in all material
// mentioning or referencing the derived work.
//
// RSA Data Security, Inc. makes no representations concerning either
// the merchantability of this software or the suitability of this
// software for any particular purpose. It is provided "as is"
// without express or implied warranty of any kind.
//
// These notices must be retained in any copies of any part of this
// documentation and/or software.

// The original md5 implementation avoids external libraries.
// This version has dependency on stdio.h for file input and
// string.h for memcpy.
#include
#include

#pragma region MD5 defines
// Constants for MD5Transform routine.
#define S11 7
#define S12 12
#define S13 17
#define S14 22
#define S21 5
#define S22 9
#define S23 14
#define S24 20
#define S31 4
#define S32 11
#define S33 16
#define S34 23
#define S41 6
#define S42 10
#define S43 15
#define S44 21

static unsigned char PADDING[64] = {
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

// F, G, H and I are basic MD5 functions.
#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
#define H(x, y, z) ((x) ^ (y) ^ (z))
#define I(x, y, z) ((y) ^ ((x) | (~z)))

// ROTATE_LEFT rotates x left n bits.
#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))

// FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
// Rotation is separate from addition to prevent recomputation.
#define FF(a, b, c, d, x, s, ac) { \
(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define GG(a, b, c, d, x, s, ac) { \
(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define HH(a, b, c, d, x, s, ac) { \
(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#define II(a, b, c, d, x, s, ac) { \
(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
(a) = ROTATE_LEFT ((a), (s)); \
(a) += (b); \
}
#pragma endregion

typedef unsigned char BYTE ;

// POINTER defines a generic pointer type
typedef unsigned char *POINTER;

// UINT2 defines a two byte word
typedef unsigned short int UINT2;

// UINT4 defines a four byte word
typedef unsigned long int UINT4;

// convenient object that wraps
// the C-functions for use in C++ only
class MD5
{
private:
struct __context_t {
UINT4 state[4]; /* state (ABCD) */
UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
unsigned char buffer[64]; /* input buffer */
} context ;

#pragma region static helper functions
// The core of the MD5 algorithm is here.
// MD5 basic transformation. Transforms state based on block.
static void MD5Transform( UINT4 state[4], unsigned char block[64] )
{
UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];

Decode (x, block, 64);

/* Round 1 */
FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */

/* Round 2 */
GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
GG (d, a, b, c, x[10], S22, 0x2441453); /* 22 */
GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */

/* Round 3 */
HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
HH (b, c, d, a, x[ 6], S34, 0x4881d05); /* 44 */
HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */

/* Round 4 */
II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */

state[0] += a;
state[1] += b;
state[2] += c;
state[3] += d;

// Zeroize sensitive information.
memset((POINTER)x, 0, sizeof (x));
}

// Encodes input (UINT4) into output (unsigned char). Assumes len is
// a multiple of 4.
static void Encode( unsigned char *output, UINT4 *input, unsigned int len )
{
unsigned int i, j;

for (i = 0, j = 0; j < len; i++, j += 4) {
output[j] = (unsigned char)(input[i] & 0xff);
output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
}
}

// Decodes input (unsigned char) into output (UINT4). Assumes len is
// a multiple of 4.
static void Decode( UINT4 *output, unsigned char *input, unsigned int len )
{
unsigned int i, j;

for (i = 0, j = 0; j < len; i++, j += 4)
output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
(((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
}
#pragma endregion

public:
// MAIN FUNCTIONS
MD5()
{
Init() ;
}

// MD5 initialization. Begins an MD5 operation, writing a new context.
void Init()
{
context.count[0] = context.count[1] = 0;

// Load magic initialization constants.
context.state[0] = 0x67452301;
context.state[1] = 0xefcdab89;
context.state[2] = 0x98badcfe;
context.state[3] = 0x10325476;
}

// MD5 block update operation. Continues an MD5 message-digest
// operation, processing another message block, and updating the
// context.
void Update(
unsigned char *input, // input block
unsigned int inputLen ) // length of input block
{
unsigned int i, index, partLen;

// Compute number of bytes mod 64
index = (unsigned int)((context.count[0] >> 3) & 0x3F);

// Update number of bits
if ((context.count[0] += ((UINT4)inputLen << 3))
< ((UINT4)inputLen << 3))
context.count[1]++;
context.count[1] += ((UINT4)inputLen >> 29);

partLen = 64 - index;

// Transform as many times as possible.
if (inputLen >= partLen) {
memcpy((POINTER)&context.buffer[index], (POINTER)input, partLen);
MD5Transform (context.state, context.buffer);

for (i = partLen; i + 63 < inputLen; i += 64)
MD5Transform (context.state, &input[i]);

index = 0;
}
else
i = 0;

/* Buffer remaining input */
memcpy((POINTER)&context.buffer[index], (POINTER)&input[i], inputLen-i);
}

// MD5 finalization. Ends an MD5 message-digest operation, writing the
// the message digest and zeroizing the context.
// Writes to digestRaw
void Final()
{
unsigned char bits[8];
unsigned int index, padLen;

// Save number of bits
Encode( bits, context.count, 8 );

// Pad out to 56 mod 64.
index = (unsigned int)((context.count[0] >> 3) & 0x3f);
padLen = (index < 56) ? (56 - index) : (120 - index);
Update( PADDING, padLen );

// Append length (before padding)
Update( bits, 8 );

// Store state in digest
Encode( digestRaw, context.state, 16);

// Zeroize sensitive information.
memset((POINTER)&context, 0, sizeof (context));

writeToString() ;
}

/// Buffer must be 32+1 (nul) = 33 chars long at least
void writeToString()
{
int pos ;

for( pos = 0 ; pos < 16 ; pos++ )
sprintf( digestChars+(pos*2), "%02x", digestRaw[pos] ) ;
}

public:
// an MD5 digest is a 16-byte number (32 hex digits)
BYTE digestRaw[ 16 ] ;

// This version of the digest is actually
// a "printf'd" version of the digest.
char digestChars[ 33 ] ;

/// Load a file from disk and digest it
// Digests a file and returns the result.
char* digestFile( char *filename )
{
Init() ;

FILE *file;

int len;
unsigned char buffer[1024] ;

if( (file = fopen (filename, "rb")) == NULL )
printf( "%s can't be opened\n", filename ) ;
else
{
while( len = fread( buffer, 1, 1024, file ) )
Update( buffer, len ) ;
Final();

fclose( file );
}

return digestChars ;
}

/// Digests a byte-array already in memory
char* digestMemory( BYTE *memchunk, int len )
{
Init() ;
Update( memchunk, len ) ;
Final() ;

return digestChars ;
}

// Digests a string and prints the result.
char* digestString( char *string )
{
Init() ;
Update( (unsigned char*)string, strlen(string) ) ;
Final() ;

return digestChars ;
}
} ;

#endif

QT Serialization

source

#include "QtCore"
#include "QHash"
#include "QFile"
#include "QDataStream"
#define PATH "./file.dat"
int main()
{
//create a dictionary
QHashQString,QString> dict;
dict["project.owner"] = "owner";
dict["project.version"] = "0.10.0";
QFile file(PATH);
file.open(QIODevice::WriteOnly);
QDataStream out(&file);   // write the data
out  dict;
file.close();
//setting new a value
dict["project.owner"] = "new";
//update the dictionary
file.open(QIODevice::ReadOnly);
QDataStream in(&file);   // read the data serialized from the file
in >> dict;
qDebug()  "value: "  dict.value("project.owner");
return 0;
}


понедельник, 27 декабря 2010 г.

http://kibsoft.ru/

Get Username 2

you need to include stdlib.h && QtGlobal
QString get_user_name()
{
    char *user_name;
#ifdef Q_WS_WIN //Defined on Windows.
    user_name = getenv("USERNAME");
#endif
#ifdef Q_WS_X11 //Defined on X11.
    user_name = getenv("USER");
#endif
#ifdef Q_WS_MAC //Defined on Mac OS X.
    user_name = getenv("USER");
#endif
#ifdef Q_WS_QWS //Defined on Qtopia Core.
    user_name = getenv("USER");
#endif
    return QString(user_name);
}

воскресенье, 26 декабря 2010 г.

Get Username

http://bytes.com/topic/c/answers/646042-get-username-string-windows-c
WIndows & *nix
http://en.wikipedia.org/wiki/Environment_variable
Only *nix
http://linux.die.net/man/7/environ
on Windows
#include
char *user = getenv("USERNAME");
on *nix
#include
char *user = getenv("USER");

пятница, 24 декабря 2010 г.

foxireader.exe --help

вторник, 21 декабря 2010 г.

суббота, 18 декабря 2010 г.

Proxy Servers For Linux

Если нужен только кэширующий прокси, заменить кальмара поможет Polipo (www.pps.jussieu.fr/~jch/software/polipo) — легкий проксик, ориентированный на небольшое количество клиентов, или популярный Oops! (www.oops-cache.org).
Если нужен контроль доступа и прочие возможности без кэширования данных, обрати внимание на Tinyproxy (www.banu.com/tinyproxy) или 3proxy (3proxy.ru). Если требуется фильтровать web-контент, посмотри в сторону WillowNG (launchpad.net/willowng), bfilter (bfilter.sf.net), WebCleaner (webcleaner.sf.net). Но мы остановимся на DeleGate (www.delegate.org). Причина такого выбора кроется в его кроссплатформенности и многофункциональности. Этот прокси поддерживает работу с большим количеством протоколов (HTTP, FTP, NNTP, SMTP, POP, IMAP, LDAP, Telnet, SOCKS, DNS). Реализовано кэширование данных, фильтрация трафика, аутентификация и другие функции. DeleGate нет в репозитарии Ubuntu, но его установка не сложна.

четверг, 16 декабря 2010 г.

Названы пять величайших Torrent-раздач в мире

Тем временем, самой старой раздачей, начавшейся еще в декабре 2003 года, остается фильм "Матрица" в кодировке ASCII. Его раздает всего один "сидер" и принимают несколько "личеров".

Самой объемной по размеру раздачей за все время существования протокола признана коллекция матчей Чемпионата Мира по футболу 2010 года. Раздача, опубликованная 4 месяца назад, весит 746,7 гигабайт.

Раздача, собравшая за раз наибольшее количество "сидеров" и "личеров", появилась в сети 23 сентября 2008 года, и ее рекорд до сих пор не побит. В этот день первую серию третьего сезона фантастического киносериала Heroes одновременно раздавали и скачивали 144 тыс. 633 пользователя. На сегодняшний день эпизод был загружен более 7 млн раз. Раздача по-прежнему жива.

Еще один рекорд поставила раздача с наибольшим количеством входящих в нее файлов. Согласно данным публичных индексаторов, это раздача программы Magic Workstation, поддерживающей коллекционные карточные игры. В торрент-файл вошло 35 тыс. 256 файлов.

Самый большой трафик собрала раздача долгожданной новой игры Blizzard - StarCraft II. Релиз появился на торрентах три месяца назад. Самый скачиваемый файл игры, весящей 7,19 гигабайта, был загружен 2,3 миллиона раз, дав в сумме 15,77 петабайта.

источник

Nokia QT Help

link

addWidget() !!!

QT Open Source For MS VS x32 & x64

Link

вторник, 14 декабря 2010 г.

QT Fixed Size Dialog


w.setWindowFlags(Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint | Qt::WindowStaysOnTopHint);

Замена Active Directory: Часть 2. Установка и настройка Mandriva

on debian

Русский язык в DOS

HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes
Измените значение строковой переменной 00000409 с "us" на "ru"

В файле c:\WinNT\System32\autoexec.nt пpописываете следующую стpоку:
lh %SystemRoot%\System32\kb16 ru

После перезагрузки системы переключение раскладки клавиатуры в
DOS-приложениях будет производиться комбинациями Ctrl+Left Shift
(английская) и Ctrl+Right Shift (русская).

суббота, 4 декабря 2010 г.

to watch

Season Of The Witch (2011)
Skyline (2010) In Theaters: 11/12/2010
Cowboys & Aliens opens July 29, 2011.
The Rite opens in theatres January 28, 2011!
Blue Valentine (2010) In Theaters: 12/31/2010
Hereafter (2010)
Black Swan 2010

вторник, 16 ноября 2010 г.

http://stackoverflow.com/questions/2526227/c-c-rpc-tutorial-for-linux

вторник, 9 ноября 2010 г.

iconbit hds6l

купил

NMT DVD5 Test Disc

link

среда, 27 октября 2010 г.

study

Cisco Press

пятница, 22 октября 2010 г.

воскресенье, 17 октября 2010 г.

четверг, 14 октября 2010 г.

Интуиция / Serendipity (2001) HDTVRip 720p

link
Мир реки / Riverworld (2010) BDRip 720p
Беовульф / Beowulf (2007) Blu-Ray
Легенда / Legend (версия с музыкой “Tangerine Dream”) (1985) HDTVRip 720p
Принц Персии: Пески времени / Prince of Persia: The Sands of Time (2010) Blu-ray
Цвет волшебства / Terry Pratchett's The Colour of Magic (2008) BDRip 1080p
Запределье / The Fall (2006) BDRip 1080p
Рождественская история / A Christmas Carol (2009) BDRip 1080p
Господин Никто / Mr. Nobody (2009) BDRip 1080
Санта-Хрякус: Страшдественская сказка / Terry Pratchett's Hogfather (2006) BDRip 1080p
Последняя фантазия: Духи внутри нас / Final Fantasy: The Spirits Within (2001) BluRay
Треугольник / Triangle (2009) BDRip 720p
Я воин / I Am Omega (2007) BDRip 1080p
Мутанты / Mimic (1997) Blu-ray Remux
Пришельцы-завоеватели / Evil Aliens [ UNRATED ] (2005) BDRip 720p
Дум / Doom [Unrated Extended Edition] (2005) BluRay
Четвертый вид / The Fourth Kind (2009) BD Remux
Глазоборги / Eyeborgs (2009) BDRip 720p
Яблочное семя 2 / Appleseed: Ex Machina (2007) 1080p BDRip
Яблочное семя / Appleseed 2004 (2004) HDTVRip 720p
Призрак в доспехах 2.0 / Ghost in the Shell 2.0 (2008) BDRip 1080p
Сказки юга / Southland Tales (2006) BDRip 1080
Лунная походка / Moonwalker (1988) Blu-Ray
День, когда Земля остановилась / The Day the Earth Stood Still (2008) BDRip 1080
Инопланетное вторжение / Alien Trespass (2009) BDRip 1080p
Гаттака / Gattaca (1997) BDRip 720p
Соломон Кейн / Solomon Kane (2009) BDRip 1080p
Чернила / Ink (2009) BDRip 1080p
Луна 2112 / Moon (2009) BDRip 1080p
Пандорум / Pandorum (2009) BDRip 1080p
Факультет / The Faculty (1998) BDRip 1080p
Короткое замыкание / Short Circuit (1986) BDRip 1080p
Бросок кобры / G.I. Joe: The Rise of Cobra (2009) BDRip 1080p
Франкенштейн / Frankenstein (1994) BDRip 1080p
Предчувствие / Premonition (2007) BDRip 720p

среда, 13 октября 2010 г.

autorun

http://www.linux.org.ru/forum/admin/4302411

rc-update add hdparm boot
Это в новых версиях rc-update вместо "-a" сделали "add".

> из хелпа не просек в какую строку вписывать btnx-config и можно ли ...
local.start можно считать обычным bash скриптом (см. как он запускается из /etc/init.d/local), т.е. просто вписать туда
sudo cpufreq-set --min 800000 -g ondemand
и всё.


http://forum.ubuntu.ru/index.php?topic=2052.0

Я храню вещи такого рода в отдельной директории (для перестраховки) и создаю симлинк в ~/.kde/Autostart. Если нужно запустить скрипт до старта KDE (при старте системы), то можно сделать так:
Из-под рута:

Код:
touch /etc/init.d/rc.local
chmod 774 /etc/init.d/rc.local
ln -s /etc/init.d/rc.local /etc/rc2.d/S99local
Дальше отредактировать /etc/init.d/rc.local, прописав в нём полный путь до скрипта. Скрипт должен быть исполнсемым, то есть
Код:
chmod +x /имс/скрипта
Можно ещё прописать /windows в /etc/fstab, чтобы он маунтился автоматом и просто создать симлинки в /home/ftp. Тогда имеет смысл настроить сервер так, чтобы никто из юзеров не мог выйти за пределы /home/ftp.

пятница, 8 октября 2010 г.

http://andysoftware.com/rrlan.exe
http://www.compress.ru/archive/CP/2010/2/32/

Материнская плата Gigabyte GA-H55M-UD2H

http://pcmarket.shop.by/3/3698/

суббота, 2 октября 2010 г.

C++ and Qt code snippets

http://code.google.com/p/osdab/downloads/list

пятница, 1 октября 2010 г.

serialization

http://functionx.com/cpp/articles/serialization.htm

http://www.osix.net/modules/article/?id=348

link

Сериализация классов

Сериализация классов
Недавно, я столкнулся с проблемой загрузки и сохранении целиком определенного класса. Поскольку в программировании на таком низком уровне, я был не очень силен – реализация класса который бы проделывал всю эту работу оказалась для меня неожиданной.
Хочу поделиться опытом с читателями, и очень надеюсь сиё произведение поможет кому то...

четверг, 30 сентября 2010 г.

Processor Check for 64-Bit Compatibility v6.0

Processor Check for 64-Bit Compatibility v6.0
Version: 6.0 | 5/09/07 | Build 45731
This is a standalone processor check utility which you can use without
VMware Workstation to perform the same check and determine whether
your CPU is supported for virtual machines with 64-bit guest operating
systems.
Note: This utility is provided without support from VMware.

Download for Windows
h..p://download3.vmware.com/software/wkst/VMware-guest64check-6.0.0-45731.exe
h..p://www.megaupload.com/?d=J2SO450M

Download for Linux
h..p://download3.vmware.com/software/wkst/VMware-guest64check-6.0.0-45731
h..p://www.megaupload.com/?d=EMQ2KYBW

Processor Check Guide
h..p://www.vmware.com/pdf/processor_check.pdf
h..p://www.megaupload.com/?d=U0YYTYZF

понедельник, 27 сентября 2010 г.

CreateProcessWithLogon

http://msdn.microsoft.com/en-us/library/aa379608%28v=VS.85%29.aspx

BOOL WINAPI CreateProcessWithLogonW(
__in LPCWSTR lpUsername,
__in_opt LPCWSTR lpDomain,
__in LPCWSTR lpPassword,
__in DWORD dwLogonFlags,
__in_opt LPCWSTR lpApplicationName,
__inout_opt LPWSTR lpCommandLine,
__in DWORD dwCreationFlags,
__in_opt LPVOID lpEnvironment,
__in_opt LPCWSTR lpCurrentDirectory,
__in LPSTARTUPINFOW lpStartupInfo,
__out LPPROCESS_INFORMATION lpProcessInfo
);

try this

do

{

WCHAR _domain [MAX_COMPUTERNAME_LENGTH + 1];

DWORD l = sizeof _domain;

if (!(_Result = GetComputerNameW (_domain, &l))) break;



LPWSTR

_login = argv[1],

_password = argv[2],

_cmdline = argv[3],

_path = argc > 4 ? argv[4] : NULL;



PROCESS_INFORMATION pi;

_STARTUPINFOW si = { sizeof (_STARTUPINFOW) };



_Result = CreateProcessWithLogonW (_login, _domain, _password,

LOGON_WITH_PROFILE, NULL, _cmdline, NULL, NULL, _path, &si, π);



if (!_Result) break;



CloseHandle (pi.hProcess);

CloseHandle (pi.hThread);

}

while (false);


    procedure TForm1.Button1Click(Sender: TObject);
    var
    hUserToken: THandle;
    UserName, UserDomain, Password:WideString;
    dwLogonType:DWORD;
    begin
    Memo1.Clear;
    UserName:=Edit1.Text;
    UserDomain:=Edit2.Text;
    Password:=Edit3.Text;
    dwLogonType:=LOGON32_LOGON_INTERACTIVE;
    if ComboBox1.Text='LOGON32_LOGON_INTERACTIVE'
    then dwLogonType:=LOGON32_LOGON_INTERACTIVE;
    if ComboBox1.Text='LOGON32_LOGON_NETWORK'
    then dwLogonType:=LOGON32_LOGON_NETWORK;
    if ComboBox1.Text='LOGON32_LOGON_BATCH'
    then dwLogonType:=LOGON32_LOGON_BATCH;
    if ComboBox1.Text='LOGON32_LOGON_SERVICE'
    then dwLogonType:=LOGON32_LOGON_SERVICE;
    if not LogonUserW(PWChar(UserName), PWChar(UserDomain), PWChar(Password),
    dwLogonType, LOGON32_PROVIDER_DEFAULT, hUserToken) then
    begin
    Memo1.Lines.Add(SysErrorMessage(GetLastError));
    end else
    Memo1.Lines.Add(SysErrorMessage(GetLastError));
    CloseHandle(hUserToken);
    end;

воскресенье, 26 сентября 2010 г.

http://www1bpt.bridgeport.edu/sed/fcourses/english/english204/index.htm

четверг, 23 сентября 2010 г.

http://www.foundstone.com/us/resources-free-tools.asp
http://personalfirewall.comodo.com/free-download.html

среда, 22 сентября 2010 г.

Сборка Qt без зависимостей (MS Visual Studio)

link
Часто, при попытке запуска Qt-зависимого приложения на "чистой" системе невозможна из-за отсутствия на ней redistributive paket MS Visual Studio ***. Это тем более становиться неожиданным, когда сам проект компилировался в операционной системе с заведомо установленной студией и никаких проблем не вызывал.

Простое решение - поставить статическую сбоку библиотек в настройке проекта - помогает только для MFC/ATL (не CLR) проектов. Но не для Qt! А всё потому, что изначально, библиотеки Qt:Framework Only для работы в MS Visual Studio содержат зависимости от msvc*.dll.

Задача: убрать зависимость Qt библиотек и приложений, их использующих, от динамических библиотек MS Visual Studio (msvc*.dll).


Все действия проводим до конфигурирования командой configure!

qmake.conf

Для начала изменим файл qmake.conf. Откройте его по адресу \mkspecs\win32-X\qmake.conf, где 'X' это версия Visual Studio:

msvc Visual Studio 6
msvc.net Visual Studio.NET 2002-2003
msvc2005 Visual Studio.NET 2005
msvc2008 Visual Studio.NET 2008

Потребуется внести следующие изменения:

Заменить

QMAKE_CFLAGS_RELEASE = -O2 -MD
QMAKE_CFLAGS_DEBUG = -Zi -MDd

На

QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_DEBUG = -Zi -MTd

Этими ключами мы даем понять компилятору, что при сборке Qt необходимо статически прилинковать все необходимые библиотеки компилятора.

Но при попытке откомпилировать Qt, мы получим ошибку от mt.exe. Читаем дальше.

Manifest

Manifest - это файл, в котором, грубо говоря, описываются все зависимости приложения. При использовании статической компиляции библиотек компилятора, Manifest становится ненужным и не генерируется. И при попытке mt.exe присоединить его к проекту и получается ошибка. Чтобы избавится от этой проблемы, необходимо слегка изменить некоторые файлы.

Способ №1

В уже открытом нами файле qmake.conf:

Заменить

CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files
debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe

На

CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files
debug_and_release debug_and_release_target

Т.е. удалить embed_manifest_dll embed_manifest_exe

Данными изменениями мы в явном виде запрещаем подключения манифестов к проекту.

Способ №2

Зайдем в директорию \mkspecs\features\win32\, и откроем файл embed_manifest_exe.prf с помощью любого текстового редактора.

Заменить

QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
-outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t))

На

QMAKE_POST_LINK = $$quote(@if exist \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" mt.exe -nologo
-manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" -outputresource:$(DESTDIR_TARGET);
1$$escape_expand(\n\t))

Тоже самое проделываем для файла embed_manifest_dll.prf

В измененной строке nmake проверит, сгенерирован ли манифест, и только в этом случае добавит его к проекту. Способ является более универсальным, хотя в большинстве случаев принципиальной разницы между ними нет.

Итог

Теперь осталось только запустить configure.exe с необходимыми вам ключами (включая -static), а затем использовать nmake. Все проекты, создаваемые при помощи qmake, уже будут иметь необходимые настройки.

Проверить проделанную работу можно, используя Total Commander. Достаточно только выделить любое приложение, откомпилированое с данной версией Qt, нажать F3 и во вкладке Dll Dependency убедится в отсутствии в списке MSVCR**.dll.

Опыт применения

Проделанные действия для Qt libraries 4.6.3 for Windows (VS 2008, 194 MB) в приложении к MS Visual Studio 2005 не привели к желаемому результату. Зависимость от MSVCR90.dll, которая наблюдается в Qt4.6.3 изменилась на зависимость от MSVCR80.dll. И, что бы в этом убедится, достаточно запустить компиляцию и дождаться появления (обновления) moc.exe в папке BIN. И F3 в Total Commander сразу подскажет стоит ли продолжать компиляцию.

Тем не менее, следующие действия решили проблему:

1. Выполнить замену ключей компилятора MD на MT и MDd на MTd, как описано выше.

2. Дописать в строке для линковщика QMAKE_LFLAGS = /NOLOGO /DELAYLOAD:\"OleAcc.dll\". Честно говоря, необходимость в этом действии сомнительна. Однако, строка параметров линковщика для проекта, созданного в MS Visual Studio 2005, для Shared... и Static... отличаются именно на /DELAYLOAD:\"OleAcc.dll\"

3. К параметрам configure.exe необходимо добавить ключ -no-crt. Без него линковщик спотыкается на MT (MTd) и выдаёт невообразимые ошибки. Это вызвано тем, что, вероятно, где-то в ключах компилятора прячется -clr, который и не даёт сделать статическую сборку.

Примечание. Применение ключа -static не обязательно для данной задачи. Манифесты так же трогать не обязательно.

Для удобства можно применить *.bat файл, следующего содержания:

::все переменные создадутся локально и будут безболезненно убраны
setlocal
::если у вас когда-то был QNX IDE это поможет
set MAKEFLAGS=
::переменные окружения от студии
call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
::путь куда установилась библиотека
set QTDIR=c:\Qt\4.6.3
set PATH=c:\Qt\4.6.3\bin;%PATH%
::собственно, для чего компилируется
set QMAKESPEC=win32-msvc2005
::перейти в папку с библиотекой
cd %QTDIR%
::на всякий случай %)
nmake confclean
::для ускорения процесса применены -fast -no-qmake
::(повторно компилировать qmake.exe нет необходимости).
configure -debug-and-release -opensource -fast -no-qmake -no-crt
::И без -static всё успешно компирирует
::А вот и причина приводящая к появлению большого количества свободного времени :)
nmake
::Это на случай запуска не из консоли.
pause
::Все переменные окружения безопасно изымаются.
endlocal


Если применялся -static, то в свойствах нового проекта: "Configuration Properties" -> "C/C++" -> "Code Generation" -> параметр "Runtime Library" должен быть выставлен на "Multi-threaded (/MT)".

Сборка Qt без зависимостей (MinGW)

Задача состоит в том, чтобы собрать Qt без зависимостей от сторонних библиотек, т.е. полностью статически. Ключиком -static поставленая задача выполняется не полностью, т.к. Qt собирается с зависимостью от динамической библиотеки MinGW (mingwm10.dll). Эта зависимость может быть убрана путем редактирования qmake.conf.

Все действия проводим до конфигурирования командой configure!
Qt 4.3 и выше

Отредактируйте \mkspecs\win32-g++\qmake.conf: таким образом:

1. Замените

QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

на (add -static)

QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

Qt 4.2 и ниже

Отредактируйте \mkspecs\win32-g++\qmake.conf: таким образом:

1. Замените

QMAKE_CFLAGS_THREAD = -mthreads

на (remove -mthreads)

QMAKE_CFLAGS_THREAD =

2. Замените

QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

на (remove -mthreads, add -static)

QMAKE_LFLAGS = -static -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

Теперь осталось только запустить configure.exe с необходимыми вам ключами (включая -static), а затем использовать mingw32-make.exe. Все проекты, создаваемые при помощи qmake, уже будут иметь необходимые настройки.

nomake in Qt

-nomake

Вот ключики для ускорения компиляции Qt- выкидываем все лишнее из configure:

-nomake tools
-nomake examples
-nomake demos
-nomake docs
-nomake translations

Например:
./configure -nomake examples -nomake demos

понедельник, 20 сентября 2010 г.

SQL Server 2008 on Server Core 2008 R2

In this article and video I’ll show you how to install SQL Server 2008 on Server Core 2008 R2.

Watch the video here: http://www.nullsession.com/tv/

Please note that this is UNSUPPORTED as far as I know!
Update: http://msdn.microsoft.com/en-us/library/ms143506.aspx#EEx64 states that it’s not supported and I’ve got this confirmed via email. Your on your own if you put it in production!

Starting off with a domain joined Windows Server 2008 R2 Core we first need to enable the features we need as prerequisites for SQL Server. These are .Net Framework and Powershell. Note that the WOW-components are enabled also. This makes it possible to run 32-bit software on an x64 platform.

The tool we’re using is the “new” image management tool “dism.exe”.

Dism /online /enable-feature /featurename: NetFx2-ServerCore /featurename: ServerCore-WOW64 /featurename:NetFx3-ServerCore-WOW64 /featurename:NetFx2-ServerCore-WOW64 /featurename: NetFx3-ServerCore /featurename:MicrosoftWindowsPowerShell

Once we’ve added the needed features we’re ready to kick off the SQL Server installation. This is done unattended and you don’t have to extract it first, you can like I do in the video run the installation directly from your downloaded package. It’ll self-extract and run correctly anyway. (At least SQL Server 2008 Express Edition did I’ll say.)

(All on one line, paragraphed for clarity)
Setup.exe /qs /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER
/SQLSVCACCOUNT="yourdomain\sqlserviceaccount"
/SQLSVCPASSWORD="sqlserviceaccountpassword"
/SQLSYSADMINACCOUNTS="yourdomain\sqladminusername"
/AGTSVCACCOUNT="NT AUTHORITY\Network Service"

Once it’s done, which takes 5-15 minutes (your mileage may vary!) we’ll need to:

Stop the service: net stop mssqlserver

Fire up the good ‘ol regedit.exe

Navigate to: HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\TCP

Set Enabled to 1 and exit regedit.exe

Start the service: net start mssqlserver

Once started we have to enable the correct ports in the firewall for remote management to work:

netsh advfirewall firewall [enter]
set rule group=”remote administration” new enable=yes [enter]
add rule name=”Open Port 1433” dir=in action=allow protocol=TCP localport=1433 [enter]

Now we can switch to our graphical box. On this one you’ll have to run the setup and only select the management tools (there’s no how-to on this one since it’s point and click…).

Fire it up and enter the name of your Core-box now running SQL Server!

пятница, 17 сентября 2010 г.

http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/

Intel® C++ Compiler for Linux* - Statically linking Intel provided libraries into your application

Submit New Article

Published On : September 18, 2008 9:00 PM PDT



By default, some Intel provided libraries are linked dynamically into your application, such as libcxaguard.so. This may not be desired, if you plan to run your application on a system that does not have the Intel® C++ Compiler installed on it or you do not want to redistribute the Intel provided libraries with your application.

Use one of the following options to resolve this issue:

  • Link all libraries statically using the -static option. This may not be desired since non-Intel libraries are also linked statically, which can cause a significant increase in the size of the executable.

    OR

  • Link the Intel provided libraries using the -static-intel option. For the 9.1 compiler, use the option -i-static. All other libraries are linked using the default behavior (i.e., system libraries are dynamically linked).
Linking/Linker
--------------

/link specify that all options following '/link' are for the linker
/F set the stack reserve amount specified to the linker
/LD[d] produce a DLL instead of an EXE ('d' = debug version)
/MD[d] use dynamically-loaded, multithread C runtime
/MT[d] use statically-linked, multithread C runtime (DEFAULT with
Microsoft Visual Studio 2005 and later)
/ML[d] use statically-linked, single thread C runtime (only valid in
Microsoft Visual Studio 2003 environment)
/Zl omit library names from object file

среда, 15 сентября 2010 г.

Team


214 488 585 -pes
214 397 627

eXaro

Описание:
eXaro - это свободный генератор отчетов подобно Jasper или Crystal. eXaro очень просто втраивается в любое приложение написанное с помощью кроссплатформенного тулкита Qt. Имеет встроенный графический дизайнер отчетов, предпросмотр сгенерированных отчетов, поиск по содержимому отчета.Позволяет экспортировать отчеты в несколько различных форматов.

https://docs.google.com/document/pub?id=18-et6uH-p43BOTocaSlLnT5_WdzhHumhNYySRL4CHEM

QT Widgets & Apps

IMPOMEZIA Simple Chat

Версия: 0.7.3
Сайт: ссылка...
Лицензия: GPL
Описание: IMPOMEZIA Simple Chat — это простой кроссплатформенный клиент-серверный чат для локальных сетей и Интернета с возможностью индивидуальной настройки под конкретную сеть, с открытыми исходными текстами, написанный на Qt/C++. Разработка была начата 25 марта 2008 года, для нужд небольшой локальной сети Achim Network.

QSpeedTest

Версия: rev16
Сайт: ссылка...
Лицензия: GPL
GUI утилита написанная на C++ с использованием Qt для оценки состояния и скорости интернета или диагностики сетевого доступа и одновременной загрузки тестовых файлов из настраиваемых список целевых серверов.

iTest

Версия: 1.4.1
Сайт: ссылка...
Лицензия: GPL
iTest - это приложение для тестирования знаний. Оно состоит из двух частей: iTestServer - вопрос/ответ редактор БД и сервер. iTestClient - клиент используемый студентами для проверки знаний.

JulyRegApi - класс для удобной работы с реестром Windows

Версия: 1.2
Сайт: ссылка...
Скачать: JulyRegApi.zip
Лицензия: GPL

JulyRegApi - класс для удобного редактирования любых веток реестра Windows на Qt написанный на WinApi JulyRegApi - класс на Qt для удобной работы с реестром Windows Примечания: Все функции являются статическими и можно использовать их не создавая переменных класса. В функцию regWrite можно передавать значения в типах: QByteArray, QString, Int. Тип HKEY_LIST может принимать такие значения в соответствии с веткой реестра: HK_CLASSES_ROOT HK_CURRENT_USER HK_LOCAL_MACHINE HK_USERS HK_CURRENT_CONFIGФункции для получения и записи значений реестра:

QDwm

Версия: 1.0.4.1
Сайт: ссылка...
Лицензия: LGPL
QDwm предоставляет классы, которые позволяют приложениям на Qt использовать особенности Windows Aero.

qDBSync

Версия: 0.0.3
Сайт: ссылка...
Лицензия: GPL
Утилита для работы с командной строкой, для синхронизации неоднородных баз данных. Работает с Qt драйверами (драйвера для SQLite, QDBC, Firebird включены. Драйвера для IBase, DB2, Postgeress, Mysql в зависимости от того, собрана с ними Qt4 или нет.

SQLite Database Browser

Версия: 2.0b1
Сайт: ссылка...
Лицензия: Public Domain
SQLite Database Browser - это open source GUI утилита для создания, проектирования и редактирования файлов баз данных основанных на SQLite. Есть возможность импорта и экспорта в txt, csv и файлы дампов...

oracleqt

Версия: 2009-02-14
Сайт: ссылка...
Лицензия: GPL
Описание:
Драйвер для работы с Oracle на Qt, как для Qt 3 так и для Qt 4. В качестве шаблона был взяты драйвера PostgreSQL для Qt 3 и Qt 4, но код по работе с Oracle был написан с нуля. Смотрите веб-страницу проекта для получения более подробной информации.

clienteODBC

Версия: 0.4
Сайт: ссылка...
Лицензия: GPL
Зависимость: Qt 4.5
Описание:
clienteODBC является приложением для соединения с базами данных MS SQL Server посредством ODBC. Оно написано на Qt 4.5 Opensource edition.

QGoogleTranslate

Версия: 0.1b
Сайт: ссылка...
Лицензия: GPL
QGoogleTranslate, программа для удаленной работы с сервисом Google Translate.
Также программа умеет сворачиватся в системный лоток (tray).

SingleApplication

Версия: 1.0 (Qt 4.4.x)
Сайт: ссылка...
Лицензия: LGPL
SingleApplication - Компонента обеспечивающая возможность запуска Qt-приложения в единственном экземпляре. Эта компонента, схожая по функционалу с коммерческим солюшеном QtSingleApplication.

ipQalc

Сайт: ссылка...
Лицензия:
Описание:
ipQalc это калькулятор IP адресов (и мое первое C++/QT приложение) написанный для помощи школьным друзьям в качестве практических уроков.

NeoUpDownMeter

Сайт: ссылка...
Лицензия:
Описание:
Это приложение было разработано для пользователей Neostrada, но если вы имеете динамический ip, оно и для вас тоже. Приложение поддерживает список передач (загрузок\выгрузок) таким образом вы можете контролировать превышение допустимых пределов передачи.
Вы можете запустить приложение двумя способами:
- daemon - с -d параметром
- normal - без каких-то параметров
Вы можете сначала запустить приложение в качестве демона, а затем как обычное, чтобы увидеть текущие значения.
ВЫЖНО:
app depends on ifconfig, if somethings works wrong type in the console:
# ln -s /sbin/ifconfig /bin
Лицензия: GPL

OneClickFTP

Версия: 0.2.1
Сайт: http://sourceforge.net/projects/oneclickftp Скачать...
Описание:
OneClickFtp is a FTP-Client written in C++/Qt4, with which you can Upload Files with just a few Clicks (exactly two). To do that you have to configure Profiles with the Server, Username, Password an the desired Files. Like that a whole Homepage can be uploaded easily.
OneClickFTP depends on QCA2: http://delta.affinix.com/download/qca/2.0/

Scythia

Версия: 0.9.3-2
Сайт: http://scythia.free.fr/ Скачать...
Описание:
Scythia is a small and unpretentious FTP client. It’s still unstable but already possesses the most common functions. This client use ONLY the Qt library, and doesn’t have other depends.
The code is not very beautiful, but I didn’t have a great experience. Now I try to improve it at most.

QutXR

Версия: 0.7.0 ()
Сайт: ссылка...
Лицензия: LGPL
Описание:
QutXR Qt библиотека основанная на XML-RPC client/server. Она проста в использовании и имеет потоковый серверный класс. Также содержит отличные примеры и документацию, которые помогут быстро написать XML-RPC приложения.

Firewall Builder

Версия: 3.0.3 (Qt 4.x)
Сайт: ссылка...
Лицензия: GPL
Описание:
Firewall Builder 3.0 вводит поддержку IPv6 для iptables, PF брандмауэров и расширенных списков доступа Cisco IOS. Теперь вы можете создавать как IPv4 и IPv6 политики, так и списки доступа для маршрутизаторов, используя тот же графический интерфейс и базу данных объектов, которые представляют сетевые адреса и службы. В этой версии брандмауэра объект может иметь любое число политик и NAT правил, которые могут быть использованы для ветвящихся правил или для генерации пользовательских iptables или PF, которые могут использовать внешние скрипты.

ZeroNet

Версия: 2.1
Сайт: ссылка...
Лицензия: GPL
Описание:
Учет компьютеров, устройств и подсетей в вашей сети. Использует MySQL для хранения данных.

Command Monitor

Версия:
Сайт: ссылка...
Лицензия:
Версия: 0.1 (Qt 4.x)
Сайт: Здесь
Скачать...
Описание:
"Command Monitor" это инструмент, который позволяет периодически выполнять команду и посмотреть результат ее работы. Например, если вы хотите сканировать беспроводную сеть с использованием "iwlist eth1 scan", вы должны повторять команду каждый раз, чтобы видеть есть ли новое. Эта программа делает это для Вас.
"Command Monitor" также позволяет выполнить команды на удаленном компьютере, используя SSH соединение. Теперь вы можете спокойно смотреть количество дочерних процессов Apache на вашем сервере.
Прочтите файл INSTALL, в дистрибутиве, относительно инструкций по установке.
Требует, libssh из Aris Adamantiadis для работы SSH.
Лицензия: GPL