Difference between revisions of "OnGuard"

From Lazarus wiki
Jump to navigationJump to search
 
(29 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{FPOnGuard}}
+
{{OnGuard}}
  
===About===
+
=== About ===
FPOnGuard is port of Turbo Power OnGuard.
+
This version of OnGuard is port of Turbo Power OnGuard. OnGuard is a library to create demo versions of your Delphi, Kylix  and Free Pascal applications. Create demo versions that are time-limited, feature-limited, limited to a certain number of uses, or limited to a certain number of concurrent network users. You could also protect executable file from modification, either by hacker or malware. Most functionality has been tested to work under Windows, Linux and FreeBSD.
OnGuard is a library to create demo versions of your Borland Delphi &
 
Kylix  & Free Pascal+Lazarus applications. Create demo versions that are time-limited,
 
feature-limited, limited to a certain number of uses, or limited to a
 
certain # of concurrent network users.
 
  
This is a source-only release.It includes package for Lazarus 0.9.16 official installer (and should run fine on later versions too)
+
It has now been designed for cross-platform applications (Windows, Linux, FreeBSD etc). Pure Object Pascal. However some features are heavy system dependant. OnGuard doesn't depend on the Lazarus LCL, so you could also use it in Command Line, Web or other GUI toolkit applications.
  
 +
OnGuard is distributed as a source-only package. The download contains the component package for Lazarus + documentation (pdf and hlp file) and probably all original examples ported to Lazarus.
  
The download contains the component package for Lazarus + documentation (pdf and hlp file) and probably all original examples ported to Lazarus.
+
=== License ===
 +
[http://www.mozilla.org/MPL/MPL-1.1.html MPL 1.1]
  
This component is now designed for cross-platform applications (Windows and Linux-like).Pure Object Pascal.However some parts are heavy system dependant.
+
=== Download ===
 +
==== Sourceforge version ====
 +
The Lazarus version of OnGuard is hosted on [https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/onguard/ SourceForge]. Use <tt>SVN</tt> to get the most recent version, or download a zipped snapshot from  the same site (https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/onguard/).
  
===TODO===
+
This port orginates back to 2006 and had been abandoned for quite some time. In 2023, however, it received some new updates, and now works with Laz 2.3 / FPC 3.2.2.
  
* Test network usage code (NAF file is not locked?)
+
==== Alternative version ====
* Better machine ID (based on CPU and HDD physical serial numbers for example)
+
Since the OnGuard package on Sourceforge was abandoned for some time, Graeme Geldenhuys had forked the code and started to maintain his own version. Please see his forum message for the reasons why he forked OnGuard: [http://forum.lazarus.freepascal.org/index.php/topic,23495.msg140693.html#msg140693 forum message by Graeme]
* Merge it with  HASP USB keys support and others (plugin system?)
 
  
 +
The code of the alternative version is hosted on Graeme Geldenhuys' [https://github.com/graemeg/onguard GitHub site] from which it can be cloned by the usual <tt>GIT</tt> commands. Alternatively, you can download a zipped archive from [https://github.com/graemeg/onguard/archive/master.zip].
  
 +
The alternative version is also distributed by the [[Online_Package_Manager|Online-Package-Manager]].
  
===License===
+
=== Dependencies / System Requirements ===
MPL 1.1
+
* None
  
===Download===
+
===Status===
You can download beta releases for testing here: [http://sourceforge.net/project/showfiles.php?group_id=92177 Lazarus CCR Files page].
+
* Stable
  
===Change Log===
+
===Support===
* Version 1.0 2006/06/16
+
A dedicated support newsgroup has been set up for the Free Pascal port of OnGuard. Connection details are as follows:
  
 +
{| class="wikitable"
 +
|-
 +
!
 +
! Details
 +
|-
 +
| '''NNTP Server'''
 +
| geldenhuys.co.uk
 +
|-
 +
| '''Port'''
 +
| 119
 +
|-
 +
| '''Group'''
 +
| onguard.talk
 +
|}
  
===Dependencies / System Requirements===
+
Any News Client (eg: Mozilla Thunderbird, XanaNews, Opera Mail etc) can be used to connect to the news group. This is by far the best option and gives you the freedom to use your preferred news client software.
* None
 
  
Status: Beta
+
In a pinch, there is also a HTML webnews interface. This interface has some limitations (eg: attachments), but is good enough to read and reply to messages when on the go via a web browser (smartphone or desktop). To access the HTML interface, visit the following URL: [[http://geldenhuys.co.uk/webnews/ http://geldenhuys.co.uk/webnews/]]
  
Issues:
+
===Issues===
Needs testing on Windows.
+
* Needs testing to see if this version is compatible with the original OnGuard. But maybe this isn't really an issue anyway.
Needs testing on Linux.
 
Mostly working ;-)
 
Probably not compatible with original OnGuard due to changes (removed asm code replaced with pascal not strictly the same)
 
  
===Installation===
+
=== Installation ===
 
* Create the directory lazarus\components\tponguard
 
* Create the directory lazarus\components\tponguard
 
* Ungzip+untar files into the directory
 
* Ungzip+untar files into the directory
 
* Open lazarus
 
* Open lazarus
 
* Open the package tponguard.lpk with Component/Open package file (.lpk)
 
* Open the package tponguard.lpk with Component/Open package file (.lpk)
* Click on Compile
+
* (Click on Compile only if you don't want to install the component into the IDE)
 
* Click on Install
 
* Click on Install
  
===Usage===
+
=== Usage ===
Read manual.Very detailed and a lot of samples.
+
Read the manual. It's very detailed and contains a lot of samples.
 +
 
 +
=== Screenshots ===
 +
[[File:OnGuard_Code_Generation.png|frame|none|The Code Generation demo included with OnGuard. This screenshot shows a date range restriction, and a key encode modifier, unlocking the application for a specific PC only. This demo uses the fpGUI Toolkit.]]
 +
 
 +
=== To Do / Future improvements ===
 +
Here follows a list of possible things to extend or improve OnGuard with:
 +
* Test network usage code (NAF file is not locked?)
 +
* Better machine ID (based on CPU (mostly unavailable) and HDD physical serial numbers and MAC address for example)
 +
* Merge it with  HASP USB keys support and others (plugin system?)
 +
 
 +
[[Category:Components]]
 +
[[Category:Lazarus]]

Latest revision as of 12:30, 20 February 2023

English (en) português (pt)

About

This version of OnGuard is port of Turbo Power OnGuard. OnGuard is a library to create demo versions of your Delphi, Kylix and Free Pascal applications. Create demo versions that are time-limited, feature-limited, limited to a certain number of uses, or limited to a certain number of concurrent network users. You could also protect executable file from modification, either by hacker or malware. Most functionality has been tested to work under Windows, Linux and FreeBSD.

It has now been designed for cross-platform applications (Windows, Linux, FreeBSD etc). Pure Object Pascal. However some features are heavy system dependant. OnGuard doesn't depend on the Lazarus LCL, so you could also use it in Command Line, Web or other GUI toolkit applications.

OnGuard is distributed as a source-only package. The download contains the component package for Lazarus + documentation (pdf and hlp file) and probably all original examples ported to Lazarus.

License

MPL 1.1

Download

Sourceforge version

The Lazarus version of OnGuard is hosted on SourceForge. Use SVN to get the most recent version, or download a zipped snapshot from the same site (https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/onguard/).

This port orginates back to 2006 and had been abandoned for quite some time. In 2023, however, it received some new updates, and now works with Laz 2.3 / FPC 3.2.2.

Alternative version

Since the OnGuard package on Sourceforge was abandoned for some time, Graeme Geldenhuys had forked the code and started to maintain his own version. Please see his forum message for the reasons why he forked OnGuard: forum message by Graeme

The code of the alternative version is hosted on Graeme Geldenhuys' GitHub site from which it can be cloned by the usual GIT commands. Alternatively, you can download a zipped archive from [1].

The alternative version is also distributed by the Online-Package-Manager.

Dependencies / System Requirements

  • None

Status

  • Stable

Support

A dedicated support newsgroup has been set up for the Free Pascal port of OnGuard. Connection details are as follows:

Details
NNTP Server geldenhuys.co.uk
Port 119
Group onguard.talk

Any News Client (eg: Mozilla Thunderbird, XanaNews, Opera Mail etc) can be used to connect to the news group. This is by far the best option and gives you the freedom to use your preferred news client software.

In a pinch, there is also a HTML webnews interface. This interface has some limitations (eg: attachments), but is good enough to read and reply to messages when on the go via a web browser (smartphone or desktop). To access the HTML interface, visit the following URL: [http://geldenhuys.co.uk/webnews/]

Issues

  • Needs testing to see if this version is compatible with the original OnGuard. But maybe this isn't really an issue anyway.

Installation

  • Create the directory lazarus\components\tponguard
  • Ungzip+untar files into the directory
  • Open lazarus
  • Open the package tponguard.lpk with Component/Open package file (.lpk)
  • (Click on Compile only if you don't want to install the component into the IDE)
  • Click on Install

Usage

Read the manual. It's very detailed and contains a lot of samples.

Screenshots

The Code Generation demo included with OnGuard. This screenshot shows a date range restriction, and a key encode modifier, unlocking the application for a specific PC only. This demo uses the fpGUI Toolkit.

To Do / Future improvements

Here follows a list of possible things to extend or improve OnGuard with:

  • Test network usage code (NAF file is not locked?)
  • Better machine ID (based on CPU (mostly unavailable) and HDD physical serial numbers and MAC address for example)
  • Merge it with HASP USB keys support and others (plugin system?)