Git Product home page Git Product logo

haylxon's Introduction

haylxon's People

Contributors

dependabot[bot] avatar enomothem avatar jmurphy-dev avatar joshua-mo-143 avatar livinginsyn avatar mrfixthis avatar pwnwriter avatar regmicmahesh avatar scientiac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

haylxon's Issues

[bug] The CPU is still occupied after use

Description

我使用命令结束后,电脑风扇一直嗡嗡作响,我一看任务管理器,我滴妈妈耶,全是被占用的chrome进程,能否在结束后进行资源释放。

Software Version

0.1.9

Steps to Reproduce

image

Expected Behavior

cpu ok

Actual Behavior

cpu no space

Additional Information

No response

[panic] The use file panic

thread 'thread 'thread 'thread 'thread 'thread 'tokio-runtime-workertokio-runtime-workertokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value' panicked at '', src\cli\screenshot.rs:' panicked at '158called `Option::unwrap()` on a `None` value:', 64src\cli\screenshot.rs
:note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
158tokio-runtime-workertokio-runtime-worker' panicked at '' panicked at 'called `Option::unwrap()` on a `None` value', :src\cli\screenshot.rscalled `Option::unwrap()` on a `None` value:', 158tokio-runtime-worker64:' panicked at 'src\cli\screenshot.rscalled `Option::unwrap()` on a `None` value64

:158:called `Option::unwrap()` on a `None` value64', ', src\cli\screenshot.rssrc\cli\screenshot.rs::158:64

158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
thread 'tokio-runtime-worker' panicked at 'called `Option::unwrap()` on a `None` value', src\cli\screenshot.rs:158:64
error: task 36 panicked

A way to run arbitrary javascript on the page being screenshot

Description

Previously in a different tool I would run it with something along the lines of

--js='window.setTimeout(function() {window.scrollTo(0,document.body.scrollHeight);}, 100);window.setTimeout(function() {window.scrollTo(0,0);}, 400)'

I know that js looks ugly. But, this way I could capture images that relied on scrolling past them to load. Lazy loading images make the page look empty when I capture with something like

hxn -b /Applications/Chromium.app/Contents/MacOS/Chromium --width 1440 --fullpage --url "$url"

Any thoughts on a workaround.
Or adding this as a feature?

My thought is that, as a workaround, I could also write an extension for chromium that does this for me, and perhaps your program would end up autoloading my javascript extension on every webpage.

Related Documentation or Links

  • The old tool I was using 10 plus years ago was called webkit2png, I believe it was written in python2 and used webkit (I am pretty sure it is unmaintained and does not work anymore without all the old dependencies)
  • https://paulhammond.org/webkit2png

Add proxy flag

Please add a proxy flag so that we can proxy requests to a SOCKS or something similar.

Haylxon works with brave

I build a haylxon from source , and it was tends to be work perfectly but its throw this error :

thread 'main' panicked at 'An error occurred while running :(: "Could not auto detect a chrome executable"', src/main.rs:50:10
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

so basically it was searching for a chrome executable on my system . but it was not installed on my system , i have brave installed on my arch , so i resolved it by following trick :

  1. Copy /usr/bin/brave /usr/bin/chrome
    and it did trick , just worked !!!!!!!

if anyone using brave and trying out haylxon then do this , it will work .

[bug] File path error using special url path

Description

File path error using special url path

Software Version

0.1.9

Steps to Reproduce

Windows 11

.\hxn.exe -b E:\\T0_APP\\Google\\Chrome\\Application\\chrome.exe -u http://xxx.com?new=1.1 --verbose
image
error: 文件名、目录名或卷标语法不正确。 (os error 123)
error: The file name, directory name, or tagline method is incorrect (os error 123)

Expected Behavior

url is recognized

Actual Behavior

error

Additional Information

No response

Full page screenshot

Description

Take full page screenshots of urls

Related Documentation or Links

No response

[ Feature request]: Add support for defining ports with urls

Description

Allow defining ports as well.

For example. if One have a url foo.com . If (s)he wants to scan a list of ports of that specific url. He could do

hxn -u https://foo.com -p 90,10

Or inside a file

https://foo.com 8080,90
https://bar.com 70,20

Related Documentation or Links

No response

[bug] Produces a blank file

Description

I don't know if it's because of the title or the url, this screenshot doesn't have any content, but the size is assigned. I changed it to an image suffix, which is still an unsupported format.

Software Version

0.1.8

Steps to Reproduce

image

I get a responsive page, but I get a 0 byte file, and I don't know why

Expected Behavior

no image

Actual Behavior

image

Additional Information

No response

Option to use COOKIE from parent browser for a URL

I would like an option to use a cookie from a signed in browser to Haylxon.

Such as supplying an optional -c option to use a cookie from parent browser, if that option hasn't been already taken

The fetching of the cookie from the parent browser may be made dynamic based upon the supplied URL.

hxn -b /usr/bin/brave-browser -u **-c** https://twitter.com

Your choice of whether this should itself be another project.

Panic if browser binary isn't found

Apparently if the browser binary is not found on the system hxn just panics.

There should be a better error message for this case, especially since the panic just mentions "No such file or directory" but not which path (semantically or the actual value) this refers to.

Does this run on a Mac? Can I call it from within my Rust program?

Description

Thanks for this!
Look forward to getting it working.

I compiled in RustRover & it runs fine, but can't instantiate Brave or Chrome.

Here's a grab from terminal; line 1 gets the error on line 2, line 3 opens Brave successfully so I know the path is correct.

brad@Hutchins debug % ./hxn -b "/Applications/Brave Browser.app" --url https://didi.co
error: Error instantiating browser /Applications/Brave Browser.app
brad@Hutchins debug % /usr/bin/open -a "/Applications/Brave Browser.app" https://didi.co
brad@Hutchins debug %

Am I doing something wrong--or maybe it doesn't run on Macs?

And the end goal: how do I call it from within a Rust program?
(I assume I could just cut & paste the contents of main() in main.rs--but is there an API?)

Thanks!
Brad

Related Documentation or Links

No response

Protocol

@pwnwriter It would be much more useful if it also take screenshots on both protocols http / https and also have flags like retry and flag to define custom ports

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.