8000 Releases · ail-project/lacus · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: ail-project/lacus

v1.16.0

12 Jun 14:15
v1.16.0
425edd5
Compare
Choose a tag to compare

This is mostly a maintenance release, with bugfixes in the underlying dependencies.

The news is a working dockerfile by @litobro, thank you !

What's Changed

New Contributors

Full Changelog: v1.15.0...v1.16.0

v1.15.0 - GeekWeek X

22 May 10:24
v1.15.0
2f5476f
Compare
Choose a tag to compare

New Feature

This releases adds support for Wireguard VPN config files using wireproxy.

In order to use it, you need to install wireproxy, and set the path to the wireproxy executable file in $LACUS_HOME/config/generic.json, key wireproxy_path.

Lacus accepts any valid wireguard configuration file in $LACUS_HOME/config/<Name>.conf. The file is automatically configured for wireproxy, and an instance is launched. Wireproxy exposes a health endpoint, which Lacus checks regularly. If a proxy stops responding for too long, it is automatically disabled.

Once Lacus is running, you can add/remove any new wireguard proxy configuration file in $LACUS_HOME/config, the file will be detected, configured, and launched (or stopped). Note that the file name must be <Name>.conf.

Important Note: Any manual change in the wireproxy config files ($LACUS_HOME/config/<Name>.conf) once they have been configured is not allowed and will be reverted. The only config file you can edit is $LACUS_HOME/config/proxies.json, where you can add a description and anything you want in the meta key.

The example below is showing a config for Tor (with the default socks5 interface) and a proxy existing in the Netherlands (with wireproxy). Changing the proxy_url for a wireproxy config is not recommended, but it will be reflected in the wireproxy config file.

{
    "Tor": {
        "description": "Trigger the capture via the tor network.",
        "meta": {
            "provider": "Tor Project"
        },
        "proxy_url": "socks5://127.0.0.1:9050"
    },
    "Netherlands": {
        "description": "Proxy for Netherlands",
        "dns_resolver": "10.2.0.1",
        "meta": {
            "provider": "My wireguard config provider"
        },
        "proxy_url": "socks5://127.0.0.1:25310"
    }
}

API

The proxies are exposed in the Lacus API (https://<Lacushost>/proxies):

{
  "Netherlands": {
    "description": "Proxy for Netherlands",
    "meta": {
      "provider": "wireguard"
    }
  },
  "Tor": {
    "description": "Trigger the capture via the tor network.",
    "meta": {
      "provider": "Tor Project"
    }
  }
}

As you can see, the proxy_url is not in the response because if a proxy name (Netherlands, Tor) is passed in the proxy key when triggering a capture, Lacus automatically replaces it with the relevant URL.

Full Changelog: v1.14.0...v1.15.0

v1.14.0

21 Apr 18:25
v1.14.0
25c5f43
Compare
Choose a tag to compare

New Feature

  • Pre-configure proxies for the lookyloo instance (config example for: config/proxies.json)
{
    "Tor": {
        "proxy_url": "socks5://127.0.0.1:9050",
        "description": "Trigger the capture via the tor network.",
        "meta": {
            "provider": "Tor Project"
        }
    },
    "US": {
        "proxy_url": "socks5://127.0.0.1:32321",
        "dns_resolver": "1.1.1.1", 
        "description": "Trigger the capture via a Socks5 proxy in the US.",
        "meta": {
            "provider": "My own stash of Proxies"
        }
    }
}
  • Expose the proxies in the API (description and meta keys only)

What's Changed

New Contributors

Full Changelog: v1.13.1...v1.14.0

v1.13.1 - Hackathon release

09 Apr 13:51
v1.13.1
c42ab83
Compare
Choose a tag to compare
  • Add support for storage state in the query, and in the response

What's Changed

  • feat: make screenshot capturing optional by @jgarl in #45

New Contributors

  • @jgarl made their first contribution in #45

Full Changelog: v1.13.0...v1.13.1

v1.13.0

18 Feb 15:15
v1.13.0
d96b175
Compare
Choose a tag to compare

Most importantly, lacus has a logo now

Lacus Logo

New features

  • Support for captures with a headed browser (setting allow_headed). Only possible if lacus is running in a graphical environment. (see below for details)
  • Expose the results expiration timeout (setting expire_results to a lower value reduces the memory use if you have many captures)

Changes

Full Changelog: v1.12.0...v1.13.0

Notes for headed captures

The classical use of Lacus is to have it running on a server with no graphical interface (no X/Wayland server). The capture with Playwright uses a headless browser, runs some interactions on the page (see PlaywrightCapture for details), and finishes after a certain amount of time and/or no traffic. This method is good enough most of the time, but all the interactions on the page are predefined and cannot be modified by the user triggering the capture.

In order to use the headed option, you need the following:

  • The configuration setting "allow_headed" = True in config/generic.json
  • Lacus installed on a machine with a graphical interface
  • Pass headless set to False in the capture settings
  • Optionally general_timeout_in_sec set to the amount of time you want to interact with the page (it is set to 90 by default)

The headed capture mode opens a full browser configured with the settings passed to the capture, but it won't run the predefined interactions. Instead, it lets the user interact with the page for a set amount of time (general_timeout_in_sec), stops the capture, and store the result as usual. It is mostly helpful to manually bypass captchas and other techniques used by websites to detect bots.

v1.12.0

06 Nov 10:47
v1.12.0
Compare
Choose a tag to compare

This release requires some system upgrades:

  • Valkey 8.0+
  • Python 3.9+

Lacus changes

Full Changelog: v1.11.0...v1.12.0

  • Optionally disable JavaScript during a capture
  • Optionally configure the number of retries in case a capture fails (configurable globally, and for each capture)

LacusCore changes

Full Changelog: ail-project/LacusCore@v1.11.0...v1.12.0

PlaywrightCapture changes

Full Changelog: Lookyloo/PlaywrightCapture@v1.26.0...v1.27.0

v1.11.0

17 Sep 10:41
v1.11.0
Compare
Choose a tag to compare

Lacus changes

Full Changelog: v1.10.0...v1.11.0

  • Validate capture settings with pydantic & log accordingly
  • New controller to stop/restart scripts individually
  • Use valkey instead of redis by default
  • Bump all dependencies

LacusCore changes

Full Changelog: ail-project/LacusCore@v1.10.0...v1.11.0

  • Improve DNS resolving
  • Enable new chromium headless by default
  • Capture favicons by default
  • Improve typing, use Pydantic

PlaywrightCapture changes

Full Changelog: Lookyloo/PlaywrightCapture@v1.25.0...v1.26.0

  • Use new clock API in Playwright to speedup time
  • Upgrade usage of stealth module
  • Accept dialogs popup by default
  • Bugfixes
  • Bypass many more tracking boxes
  • Avoid many deadlocks

v1.10.0

03 Jul 12:22
v1.10.0
Compare
Choose a tag to compare
  • Improve logging
  • Improve documentation with env variables
  • Support valkey instead of redis
  • Support Ubuntu 24.04

Full Changelog: v1.9.0...v1.10.0

v1.9.0

29 Mar 17:10
v1.9.0
Compare
Choose a tag to compare

New feature

Optionally attempt to click on the button allowing tracking for the page we capture

One of the most dramatic example is on cnews (french equivalent of FoxNews). There is no way to show a screenshot of the capture itself, but you can go see them by clicking on the images below (the stats for the capture)

Without tracking With Tracking (you will need to zoom out a lot)
without tracking with tracking

This feature is a WiP as it often needs specific code to find the button to click on, but quite a few common frameworks are supported. Feel free to open an issue (or even better a pull request) in PlaywrightCapture.

Changes

  • [PlaywrightCapture] Do not capture the same URL more than onde when depth is > 0
  • [PlaywrightCapture] Improvements when fetching favicons
  • [PlaywrightCapture] Improve timeouts
  • [PlaywrightCapture] Improve logging
  • [LacusCore] Speedup DNS resolution
  • [LacusCore] Improve retries

For more details see release notes for LacusCore and PlaywrightCapture

Full Changelog: v1.8.0...v1.9.0

v1.8.0 7073

05 Feb 13:57
v1.8.0
Compare
Choose a tag to compare

What's Changed (Since 1.7.0)

Full Changelog: v1.7.0...v1.8.0

0