Mojolicious-Plugin-Loco

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

# mojo-loco
Mojolicious plugin that launches a web browser

This is a cheap way to create desktop applications using [Mojolicious](https://metacpan.org/pod/Mojolicious) (cross-platform if your code is sufficiently portable).

Run the [SYNOPSIS](lib/Mojolicious/Plugin/Loco.pod#SYNOPSIS); you'll get the idea.

[Module documentation](lib/Mojolicious/Plugin/Loco.pod).

[Installation directions](INSTALL.md).

[Getting started with Mojolicious](https://metacpan.org/pod/Mojolicious)

## author

lib/Mojolicious/Plugin/Loco.pod  view on Meta::CPAN

  %= content
  </body>
  </html>

Save to C<myapp.pl>, and then

  perl myapp.pl daemon

=head1 DESCRIPTION

This plugin allows writing low-effort desktop applications using L<Mojolicious> (even cross-platform ones if your code is sufficiently portable).

When run as a L<daemon|Mojolicious::Command::daemon> listening on an explicit port, the plugin launches an internet browser, passing an initial URL and seed so that subsequent requests from that browser can be distinguished.  Client-side javascript t...

For applications making changes to the filesystem / local machine state, or handling sensitive data or anything else that matters, please see L</"SECURITY CONSIDERATIONS">

This module is currently experimental; the API may change without notice.

=head1 OPTIONS

=head2 config_key

lib/Mojolicious/Plugin/Loco.pod  view on Meta::CPAN

=head3 nofinish

Suppress the default C<on_finish> handler.

=head3 begin

Final C<begin> block, if provided, will be assumed to be javascript code to further configure the heartbeat object (code is preceded by C<$().heartbeat()>), typically to add C<on_hb> or C<on_finish> handlers

=head1 SECURITY CONSIDERATIONS

In a typical desktop application, traffic between the user interface and the application code will be invisible to remote attackers and code running in different processes.  Structuring your application as a Mojolicious server with UI provided by an ...

What follows is a (necessarily incomplete) listing of vulnerabilities you may need to address.

=over

=item Listening on Network-accessible Interfaces/Ports

Using a listening point that is network accessible means the server will (at least initially) accept incoming connection attempts from untrusted remote sites unless you have a reliable firewall to block these.  If, in addition, L</allow_other_session...

By default, Mojolicious servers listen at C<http://*:3000>, where C<*> means all available interfaces, so you need to change this (C<localhost>, C<127.0.0.1>, or C<[::1]>) using either C<$ENV{MOJO_LISTEN}> or the C<-l> command line argument that the ...



( run in 0.457 second using v1.01-cache-2.11-cpan-299005ec8e3 )