Rstext.me restructuredtext slideshows on the cloud
I just made restructuredtext slideshow solution public, under the motto “Getting your slideshows done have never been so easy”.
” The best thing about it is that you can build nice, corporate-looking presentations in just seconds, concentrating in the information instead of the format or the style. We provide a lot of predefined themes, and will give corporate support for bussiness image templates”
David Francos
Rstext.me turns around our current concept of building a slideshow by providing a nice infraestructure to edit and store online your slideshows, in restructuredtext format (a widely used easy-to-read markup language).
You can visit it here
Source: http://blog.rstext.me
/foreach user_in [users] do [commands] in irssi
I just finished my implementation of foreach user_in for irssi.
There was out there a plugin to execute anything for each user in a channel window. I had the requirement to send information to a huge amount of that users (that is, a list of users from my bitlbee channel) but not to all the channel, so I said… Why not a foreach_user indo?
This way, I can, for example, do something like this:
/foreach user in friend_one friend_two friend_three /msg -bitlbee &bitlbee $0: Want a beer? 2100 at my place. /foreach user in contact_one contact_two friend_three /msg -bitlbee &bitlbee $0: Have you checked out my last proyect
For this, just download the script from my github and place it in .irssi/scripts/autorun so it will be auto-executed when starting irssi, and load it with:
/load autorun/foreach_user_in.pl
Adding socks5 support to python-irclib
I was playing with IRC and Proxyes a few weeks ago, and I found out that python’s irclib didn’t support them!
It took me like a minute or so to fix it, just overloading socket with socksocket, you can have a look at my fork in github
try:
import socks, os
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,
os.getenv('proxy_addr'), os.getenv('proxy_port'))
socket.socket = socks.socksocket
except:
pass
So, basically I try importing socks and setting up a default proxy, socks5 (sorry, I haven’t considered socks4 on there), with the environment variables proxy_addr and proxy_port as addr and port.
To use it, you’ll have to get a libirc-based application (there’s a bot included that might be a start) and, before starting it, define proxy_addr and proxy_port
proxy_addr=127.0.0.1; proxy_port=1080; python my_python-irclib_based_foo
Enjoy =)
Presentando MySocialStickers
Presentación
Presentamos MySocialStickers, tu nueva aplicación imprescindible para organizar eventos.
Con MySocialStickers puedes generar identificaciones para los asistentes a un evento basadas en información de twitter
Incluso puedes hacer tus propias tarjetas de visita!
Fuentes de datos
Twitter! De momento MySocialStickers soporta unicamente generar pegatinas en base a twitter. Puedes elejir entre las siguientes fuentes de datos:
- Listas: Organiza eventos de la forma más sencilla
- Seguidores: ¿Quieres organizar un evento y tienes una cuenta de twitter especifica para ello?
- Amigos: ¡Regala MySocialStickers a tus amigos!
- Busquedas: ¿Quieres algo de acción social? ¡Así nacio la idea de MySocialStickers!
- Tu mismo: Presentate de la mejor manera posible.
Personaliza tus tarjetas o tus pegatinas!
Elije entre distintos tamaños predeterminados o inventa tu propio tamaño para tus MySocialStickers. Cambia el color, elije entre QR Code e imagen de perfil, nick o nombre real, puedes darle mil utilidades con cada opcion

Pegatinas sobre ti mismo, con el nick y un código QR
Lo estrenaremos para el Salón del Comic de zaragoza, en el que, a cualquiera que lo pida via twitter con el hashtag #MySocialStickers, le entregaremos (en persona, pedidlas sólo si vais a venir) su pegatina con codigo QR completamente gratis!
Biibot, a bash bot based on II
I was on the IRC channel #debian-es-cachondeo yesterday, talking with @Kumul about II and his rc-based bot and I decided to show him the power of bash. In a few minutes I uploaded to my github a first version of what I think is a nice bot, configurable and scalable, with no useful features… But you can add your own!
First of all, let’s see what it does:
- Manage multiple servers with independent channels
- Enable-disable commands at runtime
- Nice configuration file
- Admin user ACL
- Process management
Building and installing airoscript
This has been tested on debian stable and testing
We’re going to install the lastest version of airoscript, subversion one, as always, we need aircrack-ng among other stuff to get it working. Lastest version of airoscript requires aircrack-ng from subversion, so we’re going to install everything at the same time, including some nasty airoscript deps.
At the end of this article, you’ll find an script that will make everything for you.
Adding nessus support to airoscript
OpenVAS, THE framework for vulnerability scanning and management, is normally used via it’s standard GUI, but I recently discovered it provides a nice batch mode, wich I’ll be using in this post to add it to airoscript, and make a little independient TUI for it.
OpenVAS strcutrue. Source: wikimedia commons
I know that plugins on airoscrip-ng are making it grow bigger than it should, this plugin isn’t even going to enter airoscript-ng on trunk. It’s just an example, for both OpenVAS batch usage and airoscript plugin making (making them portable)
I’m planning on making a simple jabashit based interface to independently load airoscrit-compatible plugins, so that problem will be solved. Then, let’s have a look at the idea of having OpenVAS in airoscript via plugin, it’s fair simple:
enabled_plugins+="Scan selected client with OpenVAS"
wait_for_openvasd() {
while [ "1" ]; do ps aux|grep "openvasd: waiting for incoming connections" && break ; done
}
openvas_autodetect_hosts(){
# Ok, this is not nice for this post, so for now I'll let it unimplemented.
}
rootify(){
# So we are not forced to be root, and made it compatible with ubuntu and debian bot sudo and su.
[[ $UID == 0 ]] && { $@; } || { [[ type -f sudo ]] && sudo $@ || su -c "$@"; }
}
yesno(){
read -p "$@" ans
[[ $ans ~= "y" ]] && return 0 || return 1
}
check_dump_path(){
[[ -n $DUMP_PATH ]] && return 0 || return 1
}
Scan_selected_client_with_OpenVAS(){
check_dump_path || DUMP_PATH="./"
yesno "Have you already configured wireless interface?" || configure
yesno "Autodetect hosts? (If not, you'll be asked to enter them)" && {
openvas_autodetect_hosts
} || {
echo -e "Enter list of hosts, one line each, end with EOF"
cat << EOF > $DUMP_PATH/available_hosts
}
pgrep openvasd || rootify "openvasd &>$DUMP_PATH/openvasd_log &"
wait_for_openvasd && {
read -p "Enter username: " user
read -p "Enter password: " pass
openvas-client -T html_graph -x -q localhost 9390 $user $pass $DUMP_PATH/available_hosts $DUMP_PATH/OpenVAS_results
}
}
Let’s explain this a little. I’ve made a wait_for_openvasd function, wich will wait until openvas sais it’s waiting for incoming connections, so we can safely launch openvasd, then this and if this is successfull openvas-client.
The other two functions, yesno and check_dump_path are for airoscript-ng compatibility. So that right now, you can source that file wherever you want and execute Scan_selected_client_with_OpenVAS and it will work.
I’ll be launching openvas-client in batch mode, without human interaction, and return results in HTML. If you’re in a configured interface, and with a file “Hosts” with all the hosts you want to test, you’d want to use this command:
pgrep openvasd || openvasd &> log & wait_for_openvasd && openvas_client -T html_graph -x -q localhost 9390 YOUR_USER YOUR_PASS ./Hosts OpenVAS_results.html && x-www-browser OpenVAS_results.html
And you’ll get a nice graph opened in your web browser.
Easly creating nice menus with jabashit
This is more like a installing + quickstart guide for jabashit.
First of all, we need to get a working copy of jabashit, and make.
# apt-get install make tar
# wget -O - https://github.com/XayOn/jabashit/tarball/master | tar xvz && make -C XayOn-*
Ok, we’re done for, jabashit is installed on your system =) Easy & nice huh?
Now, we’re making a simple shell script using jabashit, remember, it’s not sh compatible so we have to use bash here.
#!/bin/bash
source $(source_jabashit)
load TUI screen_display # screen_display is a dep of TUI.
mkmenu -t "System utilities" -o "Process monitor" -f "top" -o "Cpu Info" -f "cat /proc/cpuinfo" -o "Exit" -f "echo"
To this point, it’s not much more than I had on previous jabashit release post, but now jabashit has a whole lot of plugins like this one:
#!/bin/bash
source $(source_jabashit)
load device_utils TUI screen_display
_cdtool(){ read -p "$(_ 'Enter device: ')" a; read -p "$(_ 'Enter destination or source file: ')" a; cdtool $1 $a $b; }
mkmenu -t "Cd Utils" -o "Save a CD/DVD to disk" -f '_cdtool save' -o "Burn directory to CD/DVD" -f '_cdtool write_dir' -o "Burn iso image to CD/DVD" -f '_cdtool write_iso'
Codenv project ended. Long life to jabashit!
I stopped Codenv development, as it was going nowhere, and started with jabashit, wich is, mainly, the bash part of codenv + plugin capacity + lots of plugins, and well documented (via a help command extension).Using jabashit you can create a nice menu like the one in the image with:
source $(source_jabashit)
load screen_display TUI
mkmenu -t "Menu title" -o "Option Foo bar baz" -f "echo" -o "Option baz stuff" -f "echo"
Digenpy, windows and android announcement
Thanks to Javier Jarava from RSA.com I ended up adding support to Digenpy for woking on windows. To achieve this, follow this simple steps:
- Install a python intepreter ()
- Install pygtk bundle ()
- Dwonload Digenpy ()
- Install Digenpy:
- Launch digenpy-gtk with python
So… points -1-3 are straightforward, lets start with point 4.
Installing Digenpy
To install digenpy you’ll just have to uncompress it and execute “setup.bat” by double-clicking on it (
)
Then, to launch digenpy-gtk, just double-click on digenpy-gtk.bat
Since lastest versions, I’ve included a simple windows NSI installer, just doble click and install!
I’m also working on an android release, wait for it!





