Main > Free Download Search >

Free fakes software for linux

fakes

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 81
FakeBold Font patches for QT 4.3.x 0.1

FakeBold Font patches for QT 4.3.x 0.1


FakeBold Font patches for QT 4.3.x fake a bold font style and output for some fonts without bold support. more>>
FakeBold Font patches for QT 4.3.x fake a bold font style and output for some fonts without bold support.

It is specially and very useful for CJK fonts. actually it works with all fonts without bold style.

Here I use FT_Glyph_Embolden to get a bold glyph.

These patches is not related to font rendering result, if you want to control font rendering result, please control fontconfig configurations.

Screenshot1: shows bold/bolditalic support with "SOng" and "Hei" Chinese font.

Screenshot1: shows bold/italic support for Chinese,Korean,Yi,Tibetan with Sans fontset(Song,SIL Yi, Tibetan machine uni fonts)

<<less
Download (0.004MB)
Added: 2007-08-10 License: GPL (GNU General Public License) Price:
809 downloads
aria2 0.11.2

aria2 0.11.2


aria2 is a software for downloading files. more>>
aria2 is a software for downloading files.
The transfer can be paused, resumed, queued, and saved. It has a friendly GTK-based GUI and useful log consoles.
It supports URL list importing, CRC checking, HTTP proxy servers, HTTP recursive downloads with various useful options, and cut-and-pasting. It can also handle annoying CGI fake download pages.
Main features:
- Command-line interface
- HTTP/HTTPS GET support
- HTTP Proxy support
- HTTP BASIC authentication support
- HTTP Proxy authentication support(using GET or CONNECT)
- FTP downloading support
- FTP via HTTP proxy(using GET or CONNECT)
- Segmented downloading
- Cookie support(currently aria2 ignores "expires")
- It can run as a daemon process.
- Very low resource usage
Enhancements:
- This release adds SHA256 support and fixes lots of bugs.
- The cygwin/mingw patch was also merged.
<<less
Download (0.43MB)
Added: 2007-08-10 License: GPL (GNU General Public License) Price:
807 downloads
chaostables 0.7

chaostables 0.7


chaostables is a package with iptables/netfilter targets that will foil network scanners. more>>
chaostables is a package with iptables/netfilter targets that will foil network scanners. Documentation on how it works and how to reimplement it in userspace are also provided.

Special features include recognition of all nmap scan types including -sS SYN Scan, proactive slowdown of TCP FNX and UDP (50000+%), and providing back fake nondeterministic information.

<<less
Download (0.46MB)
Added: 2007-08-08 License: GPL (GNU General Public License) Price:
807 downloads
QPSPManager 1.3

QPSPManager 1.3


QPBPManager is a PBP File manager for Linux. more>>
QPBPManager is a PBP File manager for Linux. The software is intended to use as a user friendly GUI to the known tedious pack and unpack processes of the PSP PBP files, directory generation and further copy into the PSP, in order to execute those binary files in PSPs with firmware 1.50.
QPSPManager automates this process to make it a simple task to the end user, who will only have to select a PBP file and the PSP directory, leaving all other tasks to the program. It also provides some other cool features such as selecting custom PNG, PMF and AT3 files to use as an icon or background in the PSP menu.
QPBPManager also allows the user to backup the savegames to the computer and copy those savegames later to the PSP.
Main features:
- Unpacks PBP files and selects automatically the icon and background files from the source file.
- Extracts the program name included in the PBP file and sets it as default output directory.
- Extracts the ELF of the PBP file and packs a fake PBP file without the ELF for showing in the menu of the PSP.
- Allows to select custom icon and background files to use in the menu.
- Allows to select custom video and music files to use in the menu.
- Allows to select the output directory on the PSP and the actual PSP directory, which is saved as an option for further usages, so you only have to configure it once (as long as the PSP directory does not change).
- Provides support for backup the savegames on the PSP to the computer and viceversa.
Although QPSPManager was mainly designed only to transfer PBP files into the PSP so they can be executed through the memory stick menu, Im thinking about new features in future versions non related to PBP file management. Some of those features:
- Conversion and transfering of any kind of video file. It will allow to convert all kind of video files into the PSP format and transfer the files to the PSP to allow viewing them on the console.
- Conversion and transfering of any kind of audio file. It will allow to convert all kind of audio files into the PSP format (mp3) and transfer the files to the PSP to allow hearing them on the console.
Enhancements:
- Added ISO/CISO compression/decompression and transfer support.
- Fixed bug where you couldnt rename a directory in the PSP.
- Changed renaming policy for kxploit.
- Copy file routine changed.
- Support for different linux distributions where mount options change the filenames of the mounted PSP to uppercase.
<<less
Download (0.095MB)
Added: 2007-08-07 License: GPL (GNU General Public License) Price:
507 downloads
oyepa 2.5

oyepa 2.5


oyepa project is a tagging file system. more>>
oyepa project is a tagging file system (a fake but working one); a way to organize (and locate) your documents through the use of tags.
Main features:
- works with documents of any type: text, spreadsheets, images, multimedia files, source code trees, etc
- automatically prompts you to tag any document you create (but only if that doc is being created in one of the dirs you specified)
- lets you store directory trees as single documents (think of, e.g., a source code tree, or a set of pictures taken at the same occasion: you just tag the directory itself, not all the files it contains)
- tag information is stored in the filename, which ensures portability (as long as you dont move your files to filesystems which only support very short filenames) and low risk of losing your documents metadata (since filesystems dont corrupt/accidentally delete the name of a file that often)
<<less
Download (0.037MB)
Added: 2007-08-02 License: GPL (GNU General Public License) Price:
814 downloads
Linux::Smaps 0.01

Linux::Smaps 0.01


Linux::Smaps is a Perl interface to /proc/PID/smaps. more>>
Linux::Smaps is a Perl interface to /proc/PID/smaps.

SYNOPSIS

use Linux::Smaps;
my $map=Linux::Smaps->new($pid);
my @maps=$map->maps;
my $private_dirty=$map->private_dirty;
...

The /proc/PID/smaps files in modern linuxes provides very detailed information about a processes memory consumption. It particularly includes a way to estimate the effect of copy-on-write. This module implements a Perl interface.

CONSTRUCTOR, OBJECT INITIALIZATION, etc.

Linux::Smaps->new($pid)

creates and initializes a Linux::Smaps object. Returns the object or undef if a PID was given and update has failed.
$self->pid($pid) or $self->pid=$pid

get/set the PID.

$self->update

reinitializes the object; rereads /proc/PID/smaps. Returns the object on success or undef otherwize.

$self->lasterror

update() and new() return undef on failure. lasterror() returns a more verbose reason. Also $! can be checked.

INFORMATION RETRIEVAL

$self->vmas

returns a list of Linux::Smaps::VMA objects each describing a vm area, see below.

$self->size
$self->rss
$self->shared_clean
$self->shared_dirty
$self->private_clean
$self->private_dirty

these methods compute the sums of the appropriate values of all vmas.

$self->stack
$self->heap
$self->vdso

these are shortcuts to the appropiate Linux::Smaps::VMA objects.

$self->all
$self->named
$self->unnamed

In array context these functions return a list of Linux::Smaps::VMA objects representing named or unnamed maps or simply all vmas. Thus, in array context all() is equivalent to vmas().

In scalar context these functions create a fake Linux::Smaps::VMA object containing the summaries of the size, rss, shared_clean, shared_dirty, private_clean and private_dirty fields.

$self->names

returns a list of vma names, i.e. the files that are mapped.

<<less
Download (0.006MB)
Added: 2007-07-27 License: Perl Artistic License Price:
820 downloads
pretendroot 0.9

pretendroot 0.9


Pretendroot is an LD_PRELOAD library which overrides some glibc calls. more>>
Pretendroot is an LD_PRELOAD library which overrides some glibc calls, pretending you are root while doing file system operations.

The main difference from Debians fakeroot is that no daemons or other processes are involved, fake ownership and group are stored on the file system, and not in memory, hence it can survive even reboots.

pretendroot library has been successfully used when building packages for the UHU-Linux distribution. All of its applications are compiled and installed as an unprivileged user.

However, theres no need to patch Makefiles; commands such as "install -o root -g mail thisfile ${DESTDIR}/here" work perfectly, and the final packages will have the desired ownership and group.
<<less
Download (0.013MB)
Added: 2007-07-19 License: LGPL (GNU Lesser General Public License) Price:
827 downloads
NRPG RatioMaster 0.36

NRPG RatioMaster 0.36


NRPG Ratiomaster is a small standalone application which fakes upload and download stats of a torrent. more>>
NRPG Ratiomaster is a small standalone application which fakes upload and download stats of a torrent to almost all bittorrent trackers.

This means that it does NOT rely on your bittorrent client (uTorrent, Azureus, etc.) and it will NOT download/upload the files on a torrent - it only can fake download/upload.

The application has hardcoded emulations for the most commonly used BitTorrent clients: uTorrent, BitComet, Azureus, ABC, BitLord, BTuga, BitTornado, Burst, BitTyrant, BitSpirit.

<<less
Download (0.090MB)
Added: 2007-07-16 License: Freeware Price:
568 downloads
GNU Xnee 3.01

GNU Xnee 3.01


Xnee is a suite of programs that can record, replay and distribute user actions under the X11 environment. more>>
Xnee is a suite of programs that can record, replay and distribute user actions under the X11 environment. Think of GNU Xnee as a robot that can imitate the job you just did.
Xnee can be used to:
- Automate tests e.g nightly automatic regression tests
- Demonstrate programs e.g record and replay a user interaction with your system
- Distribute actions e.g teachers actions can be sent to all students desktops
- Record and replay macro e.g Tie a key modifier combination (e.g using xkeymouse) to replay a recorded session. The macro is WM- and program independent.
- Retype a file e.g When testing an editor, Xnee can type in the content of a file. This can be compared with the original and thereby
Xnee consists of a library and two applications:
- cnees not an event amulator Command line program
- gnees not an emulator either Graphical User Interface (GUI) program
- libxnee is basically xnee Library used by cnee and gnee
All Xnee applications (gnee and cnee) receives X11 protocol data (e g XEvents) from an X server using the libxnee and prints them to a file. This file is used later on when replaying.
Events directly generated by the user (e.g KeyPress) can be replayed or faked. Requests, replies, errors and events not directly generated by the user (e.g MapNotify) can be recorded as well. By using these data Xnee applications can replay with synchronisation. This is not only useful but essential.
In order to verify that a program does the job its supposed to do, certain tests have to be made. These tests are, IMHO, perhaps the most boring things a programmer can do. To release the programmer from this burdon Xnee is made.
Xnee started out as a commad line program. During the development phase the main functionality was broken out to a library, called libxnee. The command line program changed its name to cnee. The thought behind making the library was to enable the writing of other clients than just a command line. Today there is a GUI program, gnee that uses the library.
With Xnee testcase(s) can be recorded and later on replayed. Xnee can also distribute events (both when recording and replaying) to other displays.
Xnee uses X Windows System.
Enhancements:
- doc/Makefile.in was missing and has been added. gnee->About->Close and pnee->About->Close were faulty and have been fixed.
<<less
Download (0.48MB)
Added: 2007-07-10 License: GPL v3 Price:
838 downloads
genromfs 0.5.2

genromfs 0.5.2


genromfs project can create romfs images. more>>
genromfs project can create romfs images.
romfs is a space-efficient, small, read-only filesystem originally for Linux and used by some Linux based projects. It is a block-based filesystem, that means it makes use of block (or sector) accessible storage driver (like disks, CDs, ROM drives). It is part of stock Linux kernels since about version 2.1.21 (about January, 1997). All current (2.4--2.6) kernel sources contain support for romfs, but depending on the distributor, it might not have been compiled in.
A working Linux system requires the kernel, and at least some programs running, which obviously needs a filesystem too. Most Linux disk filesystems are designed to be high performance, supporting all POSIX features, sometimes elaborate recovery on crashes (journaling), and that usually makes them quite heavy-weight, and thus often inappropriate in some special purposes.
romfs makes two shortcuts: first, its read-only, you cant simply use your disk if its a romfs disk, you must build its image beforehand. Second, it stores only the absolute minimum required from a filing system. No modification dates, no unix permissions.
Enhancements:
- Compilation fixes were made for the Cygwin platform, and there is less dependence on the ntohl() implementation.
- A segfault is now avoided with nonexistent directories.
- The acceptable names for "fake" device names were made to include the "-", "_", and "+" characters.
<<less
Download (0.020MB)
Added: 2007-06-29 License: GPL (GNU General Public License) Price:
859 downloads
Gizmo Daemon 3.3

Gizmo Daemon 3.3


Gizmo Daemon is the Linux Input Device Utility. more>>
Gizmo Daemon is the Linux Input Device Utility.
Ever want to make use of those keyboard keys and mouse buttons that X wont let you use? Ever want to quickly define a keyboard shortcut to do something like change or mute the volume? Ever want to use your joystick, second mouse, Griffin PowerMate, or any other random device you can think of to do fun things like control applications, switch desktops, switch tracks in XMMS / BMP, launch programs, or do pretty much anything else you can think of?
Are you a MythTV user? Got an RF or IR (LIRC) Remote? Annoyed with how frustrating it is to map keys, or is the remote super touchy? Would you like a simple easy way to configure your remote, and have it function properly at the same time? Want to have different key maps based on what application is currently being used?
Gizmo Daemon does all of that, and more! Gizmo Daemon operates on a fairly simple philosophy: let the user decide. Any and all device events are sent to the configuration scripts, and from there the user can decide what should be done with those events. A number of functions are exposed to the scripts which allows the script to interact with any of the loaded device plugins in any way desired.
Main features:
- Control any application with any device
- Utilize those special keys on your fancy keyboard, even if your X server or terminal doesnt support them! Now you can actually make the volume controls change the volume, or the media buttons control XMMS / BMP! Set the buttons to launch your favorite programs, switch virtual desktops, or run whatever application you want!
- Give per application key mappings, very handy for remote users!
- Fix touchy remotes by removing quick duplicate keystrokes
- Control system mixer volume
- Change virtual desktops (only for EWMH capable window managers)
- Launch programs
- Send keyboard and mouse events to applications
- Send device events from one device to another, or create fake device events (control a mouse cursor with a joystick, or keyboard)
- Visualization of system events such as CPU USage, and XMMS / BMP sound output on visual devices (such as the LED on the Griffin PowerMate USB Dial).
- Fancy on screen displays via XOSD. Now your workstation or MythTV box can have nice TV friendly volume displays controlled by your remote!
- And more! Anything you can think of is probably possible
Enhancements:
- Add Powermate setRotateSensitivity function
- New variable in GizmoDeviceStrings.py called
POWERMATE_ROTATE_SENSITIVITY for this!
- Add PowermateEvent ClickTime property (duration of button press)
- Add GizmodThread class for creating threads from Python
- DO NOT USE!! (HIGHLY EXPERIMENTAL!)
- Add GizmodTimer class for creating timer objects from Python
- Add script 200-Powermate-ButtonTimeout for generating button
timeout events
- New variable in GizmoDeviceStrings.py called
POWERMATE_BUTTON_TIMEOUT for this!
- Add script 201-Powermate-Beryl
- So far this detects a powermate button timeout and
unfolds the beryl cube, and lets you scroll the unfolded
cube with the dial
- Add base script GizmoScriptAltTabber so that devices have an
easy way of sending Alt-Tab events
- New variable in GizmoDeviceStrings.py called
ALT_TAB_TIMEOUT for this!
- Add remote ?00-Intercept scripts for alt-tabbing support
- This allows the default mapping to start alt-tab
and to still alt-tab passed applications (if alt-tab
actually focuses apps) if those apps happen to use
the same button that initialized the alt-tab
- Add Gizmod namespace to libGizmod
<<less
Download (0.99MB)
Added: 2007-06-28 License: The Apache License 2.0 Price:
851 downloads
B::CC 5.8.8

B::CC 5.8.8


B::CC is Perl compilers optimized C translation backend. more>>
B::CC is Perl compilers optimized C translation backend.

SYNOPSIS

perl -MO=CC[,OPTIONS] foo.pl

This compiler backend takes Perl source and generates C source code corresponding to the flow of your program. In other words, this backend is somewhat a "real" compiler in the sense that many people think about compilers. Note however that, currently, it is a very poor compiler in that although it generates (mostly, or at least sometimes) correct code, it performs relatively few optimisations. This will change as the compiler develops. The result is that running an executable compiled with this backend may start up more quickly than running the original Perl program (a feature shared by the C compiler backend--see B::C) and may also execute slightly faster. This is by no means a good optimising compiler--yet.

OPTIONS

If there are any non-option arguments, they are taken to be names of objects to be saved (probably doesnt work properly yet). Without extra arguments, it saves the main program.

-ofilename

Output to filename instead of STDOUT

-v

Verbose compilation (currently gives a few compilation statistics).

--

Force end of options

-uPackname

Force apparently unused subs from package Packname to be compiled. This allows programs to use eval "foo()" even when sub foo is never seen to be used at compile time. The down side is that any subs which really are never used also have code generated. This option is necessary, for example, if you have a signal handler foo which you initialise with $SIG{BAR} = "foo". A better fix, though, is just to change it to $SIG{BAR} = &foo. You can have multiple -u options. The compiler tries to figure out which packages may possibly have subs in which need compiling but the current version doesnt do it very well. In particular, it is confused by nested packages (i.e. of the form A::B) where package A does not contain any subs.

-mModulename

Instead of generating source for a runnable executable, generate source for an XSUB module. The boot_Modulename function (which DynaLoader can look for) does the appropriate initialisation and runs the main part of the Perl source that is being compiled.

-D

Debug options (concatenated or separate flags like perl -D).

-Dr

Writes debugging output to STDERR just as its about to write to the programs runtime (otherwise writes debugging info as comments in its C output).

-DO

Outputs each OP as its compiled

-Ds

Outputs the contents of the shadow stack at each OP

-Dp

Outputs the contents of the shadow pad of lexicals as its loaded for each sub or the main program.

-Dq

Outputs the name of each fake PP function in the queue as its about to process it.

-Dl

Output the filename and line number of each original line of Perl code as its processed (pp_nextstate).

-Dt

Outputs timing information of compilation stages.

-f

Force optimisations on or off one at a time.

-ffreetmps-each-bblock

Delays FREETMPS from the end of each statement to the end of the each basic block.

-ffreetmps-each-loop

Delays FREETMPS from the end of each statement to the end of the group of basic blocks forming a loop. At most one of the freetmps-each-* options can be used.

-fomit-taint

Omits generating code for handling perls tainting mechanism.

-On

Optimisation level (n = 0, 1, 2, ...). -O means -O1. Currently, -O1 sets -ffreetmps-each-bblock and -O2 sets -ffreetmps-each-loop.

<<less
Download (12.2MB)
Added: 2007-06-26 License: Perl Artistic License Price:
855 downloads
spamdyke 2.6.3

spamdyke 2.6.3


spamdyke is a drop-in filter for qmail to provide connection-time blacklisting, graylisting, DNS RBL checking, improved logging. more>>
spamdyke is a drop-in filter for qmail to provide connection-time blacklisting, graylisting, DNS RBL checking, improved logging, and more spamdyke project is a standalone program that does not use qmail source code or require patching/recompiling qmail.
For anyone who runs a mail server, spam is a problem. Its a huge problem and its only getting bigger. Unfortunately, qmail doesnt have many facilities for dealing with spam. qmail also doesnt do good logging. The qmail logs are probably useful to qmail developers but not to system administrators. Consider:
- Qmail doesnt log with a human-readable time format.
- Qmail logs dont track usable information (like senders and recipients).
- Qmail doesnt log to a single log file, making it very difficult to track an email from connection to delivery.
- Qmail logs roll over after a set size is reached (could be a few hours, could be a few minutes).
All of these things makes qmail very difficult to troubleshoot or monitor. spamdyke solves this. It monitors incoming traffic, acting as a middleman between qmail and the remote server. It catches the sender and recipient addresses as they go by and logs them to syslog. If it sees something it doesnt like (e.g. a blacklisted sender), it cuts the connection, closes qmail and fakes the rest of the SMTP transaction with the remote server. qmail thinks the remote server disconnected normally. The remote server thinks qmail is rejecting the message. Its the best of both worlds.
Some history: DJBs ucspi-tools package includes a handy little program called rblsmtpd for checking incoming SMTP connections against a DNSRBL. Initially, this seemed like a great thing (and it was) but it didnt go far enough. Lots of spam still came through. So after extending rblsmtpd to do more and more and more things, a limit was finally reached where it wouldnt go any further. Thus, spamdyke was born.
Main features:
- Reject the connection if the remote server has no reverse DNS entry.
- Reject the connection if the remote servers reverse DNS entry does not resolve.
- Reject the connection if the remote servers reverse DNS entry contains its IP address and a prohibited keyword (like "dynamic").
- Reject the connection if the remote servers reverse DNS entry contains its IP address and ends in a country code (whats the japanese word for "dynamic"?).
- Reject the connection if the remote servers IP address is listed in an IP blacklist.
- Reject the connection if the remote servers reverse DNS entry is listed in a domain name blacklist.
- Reject the connection if the remote servers IP address is listed in a given DNS realtime blacklist.
- Reject the connection if the remote server sends data before the SMTP greeting banner is displayed (earlytalkers).
- Reject the connection if the senders address is listed in a sender blacklist file.
- Limit recipients to a maximum number per connection. (Yes, this goes against RFC 821 but legitimate mail servers retry the rejected recipients, spammers dont.)
- Graylist incoming mail to specific domains (some domains can enjoy graylisting while others do not).
- Close the connection after a set idle time.
- Close the connection after a set maximum time.
Those filters end up rejecting more than 99.9% of the incoming connections to my mail server. As a result, I receive (on average) less than one spam message PER WEEK! (Down from a high of 70+ per day.) Regular correspondance with real people has not suffered.
Graylisting deserves special mention. As of 2007, its not widely used (and therefore still effective against spammers). Heres how it works:
An incoming connection is received and the sender and recipient are identified.
A log is consulted to see if the sender has sent email to the recipient before. If so, the message is accepted. If not, the message is rejected with a temporary rejection code and a log entry is made.
When the remote mail server retries the message (usually only a few minutes later), the previously-logged connection is noted and the message is accepted.
Simple, right? After the system is activated, regular correspondents first email is delayed a few minutes. After that, there are no delays. But the spam stops because most spammers dont retry their deliveries! Even when they do, they usually change their sender address to a new (fake) one, which gets graylisted.
Graylisting is amazing and makes a tremendous difference (for now). spamdyke will also:
- Bypass all filters if the remote servers IP address is listed in an IP whitelist file.
- Bypass all filters if the remote servers reverse DNS entry is listed in a domain name whitelist file.
- Log meaningful messages to the syslog (very unlike qmails logs).
- Log all SMTP traffic to aid diagnosing problems.
Enhancements:
- This release fixes a serious bug that was causing lost mail when the remote server sent the message and disconnected in a burst without waiting for a response.
- Code has been added to translate bare line feeds into carriage return+line feeds.
- Support has been added for MUAs that send their username with their AUTH LOGIN command.
<<less
Download (0.043MB)
Added: 2007-06-22 License: GPL (GNU General Public License) Price:
858 downloads
jdresolve 0.6.1

jdresolve 0.6.1


jdresolve is a software that resolves IP addresses to hostnames. more>>
jdresolve is a software that resolves IP addresses to hostnames. Any file format is supported, including those where the line does not begin with the IP address. One of the strongest features of the program is the support for recursion, which can drastically reduce the number of unresolved hosts by faking a hostname based on the network that the IP belongs to.

DNS queries are sent in parallel, which means that you can decrease run time by increasing the number of simultaneous sockets used (given a fast enough machine and available bandwidth). By using the database support, performance can be increased even further, by using cached data from previous runs.

HOW IT USED TO WORK

jdresolve used the algorithms describe below up to version 0.2.

The initial version of jdresolve tried to only speed up the name resolution by implementing numerous concurrent requests. I The first problem was: how to resolve the maximum possible number of IPs concurrently without reading the whole log file into memory (they can get quite _huge_)? I figured Id need a 2 pass approach, collecting all distinct host IPs that needing resolving in the first step, then resolving them efficiently inside a loop, and finally just replacing the resolved IPs on the second pass through the log file.

This way we can garantee that the resolve queue will always be full with no need to weight that against how many lines of buffered log entries we would need to cache. The number of distinct IP addresses tend to be quite lower than the number of lines in the log file, and the IP part takes about only 1/20th of the log line, so we cant be using too much memory just by putting a few hundred or thousand small strings into a hash.

After looking thru CPAN, I came across the excellent Net::DNS module and was more than happy to note that it already provide a subroutine and examples for background queries. Just add IO::Select to that and you have a full non-blocking aproach to multiple concurrent queries. You can even specify the timeouts to make the name resolving even more efficient.

Having this much done, I was quite happy to have the fastest log resolving routine I have come accross. By setting the numbers of concurrent sockets and timeouts you could fine tune the beast to resolve names _very_ rapidly. But still there where about 25% of the IPs left unresolved...

"This is not much help", I thought. I need to know _at least_ from what country these people are accessing from. After a few not very scientifical aproaches, I realized that by recurring thru the DNS classes (C, B and finally A) and checking for the host listed in the SOA record I could be pretty sure this was a father domain to the IP. The implementation goes like this: find out all distinct IP addresses, then determine which C, B and A classes contain these addresses. Make up a list from these queries and send them thru a resolver in chuncks of 32 (configurable via the command line). If a socket times out, leave that request unresolved.

After running a big log file against the recursive aproach, I determined it didnt take much longer to resolve it at all. Full class domains tend to have decently configured DNS servers, and you get a lot of repeated classes when resolving your logs. The best was still to come: 0 unresolved IPs :) And since that I havent found an IP that cant be determined at least to its A class.

HOW IT WORKS NOW

The above algorithm works extremely well except for the case of very large logs (>100Mb). The hashes containing IPs and their parent A/B/C classes gets pretty huge doesnt fit in memory any more.

So as of v0.3, we have a new 1 pass approach. We have a line cache that holds 10000 lines (configurable with -l, dont set it much lower). Using my test base it looks like each 10000 lines take about 4Mb of RAM during processing (thats the log lines themselves plus the hashes and arrays used for caching/processing). Each IP and class to be resolved has a count value, which is increased every time a line with that number is read, and decreased after we print out a resolved line with that reference value.

Think of it as a "moving window" method, and that we do our own garbage collection. The process pauses if the first line in our line cache is still unresolved, we dont have any more sockets, or were waiting for socket data. We cant control the last two items, but to minimize the pauses do to yet unresolved lines, increase the -l value if you notice pauses during resolving. There should be enough lines cached so that even if we have timeouts on sockets we are still waiting for other socket data to come in, not just for 1 single socket to time out.

Using this method the memory usage during executing is almost constant. So you can determine how much RAM you wish to use for resolving names and set your -l value and forget about it. Theres really no performance loss when compared to the resolved.log

If you simply run the script as you would with the Apache logresolve program, you get the same results, only much faster. But if you want really take advantage of jdresolve, you should at least turn on the -r option for recursive resolves. As of version 0.2, the -m option takes a mask as an argument. The valid substitutions are %i for the IP address and %c for the resolved class. So an IP like 1.2.3.4 with a mask of "%i.%c" (the default) would become something like "1.2.3.4.some.domain". A mask of "somewhere.in.%c" would turn it into "somewhere.in.some.domain".

The -h switch shows you basic help information. The -v switch will display version information. Use -d 1 or -d 2 (more verbose) to debug the resolving process and get extra statistics. If you dont care for the default statistics, use -n to disable them.

After some runs you may want to change your timeout value. The -t option accepts a new value in seconds. For even better performance, use the -s switch with a value greater then 32, but remember that many operating systems have a hard coded default for open files of 256 or 1024. Check your systems limit with "ulimit -a".

New in v0.3 is the -l switch, which specified how many lines we will cache for resolving. The default is 10000, but can be vastly incremented without using too much RAM, as explained in "HOW IT WORKS".

After you used jdresolve on the log file, you can check which ips where left unresolved by using the --unresolved option on the file that was generated.

WHAT DOES RHOST DO?

rhost is a quick script to take advantage of the new STDIN functionality of jdresolve. Many times you use the host command to resolve a single IP (like host 200.246.224.10). As with standard log resolvers, host doesnt do recursion. So rhost just calls jdresolve with the apropriate parameters to resolve that single IP number. The syntax is rhost .

DATABASE SUPPORT

As of version 0.5, jdresolve provides simple database support thru db (dbm, gdbm, sdbm, etc) files. You can use the --database switch to specify the db file and that will allow for fallback in case some DNS servers are down and also performance improvements since you can lower your timeout value without sacrificing resolved percentage.

To use the database support, just supply a database name (i.e. hosts.db) using the --database option. If it does not yet exist, a new database with that name will be created. All resolved hosts and classes during a jdresolve run will be cached to the database.

After you have some data in a db, you can use --dumpdb to look at it. With --mergedb to add new information to it (the format of the input file is the same as the one from a dump using --dumpdb, e.g. an ip/class followed by the hostname/classname, separated by white space)

Ex: echo "0.0.0.0 testip" | jdresolve --database hosts.db --mergedb -

...adds and IP entry to the db

Ex: echo "0.0.0 classname" | jdresolve --database hosts.db --mergedb -

...adds a class entry to the db

Note: Since when recursing the resolved hostnames are stored to the database (even when resolved by recursion), you _may_ not want to use the same database for normal and recursed runs. That is because a cached host from a resolved run will show up as a "real" IP if you dont recurse and use the --dbfirst or --dbonly options, or just use the database and the lookup times out. Nothing too serious, but this detail may be important to some people.
<<less
Download (0.050MB)
Added: 2007-06-21 License: GPL (GNU General Public License) Price:
855 downloads
x11vnc 0.9.2

x11vnc 0.9.2


x11vnc is a program that allows one to remotely view and interact with real X displays. more>>
x11vnc allows one to remotely view and interact with real X displays (i.e. a display corresponding to a physical monitor, keyboard, and mouse) with any VNC viewer. In this way x11vnc plays the role for Unix/X11 that WinVNC plays for Windows.
I wrote x11vnc because x0rfbserver was basically impossible to build on Solaris and had poor performance. The primary x0rfbserver build problems centered around esoteric C++ toolkits. x11vnc is written in plain C and uses only standard libraries. I also added a few enhancements to improve the interactive response, add esoteric features, etc.
For Unix, the VNC implementation includes a virtual X11 server Xvnc (usually launched via the vncserver command) that is not associated with a physical display, but provides a "fake" one X11 clients (xterm, mozilla, etc.) can attach to. A remote user then connects to Xvnc via the VNC client vncviewer from anywhere on the network to view and interact with the whole virtual X11 desktop.
The VNC protocol is in most cases better suited for remote connections with low bandwidth and high latency than is the X11 protocol (the exception is cached pixmap data on the viewing-end). Also, with no state maintained the viewing-end can crash, be rebooted, or relocated and the applications and desktop continue running. Not so with X11.
Enhancements:
- A compile-time bug is fixed for when the OpenSSL library is not available or --without-ssl is supplied; previously the build would fail.
- One can configure x11vnc via "configure --with-system-libvncserver" to use a system installed libvncserver library instead of the one bundled in the release tarball.
- If UltraVNC file transfer or chat is detected, then VNC clients are "pinged" more often to prevent these side channels from becoming serviced too infrequently.
- In -unixpw mode in the username and password dialog no text will be echoed if the first character sent is "Escape". This enables a convenience feature in SSVNC to send the username and password automatically.
Miscellaneous new features and changes:
- When building from the CVS tree --with-x11vnc must be supplied if you want x11vnc to be built. The LibVNCServer release tarball no longer contains the x11vnc source.
<<less
Download (0.93MB)
Added: 2007-06-18 License: GPL (GNU General Public License) Price:
865 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5