Go to English page

Neuigkeiten

Projektbeschreibung:

OIDplus ist eine OpenSource-Datenbanklösung zum Verwalten von Objekt-Bezeichnern ("OIDs") und vielen anderen Objekttypen (z.B. COM GUIDs). Mit OIDplus können Sie Ihre eigene "Registration Authority" betreiben, und ihre erzeugten Objekte entweder öffentlich zur Verfügung stellen, oder nur intern verwalten (versteckt für die Öffentlichkeit). Ihre Objekte und die Schreibrechte darauf können Sie an untergeordnete RAs, also andere Benutzer im System, vererben, sodass diese autonom arbeiten und ihre eigene RA betreiben können.

Die ViaThinkSoft Registration Authority setzt OIDplus 2.0 bereits produktiv ein und bietet Anwendern sogar die Möglichkeit, kostenlose OIDs zu erzeugen.

Wir sind dankbar für jede Person, die OIDplus auf ihrem System installieren möchte, da wir es lieben, wenn sich unser Produkt verbreitet und wir Feedback zur Benutzererfahrung erhalten. Wenn wir Ihnen bei der Installation von OIDplus und der Migration Ihrer Daten nach OIDplus helfen können, teilen Sie uns dies bitte mit. Wir unterstützen Sie dabei kostenlos!

Weitere Informationen finden Sie auf www.oidplus.com
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

VGWhoIs is a fork of the tool GWhoIs (currently not actively developed). It allows users to find information about domains, IP addresses, ASN numbers etc by querying the best fitting WhoIs service automatically. The information about the whois services is stored in a pattern file and can be altered or extended by new pattern files.

The usage is pretty simple:

vgwhois example.com
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

An API written in PHP for the OID repository oid-info.com.

The majority of the functions provided by this API helps developers in creating XML files which can be uploaded to the OID repository to add multiple OIDs, but the API also contains other helpful utilities related to OIDs, UUIDs and the OID repository in general. The XML generation can be useful for Registration Authorities (RAs) that want to deliver their assignments to oid-info.com , but also for people who want to support the OID repository by adding OIDs from public sources.
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:



VNag (ViaThinkSoft Nagios) ist ein Framework für PHP, das es erlaubt, Plugins für Nagios-kompatible Systeme (z.B. auch Icinga2) gemäß den Richtlinien zu erstellen.

Das Download-Paket enthält Dokumentation und Beispiele und eine Vielzahl an neuen Plugins, z.B. um eine WordPress-Installation auf Updates zu überprüfen.

VNag ermöglicht es nicht nur, normale Nagios/Icinga-Plugins zu entwickeln (PHP wird über CLI aufgerufen), sondern erlaubt auch, ein Plugin über das Web zur Verfügung zu stellen:

  • Das ist PHP geschriebene Plugin kann über einen HTTP-Daemon (z.B. Apache) im Browser angezeigt werden. Neben der Anzeige der Nagios-Ausgabe (Summary, Verbose information, Performance data) können beliebige HTML-Ausgaben hinzugefügt werden, um z.B. noch Diagramme zu präsentieren. Es ist nur eine Codebasis erforderlich!

  • Die Web-Ausgabe enthält einen maschinenlesbaren (unsichtbaren) Teil, der mit Hilfe des "web reader"-Plugins von VNag ausgelesen und in das Standardformat für die Überwachung mit einer lokalen Nagios Instanz umgewandelt werden kann. Somit ist es z.B. möglich, mittels Nagios bestimmte Dinge (z.B. eine WordPress-Version) auf einem entfernten System, bei dem kein Shell-Zugriff möglich oder kein Nagios installiert ist, zu überwachen.

  • Es ist auch möglich, Webseiten zu erzeugen, die nur einen unsichtbaren maschinenlesbaren Teil besitzen (bzw. Sie können eine VNag Ausgabe in Ihre bestehende Webseite einbinden), jedoch ohne visuellen Teil. Dieser maschinenlesbare Teil kann optional signiert und/oder verschlüsselt werden.

Im Download-Paket von VNag sind folgende Plugins enthalten:

  • 4images_version: Prüft 4images Installationen auf verfügbare Updates.
  • disk_running: Prüft, ob Festplatten, die über keine SMART-Funktionalität verfügen, online sind
  • file_timestamp: Warnt, wenn Dateien in einem bestimmten Interval nicht aktualisiert wurden, bzw. wenn sie ein gewisses Alter erreicht haben.
  • ipfm: Prüft die Log-Dateien des Tools "ipfm" und warnt, wenn der gemessene Traffic das Monatslimit erreicht.
  • joomla_version: Prüft Joomla Installationen auf verfügbare Updates.
  • last: Prüft die Ausgabe des Tools "last" und warnt, wenn Logins aus verdächtigen IP-Adressen festgestellt wurden.
  • mdstat: Wertet die Datei "/proc/mdstat" aus und warnt, wenn Festplatten in einem RAID-Array ausfallen.
  • mediawiki_version: Prüft MediaWiki Installationen auf verfügbare Updates.
  • pmwiki_version: Prüft PmWiki Installationen auf verfügbare Updates.
  • net2ftp_version: Prüft net2ftp Installationen auf verfügbare Updates.
  • nocc_version: Prüft NOCC webmail Installationen auf verfügbare Updates.
  • openbugbounty: Warnt, wenn Ihre Domains bei OpenBugBounty.org auftauchen.
  • phpbb_version: Prüft phpBB Installationen auf verfügbare Updates.
  • phpmyadmin_version: Prüft phpMyAdmin Installationen auf verfügbare Updates.
  • roundcube_version: Prüft RoundCube Installationen auf verfügbare Updates.
  • smart: Prüft SMART Attribute der Festplatten und warnt wenn kritische Werte entdeckt werden.
  • virtual_mem: Prüft die Größe des virtuellen Speichers (Physikalischer Speicher und Swap).
  • webreader: Lies die Ausgabe eines VNag plugins auf einem entfernten System, übertragen per HTTP.
  • wordpress_version: Prüft WordPress Installationen auf verfügbare Updates.
  • x509_expire: Prüft X.509 (PEM) Dateien und warnt, wenn diese ein gewisses Alter erreichen.
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

This small class in PHP has following functionalities:

- Get MIME Type from a filename (useful if your system does not support mime_content_type)
- Get a name/description of a given file or filename

The project contains a small lookup-table for file type names in English.
Daniel Marschall
ViaThinkSoft Mitbegründer
Der DDNS-Client "ddclient" ist leider aufgrund eines Bugs nicht in der Lage, die IP auf einem IPv6-only Host ("DS-Lite" Anschluss bei Vodafone) bei SPdyn zu aktualisieren, da er vergeblich nach einer IPv4 sucht.

Folgendes Script erlaubt ein manuelles Update:

#!/bin/bash

UPDATETOKEN=............
HOSTNAME=..........my-router.de

IP=$( ifconfig | grep "prefixlen 128" | grep -v "inet6 ::1" | cut -d ' ' -f 10 | head -n 1 )
#echo "IPv6 = $IP"

URL="https://update.spdyn.de/nic/update?hostname=$HOSTNAME&myip=$IP&user=$HOSTNAME&pass=$UPDATETOKEN"
#echo "URL = $URL"

curl "$URL"

Dieses Script kann nun per Crontab regelmäßig aufgerufen werden
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

Enthält:
- Rekursiver SFV+MD5 Prüfer für Windows
- Rekursiver SFV+MD5 Prüfer in PHP (CLI/Linux)
- Rekursiver SFV+MD5 Generator in PHP (CLI/Linux)
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

With this tool, you can recursively check if files have been modified (or corrupted by a file system error) by checking all directories containing "MD5" and "SFV" files recursively.
Daniel Marschall
ViaThinkSoft Mitbegründer

Screenshots zu diesem Projekt

  Windows Prüfsummen-Tool  
$cfg_ldap_server = 'ldap://server.company.local';
$cfg_ldap_port   = 389;
$cfg_ldap_base_dn = 'DC=COMPANY,DC=local';
$cfg_ldap_username = 'myuser@company.local';
$cfg_ldap_password = 'foobar';

function ad_check($email, $password) {
        global $cfg_ldap_server;
        global $cfg_ldap_port;
        global $cfg_ldap_base_dn;
        global $cfg_ldap_username;
        global $cfg_ldap_domain;
        global $cfg_ldap_password;

        // Connect to the server
        if (!empty($cfg_ldap_port)) {
                if (!($ldapconn = @ldap_connect($cfg_ldap_server, $cfg_ldap_port))) throw new OIDplusException('Cannot connect to LDAP');
        } else {
                if (!($ldapconn = @ldap_connect($cfg_ldap_server))) throw new OIDplusException('Cannot connect to LDAP');
        }
        ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
        ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);

        // Login in order to search for the user
        if (!empty($cfg_ldap_username)) {
                if (!empty($cfg_ldap_password)) {
                        if (!($ldapbind = @ldap_bind($ldapconn, $cfg_ldap_username, $cfg_ldap_password))) throw new OIDplusException('Cannot login to LDAP');
                } else {
                        if (!($ldapbind = @ldap_bind($ldapconn, $cfg_ldap_username))) throw new OIDplusException('Cannot login to LDAP');
                }
        } else {
                if (!($ldapbind = @ldap_bind($ldapconn))) throw new OIDplusException('Cannot login to LDAP');
        }

        // Search the user using the email address
        if (!($result = @ldap_search($ldapconn,$cfg_ldap_base_dn, '(&(objectClass=user)(cn=*))'))) throw new OIDplusException('Error in search query: '.ldap_error($ldapconn));
        $data = ldap_get_entries($ldapconn, $result);
        $found_username = null;
        for ($i=0; $i<$data['count']; $i++) {
                if ((isset($data[$i]['mail'][0])) && ($data[$i]['mail'][0] == $email)) {
                        $found_username = $data[$i]['userprincipalname'][0];
                }
        }
        if (is_null($found_username)) return false;

        // Login as the new user in order to check the credentials
        //ldap_unbind($ldapconn); // commented out because ldap_unbind() kills the link descriptor
        if ($ldapbind = @ldap_bind($ldapconn, $found_username, $password)) {
                //ldap_unbind($ldapconn);
                ldap_close($ldapconn);
                return true;
        } else {
                return false;
        }
}

var_dump(ad_check('bob@example.com', 'helloworld'));
Daniel Marschall
ViaThinkSoft Mitbegründer
function create_sfv($sfv_file, $files) {
        $out = chr(0xEF).chr(0xBB).chr(0xBF); // UTF-8 BOM
        $out .= "; Generated by ViaThinkSoft\r\n";
        foreach ($files as $file) {
                $crc32 = strtoupper(crc32_file($file));
                $out .= "$file $crc32\r\n";
        }
        file_put_contents($sfv_file, $out);
}

function swapEndianness($hex) {
        return implode('', array_reverse(str_split($hex, 2)));
}

function crc32_file($filename, $rawOutput = false) {
        $out = bin2hex(hash_file ('crc32b', $filename , true));
        if (hash('crc32b', 'TEST') == 'b893eaee') {
                // hash_file() in PHP 5.2 has the wrong Endianess!
                // https://bugs.php.net/bug.php?id=47467
                $out = swapEndianness($out);
        }
        return $out;
}
Daniel Marschall
ViaThinkSoft Mitbegründer
<?php

$x 
'<!DOCTYPE scan [<!ENTITY test SYSTEM "/etc/passwd">]><scan>&test;</scan>';

// Unsafe:
libxml_disable_entity_loader(false);
$xml simplexml_load_string($x'SimpleXMLElement'LIBXML_NOENT);
var_dump($xml);

// Safe:
libxml_disable_entity_loader(true);
$xml simplexml_load_string($x'SimpleXMLElement');
var_dump($xml);


Summary: If you use simplexml_load_string in the "normal" way (i.e. without LIBXML_NOENT), you are safe.
Please note that LIBXML_NOENT is enabling loading foreign entries. The name is very misleading!
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:



Abstract

ViaThinkSoft Currency Converter is a library developed by Daniel Marschall which converts currencies. The latest exchange data is automatically downloaded and cached.

To use ViaThinkSoft Currency Converter, you need an API key from CurrencyLayer.com. Keys with limited access are available for free, and there are paid subscriptions available, too.

Usage for online applications, with PHP

Download framework and example script from the SVN

Try it now! Use the online tool

For Windows users

If you are not a developer, you can download the ready-to-use demo EXE file.

Download Windows demo application, written in Delphi



For Windows developers

The Currency Converter is implemented as a Windows DLL (Source code for Delphi), which can be used by most other programming languages as well as VBA (Visual Basic for Applications). Therefore, you can use Currency Calculator in Microsoft Office products.

Download compiled DLL for Win32 and Win64

Download source code for usage in ...

Before using the DLL, please place the API key in your registry:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\ViaThinkSoft\CurrencyConverter]
"APIKey"="....."

Specification of the exported DLL methods
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:



Abstract

ViaThinkSoft Currency Converter is a library developed by Daniel Marschall which converts currencies. The latest exchange data is automatically downloaded and cached.

To use ViaThinkSoft Currency Converter, you need an API key from CurrencyLayer.com. Keys with limited access are available for free, and there are paid subscriptions available, too.

Usage for online applications, with PHP

Download framework and example script from the SVN

Try it now! Use the online tool

For Windows users

If you are not a developer, you can download the ready-to-use demo EXE file.

Download Windows demo application, written in Delphi



For Windows developers

The Currency Converter is implemented as a Windows DLL (Source code for Delphi), which can be used by most other programming languages as well as VBA (Visual Basic for Applications). Therefore, you can use Currency Calculator in Microsoft Office products.

Download compiled DLL for Win32 and Win64

Download source code for usage in ...

Before using the DLL, please place the API key in your registry:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\ViaThinkSoft\CurrencyConverter]
"APIKey"="....."

Specification of the exported DLL methods
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

StackManager für Linux, insbesondere über SSH Verbindungen.

Verwendet MySQL als Datenbank.

Eine automatisierte Migration auf StackMan for Windows 5.1 ist geplant.
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

FastPHP ist ein einfacher und dennoch komfortabler Editor/IDE für PHP.

Besondere Funktionen:
  • Sehr schnelle Ladezeit, ähnlich Notepad
  • Syntax-Highlighting
  • Code-Explorer
  • Ausführen von PHP-Dateien in der IDE ohne Browser
  • PHP Lint
  • Automatisches Umwandeln von Leerzeichen in Tabs
  • Integrierte PHP-Hilfe zu jeder Funktion per F1-Tastendruck
  • Möglichkeiten, PHP-Dateien ähnlich wie HTA-Dateien per Doppelklick auszuführen.
  • Dunkles und Helles Design
  • Formatierungszeichen anzeigen
Daniel Marschall
ViaThinkSoft Mitbegründer
This is an Example with GitHub user "danielmarschall" and Repository "oidplus".
Adjust the things to your environment!

1. INITIAL SETUP

# Install GitSVN
aptitude install git-svn

# Only do this if you want that GitHub credentials are saved to disk
# see details here https://stackoverflow.com/questions/35942754/how-to-save-username-and-password-in-git-gitextension
git config --global credential.helper store

# Create authors.txt for all your SVN users (mapping SVN users to GitHub accounts)
echo "daniel-marschall = Daniel Marschall <........email here.........>" > authors.txt
echo "victor = Victor-Philipp Negoescu <..........email here..........>" >> authors.txt
echo "www-data = ViaThinkSoft <.........email here...........>" >> authors.txt

2. FIRST SYNC FROM SVN TO GITHUB

# First, create a repository in GitHub using the web interface:
# https://github.com/new

# Download SVN into a new GIT repo
# "-s" assumes that default trunk/tags/branches structure is used
git svn --authors-file=authors.txt clone -s https://svn.viathinksoft.com/svn/oidplus/ oidplus-gitsvn cd oidplus-gitsvn

cd oidplus-gitsvn/

# Pushes the mirror to the new GitHub repository
git push --mirror https://github.com/danielmarschall/oidplus.git

3. REGULAR UPDATE

cd oidplus-gitsvn/
git svn rebase git push origin --all git push origin

# Pushes the mirror to the new GitHub repository
git push --mirror https://github.com/danielmarschall/oidplus.git

Empty folders

Attention: Empty folders will not be transferred to GIT! You need to make sure that there is a file like ".gitkeep" so that the folders are not empty.
Unfortunately, there is a bug since 2013 that prevents using --keep-empty-dirs if trunk/branch/tag structure was added afterwards, see:
https://www.mail-archive.com/git@vger.kernel.org/msg24484.html
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

Der YouTube Downloader ist ein Tool für Linux. Es basiert auf dem Tool youtube-dl und bietet einige Zusatzfunktionen wie z.B. das Herunterladen und Suchen in Kanälen oder das Herunterladen von Playlists. Es können sowohl Videos als auch Audio-Dateien heruntergeladen werden. Youtube-IDs können in die ID-Tags von heruntergeladenen MP3-Dateien eingebunden werden. Eine automatisch verwaltete Liste mit bereits heruntergeladenen Videos erlaubt es, die heruntergeladenen Dateien zu verschieben, ohne dass die Videos neu heruntergeladen werden. YouTube Downloader ist vollständig kommandozeilenbasiert und für Cronjobs optimiert.

Anforderungen:
- PHP CLI
- Paket "youtube-dl"
- Falls MP3-Dateien extrahiert werden sollen: "avconv" oder "ffmpeg", sowie optional "id3v2"
- Ein Youtube API-Key (hier kostenlos beantragen)
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

LogViewer ist ein kleines Tool für Linux, das Logdateien (üblicherweise von PHP) ausliest und in eine MySQL-Datenbank speichert.
Dort werden die Fehler kategorisiert und nach Eintrittszeitpunkt und Anzahl zusammengefasst.
Über ein Webinterface können die Fehler sortiert und gefiltert werden. Da es das Ziel ist, die Fehler zu korrigieren, kann mit einem Klick der Fehler ausgeblendet werden. Er wird dann nur noch eingeblendet, wenn er trotzdem nocheinmal auftritt.
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

Beta-Release von ViaThinkSoft CryptoChat.
Daniel Marschall
ViaThinkSoft Mitbegründer