freegen is a freeswan config file generator. It's a work in progress, extended as my needs dictate - although I'm happy to accept GPL contributions to extend it...

freegen is available via an arch archive, or as a distribution tarball...
For arch, add an archive: robertc@squid-cache.org--misc at http://people.initd.org/robertc/misc/public/
Then grab robertc@squid-cache.org--misc/freegen--HEAD--0.1

or you can download version 0.0.8 (not necessarily the latest).

# do not edit -- automatically generated by arch changelog
# non-tag: automatic-ChangeLog--robertc at squid-cache.org--misc/freegen--HEAD--0.1
#

2003-08-06 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-10

    Summary:
      Add host config file overriding.
    Revision:
      freegen--HEAD--0.1--patch-10

    Add host config file overriding (file).
    Bump version.

    new files:
     .arch-ids/TODO.id TODO

    modified files:
     README configure.ac freegen.cc


2003-08-05 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-9

    Summary:
      Extend usage for multiple networks in one config.
    Revision:
      freegen--HEAD--0.1--patch-9

    Don't emit nexthop for right hand sides.
    Allow overriding the next hop for hosts (nexthop).
    Allow specifying the meshs to build (mesh and meshmember).
    Bump version.

    modified files:
     README configure.ac freegen.cc


2003-07-23 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-8

    Summary:
      Allow nodes to not link to other nodes.
    Revision:
      freegen--HEAD--0.1--patch-8

    Add an 'exclude' keyword, document and implement.

    modified files:
     README freegen.cc


2003-07-03 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-7

    Summary:
      Support multiple roadwarriors.
    Revision:
      freegen--HEAD--0.1--patch-7

    * Check that both ends of a connection can be found, and don't add it if otherwise.
    * bump version number.

    modified files:
     configure.ac freegen.cc


2003-07-03 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-6

    Summary:
      Update documentation.
    Revision:
      freegen--HEAD--0.1--patch-6

    * Move samples to README.
    * Add an example input file.
    * Bump the version number.

2003-07-03 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-5

    Summary:
      Add support for road warriors.
    Revision:
      freegen--HEAD--0.1--patch-5

    * Only generate net->* and *->net connections when there is a net definition.
    * Set right=%any connections to start=add
    * Bump version number.

2003-07-02 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-4

    Summary:
      Extend functionality to support %any connections.
    Revision:
      freegen--HEAD--0.1--patch-4

    * Refactor - add a Connection object between each host, allowing long term flexability.
    * Remove now duplicate addFullTunnel calls.
    * Bump version.
    * Special case %any to produce %defaultroute on one end, and %any on the other.

2003-06-30 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-3

    Summary:
      Bump version.
    Revision:
      freegen--HEAD--0.1--patch-3

    Bump version.

2003-06-30 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-2

    Summary:
      BUGFIX: auto keyword was not indented.
    Revision:
      freegen--HEAD--0.1--patch-2

    * indent auto in the generated configs.

2003-06-27 GMT	Robert Collins <rbtcollins at hotmail.com>	patch-1

    Summary:
      Improve documentation
    Revision:
      freegen--HEAD--0.1--patch-1

    Make it a little easier for folk to get started.

2003-06-27 GMT	Robert Collins <rbtcollins at hotmail.com>	base-0

    Summary:
      Initial commit
    Revision:
      freegen--HEAD--0.1--base-0

    Initial commit