Welcome
This page lists my software which I've released under one of the Free Software Licences (like
the GNU GPL) and which I think someone may find useful.
All of my programs have English comments.
Contents:
Mirros of this site:
I've written some Perl
scripts and macros for those who write programs in assembly language.
You'll find them here.
(skip to LibSecRm)
This is a program which will securely wipe (clean, shred, fill, overwrite)
the free space on the following filesystem types:
- ext2, ext3, ext4
- NTFS
- XFS
- ReiserFSv3, ReiserFSv4
- FAT12, FAT16, FAT32
- MinixFSv1, MinixFSv2
- JFS
- HFS+
- OCFS
located in a file, on a partition or drive, just like the
shred
program securely wipes files.
WipeFreeSpace wipes the following things (when supported by the backing library):
- free space (space in unused blocks/clusters)
- free space in partially used blocks (also called the "slack space")
- deleted files' names and other data that can be used to undelete a file (like the journal)
WipeFreeSpace does NOT decrease the amount of available free space when
working.
WipeFreeSpace and WipeFreeSpaceGUI-java come in two languages: English and Polish.
wipefreespace-2.2.2.tar.gz
(2018-01-14)
(signature)
wipefreespace-2.2.2-2.i386.rpm
(2018-01-14) -
built on Fedora, requires RPM packages containing the following libraries:
- libc.so.6 (glibc >= 2.11)
- libcom_err.so.2 (usually from a "e2fsprogs" package)
- libext2fs.so.2 (usually from a "e2fsprogs" package)
- libcap.so.2
- libntfs.so.10 (ntfsprogs or ntfs-3g_ntfsprogs package)
- libuuid.so.1 (UUID_1.0) (e2fsprogs or e2fsprogs-libs)
- libaal-1.0.so.5 (libaal)
- libreiser4-1.0.so.7 (reiser4progs)
- xfsprogs
- rtld(GNU_HASH)
- libhfsp.so.0
wipefreespace-2.2.2-1.src.rpm
(2018-01-14)
(requires: gcc, glibc, glibc-devel, glibc-headers, make and at least one of
the devel packages for the supported filesystems)
WipeFreeSpaceGUI-java binary release (requires Java):
WipeFreeSpaceGUI-java-bin-0.5.tar.gz
(2016-03-20)
(signature)
WipeFreeSpaceGUI-java source code (a NetBeans project):
WipeFreeSpaceGUI-java-src-0.5.tar.gz
(2016-03-20)
(signature)
Now also available at wipefreespace.sourceforge.net.
WipeFreeSpace has been added to
Softpedia Linux.
WipeFreeSpace has been added to
GearDownload.com
and has been certified 100% CLEAN
WipeFreeSpace has been added to
FamousWhy: WipeFreeSpace.
WipeFreeSpaceGUI-java has been added to
Softpedia Mac,
Softpedia Linux
and
Softpedia File Management
and has been certified 100% FREE
WipeFreeSpaceGUI-java has been added to
Brothersoft.
WipeFreeSpaceGUI-java has been added to
GearDownload.com
and has been certified 100% CLEAN
WipeFreeSpaceGUI-java has been added to
Softsea.com
and has been certified 100% CLEAN
WipeFreeSpaceGUI-java has been added to
FamousWhy: WipeFreeSpaceGUI
(alternative link).
THE PROGRAM HAS BEEN TESTED, BUT IT MAY NOW OR LATER CONTAIN ERRORS, WHICH MAY LEAD TO DATA LOSS.
ALWAYS BACKUP YOUR DATA BEFORE USING THIS PROGRAM. READ THE LICENSE FOR A WARRANTY (THERE IS NONE).
A similar Free program (which also wipes files)
exists for Windows - Eraser.
(skip to KonqSec)
LibSecRm (LIBrary for SECure ReMoval of files) is a library which partially
(read the documentation for limitations)
ensures secure data deleting by intercepting calls to some C library functions and
replacing them by its own substitutes. This way, LibSecRm protects your sensitive
deleted data from being recovered.
libsecrm-2.8.tar.gz
(2019-02-17)
(signature)
libsecrm-2.8-1-omv2015.0.x86_64.rpm
(2019-02-17) - built on OpenMandriva, requires
RPM packages containing the following libraries:
- libc.so.6 (GLIBC_2.4)(64bit)
- libdl.so.2 (GLIBC_2.2.5)(64bit)
libsecrm-devel-2.8-1-omv2015.0.x86_64.rpm
(2019-02-17)
libsecrm-2.8-1.src.rpm
(2019-02-17) (requires: gcc, glibc, glibc-devel
and make)
libsecrm-debuginfo-2.8-1-omv2015.0.x86_64.rpm
(2019-02-17)
Now also available at libsecrm.sourceforge.net.
LibSecRm has been added to
Softpedia Mac and
Softpedia Linux.
LibSecRm has been added to
FamousWhy: LibSecRm
and has received the Famous Software Award
THE LIBRARY HAS BEEN TESTED, BUT IT MAY NOW OR LATER CONTAIN ERRORS, WHICH MAY LEAD TO
UNINTENTIONAL DATA LOSS. READ THE LICENSE FOR A WARRANTY (THERE IS NONE).
(skip to JYMAG)
KonqSec (KONQueror
with SECurity) is a set of Konqueror (in file manager mode) and Dolphin (KDE4 file manager)
context menu entries for security-concious people. These entries include:
- Secure removal of files using
shred
- Secure removal of directories. This uses
shred
to wipe regular files first,
then it renames each found subdirecotry and the directory being removed
25 times with random numbers. Then the direcory is removed the traditional
way, using rm -rf
- Mounting block devices and regular files using TrueCrypt
- Unmounting directories using TrueCrypt
- Wiping block devices (without removing them) using
shred
(the filesystem itself is destroyed too)
- Wiping free space on filesystems on block devices or inside regular files using
the above
wipefreespace
utility.
- Encrypting and decrypting files using OpenSSL and the Blowfish algorithm.
KonqSec.zip
(2016-03-20)
(signature)
Konq4Sec.zip
(2016-03-20)
(signature)
INSTALL: after unzipping, run KonqSecInstall.sh (for KDE3)
or Konq4SecInstall.sh (for KDE4).
NOTE: The recursive removing script requires the sed, Perl, nl, sort,
dirname, seq, wc, date, shred, find, seq and sync utilities.
(skip to LibHideIP)
JYMAG (Java Your Music And Graphics) is a program for communicating with mobile phones.
The program's main functionality is to be a Free (as in Freedom) 'My Pictures and Sounds' Sagem
mobile software replacement
for Linux and not only Linux - it should run on any system, which has
Java and
RxTx Java Transmission package from one of the pages:
The program allows retrieving and sending multimedia and other
objects from and to a Sagem mobile phone (tested on Linux with a
"Sagem MY X5-2") and performing other operations.
JYMAG can also be used with other phones and devices (modems) and serve as
a general-purpose serial port terminal or a Java library for programmers.
JYMAG comes in two languages: English and Polish.
Features:
- works with Sagem myX5-2 (probably other phones also work). Tested on Linux
with a Forever USB cable containing a Prolific PL-2303 chip.
- can download:
- lists of pictures, ringtones, addressbook entries, to-do tasks, events, animation/videos,
alarms and SMS messages
- pictures in JPG (both Sagem and non-Sagem), BMP, GIF, PNG and WBMP formats,
unverified: TIFF, PICT, EPS, PS, SVG, SVG+GZIP, SVG+ZIP, WMF, CGM, PMB
- ringtones in MIDI, AMR and WAV formats, unverified: AIFF, IMY, AAC, MP3
- addressbook entries (vCards)
- to-do tasks
- events (reminders, ...)
- animation/videos in GIF and MNG formats, unverified: WMV, MP4, MPEG
- multiple files (of one type) with a single click
- can upload/update/send:
- pictures in JPG, BMP, GIF, PNG and WBMP formats, unverified: EMS_GR, TIFF, PICT, AI,
EPS, PS
- ringtones in MIDI, WAV and AMR formats,
unverified: IMY, ASG1, ASG2, MP3, MFI, AAC, AWB
- addressbook entries (vCards)
- to-do tasks
- events (reminders, ...)
- animation/videos in GIF and MNG formats, unverified: EMS_AN, MJPG, AVI, MP4, MPEG,
3GP, 3GP2, SG1, SG2, SSA
- Java files: unverified: JAR, JAD, JAM
- alarms
- SMS messages
- can delete the following from the phone: pictures, ringtones, addressbook entries,
to-do tasks, events, animation/videos, alarms and SMS messages
- can dial numbers
- written in Java, thus portable - will run under Linux and probably under Windows,
Solaris, ... wherever you can install Java and
RxTx
- has a Graphical User Interface
- can detect which port your phone is connected to (actually, should detect anything that
replies with an OK to an AT command, including modems)
- can detect your phone's type, firmware version (after all the ports are scanned), IMEI number
and subscriber phone number
- allows to set any communication port property (data bits, stop bits, flow control,
speed, parity checking)
- automatically detects downloaded file's type
- automatic reconnection if waiting time has expired
- can be used non-interactively, through a command-line interface (this still
requires RxTx), run with
--help
to get the currently supported command line options
- allows manual command sending
- allows easy translation to other languages
- allows saving and loading the current configuration (port and window settings)
- allows reading the phone's capabilities (types of accepted files)
- is licenced under the GNU General Public License (GPL), version 3 "or later"
- can work as a general-purpose serial port terminal
- shows signal power
Binary release:
JYMAG-bin-1.6.tar.bz2
(2018-06-09)
(signature)
Windows binary release:
Setup-JYMAG-1.6.exe
(2018-06-09)
(signature)
Windows binary release, digitally signed:
Setup-JYMAG-1.6-signed.exe
(2018-06-09)
(signature)
Windows RxTx binary release:
Setup-RxTx-2.1.7.2.exe
(2016-03-20)
(signature)
Javadoc:
JYMAG-javadoc-1.6.tar.bz2
(2018-06-09)
(signature)
Source code (a NetBeans project):
JYMAG-src-1.6.tar.bz2
(2018-06-09)
(signature)
RxTx binary distribution (for convenience):
rxtx-2.1-7-bins-r2.zip
JYMAG signing certificate:
JYMAG-sign-cert.cer
JYMAG signing root certificate:
JYMAG-root-cert.der
Now also available at jymag.sourceforge.net.
JYMAG has been added to
Softpedia Mac
and
Softpedia Linux
and has been certified 100% FREE
JYMAG has been added to
FamousWhy: JYMAG.
(skip to IMYplay)
LibHideIP is a library which partially (read the documentation for limitations)
ensures that no program under its control can get local public IP addresses
(external interface addresses), to ensure the privacy of the user. LibHideIP does this
by intercepting calls to some C library functions and replacing them by its own substitutes.
libhideip-1.8.tar.gz
(2019-02-17)
(signature)
libhideip-1.8-1-omv2015.0.x86_64.rpm
(2019-02-17) - built on OpenMandriva, requires
RPM packages containing the following libraries:
- libc.so.6 (GLIBC_2.4)(64bit)
- libdl.so.2 (GLIBC_2.2.5)(64bit)
libhideip-devel-1.8-1-omv2015.0.x86_64.rpm
(2019-02-17)
libhideip-1.8-1.src.rpm
(2019-02-17) (requires: gcc, glibc, glibc-devel
and make)
libhideip-debuginfo-1.8-1-omv2015.0.x86_64.rpm
(2019-02-17)
THE LIBRARY HAS BEEN TESTED, BUT IT MAY NOW OR LATER CONTAIN ERRORS, WHICH MAY LEAD TO
UNDESIRED PROGRAM ACTIONS. READ THE LICENSE FOR A WARRANTY (THERE IS NONE).
THIS LIBRARY SHOULD NOT BE USED WITH EACH PROGRAM - IT
SHOULD NOT BE ENABLED GLOBALLY FOR THE SYSTEM.
(skip to certificate generators)
IMYplay is a program for playing iMelody ringtones (IMY files) and an IMY-to-MIDI converter.
It can use the following libraries to produce sound: the
Allegro game library,
SDL (Simple DirectMedia Layer),
ALSA (Advanced Linux Sound Architecture),
OSS (Open Sound System), libao,
PortAudio v19,
PulseAudio,
JACK1/JACK2,
GStreamer.
It can also write raw samples to an output file, use the PC-speaker or
call an external program on each note.
imyplay-1.1.tar.gz
(2018-07-13)
(signature)
imyplay-1.1-1.i386.rpm
(2018-07-13) - built on Fedora,
requires RPM packages containing the following libraries:
- libc.so.6 (GLIBC_2.7)
- liballeg.so.4.2
- libSDL-1.2.so.0
- libao.so.2
- libasound.so.2 (ALSA_0.9)
- libjack.so.0
- libportaudio.so.2
- libm.so.6 (GLIBC_2.0)
- libpulse-simple.so.0 (PULSE_0)
- libpulse.so.0 (PULSE_0)
- rtld (GNU_HASH)
- libglib-2.0.so.0
- libgmodule-2.0.so.0
- libgobject-2.0.so.0
- libgstcontroller-0.10.so.0
- libgstreamer-0.10.so.0
- libgthread-2.0.so.0
- librt.so.1
- libxml2.so.2
- libpthread.so.0 (GLIBC_2.0)
imyplay-1.1-1.src.rpm
(2018-07-13) (requires: gcc, glibc, glibc-devel,
glibc-headers and make)
imyplay-dos-1.1.zip
(2018-07-13)
(signature)
IMYplay comes in two languages: English and Polish.
(skip to PARI/GP snippets)
The following scripts allow anyone to quickly create their own
PGP/GnuPG keys and
digital certificates (also called digitals identifiers,
PKCS12/P12/PFX files),
which allow to use secure e-mail, secure web browsing and other secure services.
(skip to e-mail address verifier)
Here are some code snippets for the PARI/GP interactive symbolic calculator. Just paste the code into the calculator and use the
functions like any other. Do NOT use the TAB key.
These files can be used under the same terms as the PARI/GP program itself.
(skip to Kate/KWrite syntax files)
E-mail address verifier is a simple program that tries to verify
if a given e-mail address really exists.
It comes in four versions:
- A Perl script.
It requires:
- Perl
- The Net::DNS Perl module
- The Getopt::Long Perl module
- The Net::SMTP Perl module
The script displays VALID, INVALID or UNKNOWN if the given e-mail address exists,
does not seem to exits and when the validity is unknown (like when connection to the
mail server is impossible). Only the last message for each address is meaningful.
The script exits with
- code 0 if all the given addresses seem to be valid
- code 1 if some of the given addresses seem to be valid
- code 2 if none of the given addresses seems to be valid
- code 3 if help or license message printed and nothing checked
Run with --help
for command-line options.
verifyemail.txt (2016-03-20)
(signature)
- A PHP class.
The class has three public methods:
validate ($address, $our_address, $our_domain)
checks the given e-mail
address, passing our_address and our_domain to the recipient's mail server
(found by querying the DNS).
This method returns:
EmailValidator::EV_VALID
if the given address seems to be valid
EmailValidator::EV_INVALID
if the given address seems to be invalid
EmailValidator::EV_UNKNOWN
if the validity of the given address
could not be checked
get_status_as_string ($res)
returns a string name for the result obtained
from validate()
get_server_response ()
returns the last server response
EmailValidator.txt
(2016-03-20)
(signature)
- An Axis Web Service.
The Web Service has one public method:
public Integer validate (String addressToValidate, String ourAddress, String ourDomain)
throws NamingException, UnknownHostException, IOException
checks the given e-mail
address, passing our_address and our_domain to the recipient's mail server
(found by querying the DNS).
This method returns:
EmailValidator.EV_VALID = 0
if the given address seems to be valid
EmailValidator.EV_INVALID = 1
if the given address seems to be invalid
EmailValidator.EV_UNKNOWN = 2
if the validity of the given address
could not be checked
How to run: copy the EmailValidator.jws
file to your
webapps/axis
directory or your
JavaEE server or servlet container.
Apache Axis should automatically detect, compile and deploy the file
as a Web Service (either when copied or when first used).
You can get the WSDL at http://host:port/axis/EmailValidator.jws?wsdl
EmailValidatorSOAP-0.1.tar.gz
(2016-03-20)
(signature)
- A JavaEE (Java Enterprise Edition) Web Application.
Requirements:
- servlet-api.jar - from your JavaEE servlet container/server
How to run:
- deploy the application on your server
- access it from a browser
- type the e-mail address, the sender address to present to the server,
the sender domain to present to the server, and proceed
- check the result
EmailValidator-0.2.tar.gz
(2016-03-20)
(signature)
EmailValidator.war
(2016-03-20)
(signature)
Note that an address may show up as invalid even though it is valid. This can happen
because of many reasons:
- the server can reject your connection
- the server can reject your e-mail address (can be set on the command-line)
- the server can reject your domain (can be set on the command-line)
- the server can reject your attempt because of a policy (like limiting the number of connections)
- the server can reject your attempt because of any reason it wishes
Some syntax highlighting files for the Kate/KWrite editors
(just copy these to $HOME/.kde/share/apps/katepart/syntax/
):
(skip to LibNetBlock)
Here are some additional shapes for Dia, a program for drawing diagrams
(just unzip these to $HOME/.dia/
):
- Connectors (including DB-9, DB-25,
USB,
PCI
and many others)
(2016-03-20)
These files can be redistributed on the same license terms as the Dia program itself.
(skip to SOAP Service Tester)
LibNetBlock (Library for Network Blocking) is a library which partially
(read the documentation for limitations)
ensures that no program under its control can access the network.
LibNetBlock does this by intercepting calls to some C library functions and
replacing them by its own substitutes.
libnetblock-1.3.tar.gz
(2019-02-17)
(signature)
libnetblock-1.3-1-omv2015.0.x86_64.rpm
(2019-02-17) - built on OpenMandriva, requires
RPM packages containing the following libraries:
- libc.so.6 (GLIBC_2.4)(64bit)
- libdl.so.2 (GLIBC_2.2.5)(64bit)
libnetblock-devel-1.3-1-omv2015.0.x86_64.rpm
(2019-02-17)
libnetblock-1.3-1.src.rpm
(2019-02-17) (requires: gcc, glibc, glibc-devel
make)
libnetblock-debuginfo-1.3-1-omv2015.0.x86_64.rpm
(2019-02-17)
Now also available at libnetblock.sourceforge.net.
THE LIBRARY HAS BEEN TESTED, BUT IT MAY NOW OR LATER CONTAIN ERRORS, WHICH MAY LEAD TO
UNDESIRED PROGRAM BEHAVIOUR. READ THE LICENSE FOR A WARRANTY (THERE IS NONE).
(skip to LastMod)
SOAP Service Tester is a JavaEE (Java Enterprise Edition) Web application that allows
a Web service to be tested in many ways. It allows editing:
- HTTP headers
- HTTP authentication data
- HTTP proxy
- HTTP proxy authentication data
- SOAP envelope elements
- raw XML
data sent to the service
It scans the service's WSDL
file and provides sample XML data for each operation, if available.
SOAP Service Tester is like Weblogic's wls_utc for Apache Tomcat and Jetty (and probably other
application servers), but is less powerful - for example, it doesn't interpret
the service's schema to provide separate fields for various parameters.
SOAP Service Tester is known to work on the following JavaEE servers:
- Apache Tomcat 6.0.29
(other versions will probably also work)
- Jetty 7.5.4.v20111024
(other versions will probably also work)
Requirements:
- wsdl4j.jar (1.6.2 is OK) - the WSDL4J project
- xbean.jar (2.5.0 is OK) - the Apache XmlBeans
- httpclient.jar (4.1.1 is OK) - the Apache HttpComponents
- httpcore.jar (4.1 is OK) - the Apache HttpComponents
- commons-logging.jar (1.1.1 is OK) - the Apache HttpComponents
- servlet-api.jar - from your JavaEE servlet container/server
- optional (for interpreting the SOAP response):
axiom.jar (1.2.12 is OK) - Apache Axiom
- optional (for interpreting the SOAP response):
axis2-saaj.jar (1.6.1 is OK) - Apache Axis2
- optional (for HTTP authentications):
commons-codec.jar (1.5 is OK) - Apache Commons Codec
SOAPServiceTester-0.3.tar.gz
(2016-03-20)
(signature)
SOAPServiceTester.war
(2016-03-20)
(signature)
(skip to Atom2Rss)
LastMod is a Perl script that inserts or updates a META element with the
Last-Modified
HTTP header to the given HTML file. The last modification
time is written according to the HTTP standard.
Usage: lastmod.pl file.html
lastmod.txt (2016-03-20)
(signature)
(skip to List2Atom)
Atom2Rss is a Perl script that converts an Atom channel XML file
to an RSS 2.0 XML file.
Usage: atom2rss.pl input-atom.xml output-rss20.xml
atom2rss.txt (2016-03-20)
(signature)
(skip to InSyTrack)
List2Atom is a Perl script that generates an Atom channel XML file from a list of files (newest files will be on top).
Usage: list2atom.pl -url "/host/dir" input-atom.xml -out file.xml -author "Your name"
-title "Your title" -limit 30 *
list2atom.txt (2016-03-20)
(signature)
InSyTrack (INter-SYstem TRACKing) allows you to track program flow (calls) across libraries,
threads, programming languages or even different systems on different
machines.
InSyTrack servers gather information about program flow from InSyTrack clients.
Each client connects to an InSyTrack server and sends information about the usage
of a certain user-picked identifier (marks a usage of the ID). The flow of
the ID passed between various system components is then recorded by
the server, along with any user-provided data that was sent with the usage mark.
You can pass server addresses, process names or PIDs, file names, line numbers,
thread IDs, parameter values or whatever you wish or find helpful as long
as the same flow is marked the same flow ID so the server can keep a track of it.
Communication takes place over sockets. InSyTrack libraries allow you to choose
the socket type (it can be TCP, UDP, UNIX domain sockets or whatever you find
useful) and set the transport parameters. Communication can be encrypted using
other freely-available tools: OpenSSH (over an SSH tunnel), GnuPG (with netcat
)
or SSL/TLS (wih socat
) or any combination of these. You can also use
socat
to transparently switch between TCP and UDP.
The InSyTrack software consists of:
- a client library that allows programmers to write InSyTrack clients
(allows their programs to be tracked),
- a server library that allows programmers to write InSyTrack servers
(to gather data the way they want or implement extra features),
- an example server, which simply diplays the received usage marks on the terminal.
insytrack-0.2.tar.gz
(2016-03-20)
(signature)
insytrack-server-0.2-1.i386.rpm
(2016-03-20) -
built on Fedora, requires RPM packages containing the following libraries:
- libc.so.6 (glibc >= 2.7)
- libinsytrack_server.so.1 (insytrack-libs below)
- libpthread.so.0 (glibc >= 2.0)
- rtld(GNU_HASH)
insytrack-libs-0.2-1.i386.rpm
(2016-03-20) -
built on Fedora, requires RPM packages containing the following libraries:
- libc.so.6 (glibc >= 2.4)
- rtld(GNU_HASH)
insytrack-devel-0.2-1.i386.rpm
(2016-03-20) -
built on Fedora, requires the insytrack-libs RPM package
insytrack-0.2-1.src.rpm
(2016-03-20)
(requires: gcc, glibc, glibc-devel, glibc-headers, make)
Contact info
Contact me: bogdandr AT op . pl
(English accepted, just say 'ASM' somewhere in the title).
My public certificate:
crt format,
cer format,
pem format,
p7b format,
p7c format
Certificate MD5 fingerprint: 68:0D:78:15:1F:6E:24:7A:48:82:EB:CA:0F:3B:5A:A0
Certificate SHA1 fingerprint: 8C:9B:7A:AB:A9:8E:39:FE:3A:B0:34:35:C1:41:10:89:38:4B:42:E2
Issuer certificate: der format
Issuer certificate MD5 fingerprint: EB:77:B9:23:0F:21:02:2A:29:54:8A:78:A3:A4:8F:20
Issuer certificate SHA1 fingerprint: FE:E7:83:1D:AA:8D:1E:10:32:40:2D:08:1D:23:00:0F:86:C4:48:46
Revocation list of the previous certificates:
crl format,
pem format.
My public GnuPG /
PGP key:
asc format
Number 1C56DA1E
,
Key SHA1 fingerprint: E91E 699F 1026 D0EF 745E EC3B 353A D368 1C56 DA1E
Page info
This page is written using valid
HTML 4.01
,
, for all browsers:
This page uses a valid
CSS
The channels on this page are compatible with the Atom 1.0 standard
and RSS 2.0
This page has a content security policy.
This page doesn't use GIF images
and doesn't use JPG images.
This page displays dates in the international
ISO-8601 format:
YYYY-MM-DD.
This page is JavaScript-free, Java-free and Flash-free.