Go to English page

Neuigkeiten

Projektbeschreibung:

Filter Foundry is a compatible replacement for Adobe Filter Factory. For information about how to use the Filter Factory-compatible interface, see The Filter Factory Programming Guide. Several example effects come with Filter Factory.

Initially written by Toby Thain in 2003 - 2009, the development has been continued by Daniel Marschall / ViaThinkSoft since 2018. Several advancements and improvements have been made, and a 64-bit Windows version was created. The Macintosh version could not be taken over because Apple removed the "Carbon" API.

Filter Foundry full documentation

Here you can find a few filters by ViaThinkSoft which were created using Filter Foundry.
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

Filter Foundry is a compatible replacement for Adobe Filter Factory. For information about how to use the Filter Factory-compatible interface, see The Filter Factory Programming Guide. Several example effects come with Filter Factory.

Initially written by Toby Thain in 2003 - 2009, the development has been continued by Daniel Marschall / ViaThinkSoft since 2018. Several advancements and improvements have been made, and a 64-bit Windows version was created. The Macintosh version could not be taken over because Apple removed the "Carbon" API.

Filter Foundry full documentation

Here you can find a few filters by ViaThinkSoft which were created using Filter Foundry.
Daniel Marschall
ViaThinkSoft Mitbegründer
function GetOwnBuildTimestamp: TDateTime;
var
  fs: TFileStream;
  unixTime: integer;
  peOffset: Integer;
begin
  try
    fs := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
    try
      fs.Seek($3C, soFromBeginning);
      fs.Read(peOffset, 4);

      fs.Seek(peOffset+8, soFromBeginning);
      fs.Read(unixTime, 4);

      // TODO: If required, convert UTC zu your local time zone.
      result := UnixToDateTime(unixTime); // requires DateUtils
    finally
      FreeAndNil(fs);
    end;
  except
    // Should not happen
    FileAge(ParamStr(0), result);
  end;
end;
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: Checks 4images installations for updates.
  • disk_running: Checks if harddisks which do not have SMART capability are online
  • file_timestamp: Warns when files are not modified withhin a specific interval/age.
  • gitlab_version: Checks GitLab install~ations for updates.
  • hp_smartarray: Checks disk and controller status of HP SmartArray RAID controllers.
  • ipfm: Checks the log files of the tool "ipfm" and warns when the measured traffic exceeds a given limit.
  • joomla_version: checks Joomla installations for updates.
  • last: Checks the output of the tool "last" and warns when logins from suspicious IP adresses are detected.
  • mdstat: Parses the output of "/proc/mdstat" and warns when drives inside a RAID array have failed.
  • mediawiki_version: Checks MediaWiki installations for updates.
  • net2ftp_version: Checks net2ftp installations for updates.
  • nextcloud_version: Checks Nextcloud installations for updates.
  • nocc_version: Checks NOCC webmail installations for updates.
  • openbugbounty: Checks if your domains are listed at OpenBugBounty.org.
  • owncloud_version: Checks ownCloud installations for updates.
  • phpbb_version: Checks phpBB installations for updates.
  • phpmyadmin_version: Checks phpMyAdmin installations for updates.
  • ping: Pings a hostname or IP address.
  • pmwiki_version: Checks PmWiki installations for updates.
  • roundcube_version: Checks RoundCube installations for updates.
  • smart: Checks the SMART attributes of harddrives and warns when bad attributes are detected.
  • virtual_mem: Checks the amount of virtual memory (physical memory + swap).
  • webreader: Reads the output of another VNag plugin transferred over HTTP.
  • wordpress_version: Checks WordPress installations for updates.
  • x509_expire: Warns when X.509 (PEM) certificate files reach a specific age.
Daniel Marschall
ViaThinkSoft Mitbegründer
Zuerst benötigen Sie folgende Zeilen:

DECLARE @AllConnections TABLE(
    SPID INT,
    Status VARCHAR(MAX),
    LOGIN VARCHAR(MAX),
    HostName VARCHAR(MAX),
    BlkBy VARCHAR(MAX),
    DBName VARCHAR(MAX),
    Command VARCHAR(MAX),
    CPUTime INT,
    DiskIO INT,
    LastBatch VARCHAR(MAX),
    ProgramName VARCHAR(MAX),
    SPID_1 INT,
    REQUESTID INT
)

INSERT INTO @AllConnections EXEC sp_who2

Wenn Sie wissen möchten, ob ein anderer Computer auf die Datenbank zugreift:

SELECT * FROM @AllConnections WHERE DBName = ( select DBName from @AllConnections where SPID_1 = @@spid )
and LOGIN+'@'+HostName not in ( select LOGIN+'@'+HostName from @AllConnections where SPID_1 = @@spid )

Wenn Sie wissen möchten, ob irgendeine andere Verbindung offen ist (selbst wenn sie von diesem Computer oder dieser Anwendung kommt), dann verwenden Sie:

SELECT * FROM @AllConnections WHERE DBName = ( select DBName from @AllConnections where SPID_1 = @@spid )
and SPID_1 <> @@spid
Daniel Marschall
ViaThinkSoft Mitbegründer
uses
  ShellAPI;

procedure PerformSoftwareUpdate;
var
  sl: TStringList;
const
  DOWNLOAD_ZIP = 'software_update.zip';
  VBS_SCRIPTNAME = 'software_update.vbs';
begin
  CopyFile('d:\test\TEST - Kopie.zip', PChar(IncludeTrailingPathDelimiter((ExtractFilePath(ParamStr(0))))+DOWNLOAD_ZIP), false); // TODO: Die Datei z.B. von einem Webserver herunterladen

  sl := TStringList.Create;
  sl.Add('');
  sl.Add(''' Automatische Programmaktualisierung');
  sl.Add(''' (C) 2022 Daniel Marschall, ViaThinkSoft');
  sl.Add('');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add(''' Konstanten (werden durch das aufrufende Programm gesetzt)');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add('');
  sl.Add('ZipFile="'+IncludeTrailingPathDelimiter((ExtractFilePath(ParamStr(0))))+DOWNLOAD_ZIP+'"');
  sl.Add('ExtractTo="'+IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)))+'"');
  sl.Add('StartApp="'+ExtractFileName(ParamStr(0))+'"');
  sl.Add('');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add(''' Warte etwas (sichergehen, dass das Hauptprogramm geschlossen ist)');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add('');
  sl.Add('WScript.Sleep 1000');
  sl.Add('');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add(''' Nun die Programmdateien entpacken und ggf. überschreiben');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add('');
  sl.Add('Set fso = CreateObject("Scripting.FileSystemObject")');
  sl.Add('''If the extraction location does not exist create it.');
  sl.Add('If NOT fso.FolderExists(ExtractTo) Then');
  sl.Add(' fso.CreateFolder(ExtractTo)');
  sl.Add('End If');
  sl.Add('''Extract the contants of the zip file.');
  sl.Add('set objShell = CreateObject("Shell.Application")');
  sl.Add('set FilesInZip=objShell.NameSpace(ZipFile).items');
  sl.Add('objShell.NameSpace(ExtractTo).CopyHere FilesInZip, 16 ''16=NoOverwriteConfirmation');
  sl.Add('Set fso = Nothing');
  sl.Add('Set objShell = Nothing');
  sl.Add('');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add(''' Programm wieder starten');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add('');
  sl.Add('Set objShell = CreateObject("Shell.Application")');
  sl.Add('objShell.ShellExecute ExtractTo+StartApp, "", ExtractTo, "open", 1 ''1=normal');
  sl.Add('Set objShell = Nothing');
  sl.Add('');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add(''' Dieses Script und die ZIP-Datei löschen!');
  sl.Add(''' ----------------------------------------------------------');
  sl.Add('');
  sl.Add('Set fso = CreateObject("Scripting.FileSystemObject")');
  sl.Add('fso.DeleteFile(ZipFile)');
  sl.Add('fso.DeleteFile(WScript.ScriptFullName)');
  sl.Add('Set fso = Nothing');
  sl.Add('');
  sl.SaveToFile(VBS_SCRIPTNAME);
  FreeAndNil(sl);
  ShellExecute(handle, 'open', VBS_SCRIPTNAME, '', PChar(ExtractFilePath(ParamStr(0))), SW_NORMAL);
  Application.Terminate; // Wichtig! Wir haben nur 1 Sekunde Zeit für das Beenden.
end;
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

This is the latest version of OIDplus 2.0!

Source code: https://github.com/danielmarschall/oidplus
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 TreeView (in PHP geschrieben!), in dem auch TODO-Einträge zu finden sind
  • 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/verstecken
  • Anklicken eines PHP-Fehlers springt zur Quelltextzeile
  • Automatisches entfernen von unnötigen Leerzeilen an Zeilenenden und am Datei-Ende
  • Integration im Windows Explorer "ShellNew" um schneller PHP-Dateien zu erzeugen
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:

Der YouTube Downloader ist ein Tool für Linux. Es basiert auf dem Tool youtube-dl und bietet etliche Zusatzfunktionen.

Ein paar Besonderheiten:
- Herunterladen aller Videos eines Kanals oder einer Playlist
- Vollautomatisches Suchen innerhalb von Kanälen oder ganz YouTube
- 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.
- Eine automatisch verwaltete Liste mit fehlgeschlagenen Downloads verhindert, dass ein nicht mehr verfügbares Video immer wieder erneut versucht wird.
- Erzeugen von SFV- und/oder MD5-Prüfsummen-Dateien.
- 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
Downloadbeschreibung:

This is a retro-coding product of OIDplus, written in TurboPascal, aiming for DOS. It is just a small gimmick / fun-project and should not be used for productive use! Please use the latest version of OIDplus (2.0)!

Source code: https://github.com/danielmarschall/oidplus_dos
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:



Das leistungsfähige webbasierte Organisationstalent hilft Ihnen, Ihre tägliche Arbeit zu vereinfachen, indem es Ihnen die Möglichkeit gibt, Termine, Kontakte, Dokumente, Dateien, Links, E-Mail-Postfächer, Zugangsdaten u.v.m. in übersichtlicher Form zu organisieren. Ein Modulsystem erlaubt es, Personal WebBase beliebig zu erweitern. Da die Modulstruktur sehr einfach ist, können auch unerfahrenere PHP-Entwickler einfach eigene Komponenten erstellen.

Weitere Informationen, Module und Designs finden Sie auf der Webseite von Personal WebBase!
www.personal-webbase.de
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

Die Beta-Version von IronBASE kann hier heruntergeladen werden. Die Version ist zwar lauffähig, jedoch sollte kein professioneller Einsatz mit der Beta-Version erfolgen.
Daniel Marschall
ViaThinkSoft Mitbegründer
Projektbeschreibung:

- Generate an UUID (according to RFC 4122):
- ... Time based (version 1) UUID
- ... DCE Security (version 2) UUID
- ... Name-based (version 3/5) UUID
- ... Random (version 4) UUID
- Interprete ("decode") an UUID
- Interprete a MAC address
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

Enthält:
- Rekursiver SFV+MD5 Prüfer für Windows
- SFV+MD5 Datei-Editor 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
Downloadbeschreibung:

Dieser Patch behebt einige Fehler in der Deutschen und Englischen Ausgabe des Spiels.

Bei der zensierten (FSK12) Fassung des Spiels wurden die Videofehler, die zu einem schwarzen Raum geführt haben, behoben. Damit das Spiel trotzdem weiterhin FSK12 bleibt, wurden die Bilder der Geiseln durch transparente Stellen ersetzt.

Eine Liste der Änderungen ist hier zu finden (in Englisch)
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

Im Paket enthalten sind:
- Linux Binaries
- Ausführbare 32-Bit Windows-Anwendung
- Quelltext in C
Daniel Marschall
ViaThinkSoft Mitbegründer
Downloadbeschreibung:

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