Jabber Pseudo Invisibility
3.4(68%) 5 votes

Description (Brand new method with respect to 0.3.4):

This new version is quite buggy and not reliable. If you want a more reliable version use the stable version 0.3.4!

Adds a Pseudo Invisible status to all Jabber/XMPP accounts. When you’re pseudo invisible you appear online in some of your buddies’s buddy list and offline to all other. You result online to your buddies in Best Friends group.
This method is completely different from the one used in 0.3.4. Maybe someone wants to continue using the old method/version so I’ve kept 0.3.4 in http://siorarina.net/jabber-pseudo-invisibility/

I’m testing it so please if you note some odd behaviors or bugs please contact me!

How it works:

When you change your status to pseudo invisible, the plugin sends a presence unavailable to all buddies not in Best Friends group and every time one of them sends you a presence stanza, the plugin replies with a presence unavailable so that you result always offline.
It should be something similar to privacy list (just move a buddy to Best
Friends group in buddy list to make her/him receive your real status) but much less reliable and much more cheatable.


The main issue in this method is that a buddy who want to discover if you’re
pseudo invisible (hence online) could just send a presence probe and wait for a presence in response that will confirm you’re not really offline.
Another easy hack is to login invisible in Gmail, iGoogle, … using Google Shared Status. This shows all people pseudoinvisible as online.


  • I’ve found that setting an avatar in Google account and not in Pidgin can be an issue because experimentally I’ve observed that cyclically Google servers send a presence (I suppose) to update the avatar. This fact reveals your status to all your buddies.
    Setting an avatar in Pidgin account settings or delete the avatar in Google account settings seems to avoid this issue.
    Unfortunately I’ve checkd this is not true and I’ve not find any effective solution.
  • When Pidgin starts, if status Pseudo Invisible is set then you appear Online for a moment because the plugin can’t avoid “normal” login procedure. You have to result online to the server to get all updates. This should be a very short time but quite enough to be catched.

Main differences with respect to 0.3.4:

  • No more polling (this means low traffic and… cleaner code :))
  • Update status of all buddies (not only the ones in Best Friends group)
  • All buddies can start a chat (in 0.3.4 only you could start a chat)
  • Buddies can easily check if you’re pseudo invisible (read Hack)


Compiled on libpurple 2.10 (this means you have to use this version or newer or try to compile from source!).

ARCH File Last Update Version
Win32 jabber-pseudo-invisibility-0.4.2.win32.zip* 10/01/2012 0.4.2
Linux i386 jabber-pseudo-invisibility-0.4.2.i386.tar.gz 10/01/2012 0.4.2
Linux amd64 jabber-pseudo-invisibility-0.4.2.amd64.tar.gz 10/01/2012 0.4.2
Source jabber-pseudo-invisibility-0.4.2.src.tar.gz 10/01/2012 0.4.2

Old Version

ARCH File Last Update Version
Win32 jabber-pseudo-invisibility-0.3.4.win32.zip* 19/01/2011 0.3.4
Linux i386 jabber-pseudo-invisibility-0.3.4.i386.tar.gz 19/01/2011 0.3.4
Linux amd64 (thanks to dbenux) jabber-pseudo-invisibility-0.3.4.amd64.tar.gz 19/01/2011 0.3.4
Source jabber-pseudo-invisibility-0.3.4.src.tar.gz 19/01/2011 0.3.4

* Tested on Windows XP, Windows 7


Date Version Note
10/01/2012 0.4.2 Misc changes. I’ve tried to avoid sending unnecessary presences
07/01/2012 0.4.1 Now every presence stanza sent by the client is triggered and blist updated. This should resolve erroneous Online status when starting Pseudo Invisible
02/01/2012 0.4.0 Brand new method to get Pseudo Invisibility. No more polling but a weaker and hackable, though cleaner and low-traffic, solution
19/01/2011 0.3.4 Nothing new but I’ve add a Makefile to make compiling easier and more efficient. Now unused dependencies like gtk are no more needed (Finch users should be happy!)


For bugs reporting, hints, … email me at federico.zanco ( at ) gmail.com

How to build:

To build the plugin you have to install gcc, GNU make and pidgin dependencies (or maybe only libpurple if in your os they are distributed separately). I.e. in Debian/Ubuntu, open a terminal and type:
sudo apt-get install gcc make pidgin-dev
then to build type:
to install (default directory is ~/.purple/plugins) type:
make install
You can also create a compressed tar by typing:
make tar

It’s hard for non experts to build the plugin in Windows so the best solution is to download the binary directly from site. If you feel brave you have two ways and all of them explained in
where there’s written to setup a build environment like that in
I’ve included the Mingw Makefile that I use to build my plugins for Windows.

Restart Pidgin after installing/copying. Then in Tools/Plugins you should see Jabber Pseudo Invisibility

How to use:

  1. Compile or Download the plugin for your arch (see above).
  2. Linux: Copy jabber-pseudo-invisibility.so in your purple home dir:
    (if ~/.purple/plugins/ does not exist:
    $ mkdir ~/.purple/plugins/ )
    $ cp jabber-pseudo-invisibility.so ~/.purple/plugins/

    Windows: Move jabber-pseudo-invisibility.dll in Pidgin plugins dir (I suppose you can create C:\Documents and Settings\<user>\Applications data\.purple\plugins and move the plugin there too but I’m not sure). In Windows it should be something like C:\Programmi\Pidgin\plugins\

  3. Restart Pidgin and in Tools/Plugins you should see Jabber Pseudo Invisibility Plugin.

    On loading, the plugin creates the group Best Friends (if you can’t see it enable Offline Buddies in Buddies/Show) and add a new status called Pseudo Invisible. Every buddy in Best Friends group will see you online (DnD with status message: Pseudo Invisible) while you’ll result offline to all others. You can move buddies in/out Best Friends group to/not to notify your presence. Unfortunately there’s no way for the plugin to be notified when you do such a change so after moving a buddy in/out Best Friends group in Contact List Menu you’ve to click on Tools/Jabber Pseudo Invisibility/Update blist to let changes take effect.
    Also note that if you have Inactivity settings enabled you risk to result online (Idle) when the client notify the server. To avoid this, set Disable Idle Reporting and Auto Away in the plugin conf or disable Inactivity settings.
    If have set an avatar in Google account then set an avatar in Pidgin
    account settings. See Issue.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA.

Old Description (0.3.4)

Adds a Pseudo Invisible status to all Jabber/XMPP plugins. When you’re pseudo invisible you result offline (your buddies can’t see you online) and you can monitor the status of your favorite buddies (and start conversations). Read CAREFULLY the section below!!!
By enabling “Send presence online to your Best Friends” options in plugin configuration, you can allow your best friends to see you online. They’ll see your buddy with status dnd (do not disturb) and status message “Pseudo Invisible”.


  • although they can see you online they can’t start conversations. Only you can
  • if a buddy is in Best Friend group and at the same time in another group, that buddy will not be considered a best friend. This means that best friends have to stay only in one group

On loading, the plugin creates the group Best Friends (if you can’t see it enable Offline Buddies in Buddies/Show) and add a new status called Pseudo Invisible. Now, to keep a buddy status up to date move it (or copy it) on Best Friends group and then set status Pseudo Invisible. You can add and remove buddies in Best Friends whenever you want because the list in updated on every timeout.

Configuring plugin you can enable sending online presence to you bestfriends. They’ll see you on line with status dnd (Do Not Disturb) and message status “Pseudo Invisible”, so they know that only you can start a conversation.

Also note that if you have Inactivity settings enabled you risk to result online (Idle) when the client notify the server. To avoid this, set Disable Idle Reporting and Auto Away in the plugin conf or disable Inactivity settings.

WARNING!!! This plugin generate a discrete amount of traffic proportional to the number of buddies in Best Friends group (it does a polling). So, unless you have an high speed Internet connection (and you think your jabber server can support it), it’s not a good idea put all your buddies in Best Friends group!!! You can set the timeout value in Configure plugin. Obviously the lower the value the lower the traffic generated.

– If you enable sending presence to your best friends, they can view you online but they can’t start a conversation. Only you can.

Leave a Reply

Your email address will not be published. Required fields are marked *