Commit Graph

65 Commits

Author SHA1 Message Date
Leon 7c6ab42d7b
Update README.md 2023-02-09 12:09:49 +01:00
Leon f960dee863
Limiting down the issue tracker and introducing Undetected-Discussions 2023-02-09 12:03:25 +01:00
Leon bb65b33f4a
3.4.5 update readme
3.4.5 added information of last weeks advancements 
    **patch to fix headless mode**
    currently headless undetected:
    https://i.imgur.com/CME9ElR.png

    (but still unsupported!)

    -https://stackoverflow.com/a/73840130/7058266
    -https://support.google.com/chrome/a/answer/7679408#hdlssMod110


special thanks to @mdmintz and @abdulzain6 and @sebdelsol
2023-02-08 18:51:01 +01:00
Leon 951e6598d4
3.4.0 - New anti-detection mechanism - Lots of fixes
* rewritten the anti-detection mechanism instead of removing and renaming variables, we just keep them, but prevent them from being injected in the first place. This will keep us safe from detection at least for the near future.

* rewritten the file naming, to prevent ending up with 1000 of {randomstring}_chromedriver.exe 's instead it is just called undetected_chromedriver.exe

* cleanup removed compat,v2 files and tests folder
2023-02-04 22:43:55 +01:00
UltrafunkAmsterdam c12fcfc0a8 Oh yes, do wanna rockin' with the best
--------------------

https://youtu.be/kMjhrh_XDWk?t=48

--------------------

Big update! be careful as it -potentially- could break your code.

- rewritten the anti-detection mechanism
  instead of removing and renaming variables, we just keep them, but prevent them from being injected in the first place

- rewritten the file naming, to prevent ending up with 1000 of {randomstring}_chromedriver.exe 's
  instead it is just called undetected_chromedriver.exe

- cleanup
  removed compat,v2 files and tests folder
2023-02-04 22:02:46 +01:00
Leon dad751da18
Update README.md 2023-01-01 02:59:41 +01:00
Leon 93fef62d50
Update README.md 2022-12-28 15:57:21 +01:00
Leon 0ea3cf50d4
3.2.0 2022-12-28 15:54:18 +01:00
UltrafunkAmsterdam 0214c9fbbe 3.2.0 2022-12-28 15:43:42 +01:00
Leon a535fc9597
Update README.md
...
2022-12-14 21:39:32 +00:00
Leon e50ef8b373
Update README.md
fix path to example file for when this is merged to master
2022-12-14 21:38:54 +00:00
UltrafunkAmsterdam e33312535e update readme. ensure children(recursive=True) returns a list 2022-11-29 18:19:28 +01:00
Leon 67e84a8b06
Update README.md 2022-10-15 19:26:01 +02:00
Leon f93426478c
Update README.md 2021-12-23 17:51:30 +01:00
Leon 77509e6da2
3.1.0 2021-12-22 13:18:47 +00:00
UltrafunkAmsterdam 154f7fcdb3 3.1.0! 2021-12-22 14:07:27 +00:00
Leon e62ccc68b1
Update README.md 2021-12-16 06:13:31 +01:00
UltrafunkAmsterdam b60820a600 3.1.0rc1
-----------
  this version is for test purposes only and contains breaking changes
  -----------

  - v2 is now the "main/default" module. usage:

        import undetected_chromedriver as uc
        driver = uc.Chrome()
        driver.get('https://nowsecure.nl')

  - The above is the README for this version. or use the regular instructions, but
    skip the `with` black magic and skip references to v2.
  - v1 moved to _compat for now.
  - fixed wrong dependancies
  - ~~~~ added "new" anti-detection mechanic ~~~~

  - the above ^^ makes all recent changes and additions obsolete
  - Removed ChromeOptions black magic to fix compatiblity issues

  - restored .get() to (near) original.
       - most changes from 3.0.4 to 3.0.6 are obsolete, as t
       - no `with` statements needed anymore, although it will still
         work for the sake of backward-compatibility.
       - no sleeps, stop-start-sessions, delays, or async cdp black magic!
       - this will solve a lot of other "issues" as well.
  - test success to date: 100%
  - just to mention it another time, since some people have hard time reading:
    headless is still WIP. Raising issues is needless
2021-12-16 05:53:41 +01:00
UltrafunkAmsterdam ec49c0086b 3.0.4 2021-11-16 18:43:52 +01:00
UltrafunkAmsterdam 77a3c3020f ^ 2021-11-14 13:06:34 +01:00
Leon 1e363b18be
Update README.md 2021-07-30 01:47:49 +02:00
Leon add42e29d1
Update README.md 2021-07-22 22:16:06 +02:00
Leon c82a6c90eb
Update README.md 2021-07-22 22:15:29 +02:00
Leon ebafbe1db6
3.0.0 (#180)
*3.0.0
added lots of features and bugfixes

- You can now subscribe to Chrome Devtools Protocol Events like networking.
- splitted the project up in seperate modules now
- fixed locale (accept-language)
- you can enter your user-data-folder as property of
    ChromeOptions() now.
- The ChromeOptions had a makeover, and i took the one from alpha 4,
    people having troubles with mobile emulation and other bullshit,
    can try again now.
- fixed the logic where sometimes options did not
    respect the given values
- for headless (though still not supperted for undetectability),
    added some real cool features which need to be set in
    the options object):

    defaults:
    emulate_touch = True
    mock_permissions = True  # headless had notificationpermissions
                                setup in a distinguisable way.
    mock_chrome_global = False
    mock_canvas_fp = True  # patch fingerprint

EXTENSIONS ARE NOT SUPPORTED BY CHROME IN HEADLESS MODE
YET. IF YOU WANT TO USE THEM, CREATE A PROFILE AND INSTALL
EXTENSIONS BY USING A REGULAR CHROME SESSION FIRST.
ALSO LOGIN TO GMAIL WHILE YOU'RE ON A GENUINE SESSION.

WHEN FINISHED, COPY THE USERDATA FOLDER OF CHROME TO SOME KNOWN
LOCATION (and make maye 2 copies?). BY HAVING GMAIL LOGGED IN
FIXES ALSO THE UNSAFE BROWSER MESSAGE FROM GOOGLE (AT LEAST FOR
ME IT WORKS)


* 2.2.2

* fixed a number of bugs
- specifying custom profile
- specifying custom binary path
- downloading, patching and storing now (if not explicity specified)
    happens in a writable folder, instead of the current working dir.

Committer: UltrafunkAmsterdam <UltrafunkAmsterdam@github>

* tidy up

* uncomment block

* - support for specifying and reusing the user profile folder.
    if a user-data-dir is specified, that folder will NOT be
    deleted on exit.
    example:
        options.add_argument('--user-data-dir=c:\\temp')

- uses a platform specific app data folder to store driver instead
    of the current workdir.

- impoved headless mode. fixed detection by notification perms.

- eliminates the "restore tabs" notification at startup

- added methods find_elements_by_text and find_element_by_text

- updated docs (partly)

-known issues:
    - extensions not running. this is due to the inner workings
        of chromedriver. still working on this.
    - driver window is not always closing along with a program exit.
    - MacOS: startup nag notifications. might be solved by
        re(using) a profile directory.

- known stuff:
    - some specific use cases, network conditions or behaviour
      can cause being detected.

* Squashed commit of the following:

commit 7ce8e7a236cbee770cb117145d4bf6dc245b936a
Author: ultrafunkamsterdam <info@blackhat-security.nl>
Date:   Fri Apr 30 18:22:39 2021 +0200

    readme change

commit f214dcf33f26f8b35616d7b61cf6dee656596c3f
Author: ultrafunkamsterdam <info@blackhat-security.nl>
Date:   Fri Apr 30 18:18:09 2021 +0200

    - make sure options cannot be reused as it will
        cause double and conflicting arguments to chrome



    - support for specifying and reusing the user profile folder.
        if a user-data-dir is specified, that folder will NOT be
        deleted on exit.
        example:
            options.add_argument('--user-data-dir=c:\\temp')

    - uses a platform specific app data folder to store driver instead
        of the current workdir.

    - impoved headless mode. fixed detection by notification perms.

    - eliminates the "restore tabs" notification at startup

    - added methods find_elements_by_text and find_element_by_text

    - updated docs (partly)

    -known issues:
        - extensions not running. this is due to the inner workings
            of chromedriver. still working on this.
        - driver window is not always closing along with a program exit.
        - MacOS: startup nag notifications. might be solved by
            re(using) a profile directory.

    - known stuff:
        - some specific use cases, network conditions or behaviour
          can cause being detected.
2021-05-24 10:26:02 +02:00
Leon bc30d7623f
2.2.6 - hodl your breath (#161)
* 2.2.2

* fixed a number of bugs
- specifying custom profile
- specifying custom binary path
- downloading, patching and storing now (if not explicity specified)
    happens in a writable folder, instead of the current working dir.

Committer: UltrafunkAmsterdam <UltrafunkAmsterdam@github>

* tidy up

* uncomment block

* - support for specifying and reusing the user profile folder.
    if a user-data-dir is specified, that folder will NOT be
    deleted on exit.
    example:
        options.add_argument('--user-data-dir=c:\\temp')

- uses a platform specific app data folder to store driver instead
    of the current workdir.

- impoved headless mode. fixed detection by notification perms.

- eliminates the "restore tabs" notification at startup

- added methods find_elements_by_text and find_element_by_text

- updated docs (partly)

-known issues:
    - extensions not running. this is due to the inner workings
        of chromedriver. still working on this.
    - driver window is not always closing along with a program exit.
    - MacOS: startup nag notifications. might be solved by
        re(using) a profile directory.

- known stuff:
    - some specific use cases, network conditions or behaviour
      can cause being detected.

* Squashed commit of the following:

commit 7ce8e7a236cbee770cb117145d4bf6dc245b936a
Author: ultrafunkamsterdam <info@blackhat-security.nl>
Date:   Fri Apr 30 18:22:39 2021 +0200

    readme change

commit f214dcf33f26f8b35616d7b61cf6dee656596c3f
Author: ultrafunkamsterdam <info@blackhat-security.nl>
Date:   Fri Apr 30 18:18:09 2021 +0200

    - make sure options cannot be reused as it will
        cause double and conflicting arguments to chrome

commit cf059a638c
Author: ultrafunkamsterdam <info@blackhat-security.nl>
Date:   Thu Apr 29 12:54:49 2021 +0200

    - support for specifying and reusing the user profile folder.
        if a user-data-dir is specified, that folder will NOT be
        deleted on exit.
        example:
            options.add_argument('--user-data-dir=c:\\temp')

    - uses a platform specific app data folder to store driver instead
        of the current workdir.

    - impoved headless mode. fixed detection by notification perms.

    - eliminates the "restore tabs" notification at startup

    - added methods find_elements_by_text and find_element_by_text

    - updated docs (partly)

    -known issues:
        - extensions not running. this is due to the inner workings
            of chromedriver. still working on this.
        - driver window is not always closing along with a program exit.
        - MacOS: startup nag notifications. might be solved by
            re(using) a profile directory.

    - known stuff:
        - some specific use cases, network conditions or behaviour
          can cause being detected.

commit b40d23c649
Author: ultrafunkamsterdam <info@blackhat-security.nl>
Date:   Tue Apr 27 20:41:18 2021 +0200

    uncomment block

commit d99809c8c6
Author: ultrafunkamsterdam <info@blackhat-security.nl>
Date:   Tue Apr 27 20:19:51 2021 +0200

    tidy up

* .

* 2.2.7

Co-authored-by: ultrafunkamsterdam <info@blackhat-security.nl>
2021-05-01 22:49:59 +02:00
Leon 996ed01403
Update README.md 2021-04-29 10:14:47 +02:00
unknown 10b341b574 2.1.1 code cleanup, added v2 example to readme 2021-02-04 12:22:28 +01:00
unknown c8f28b1a70 corrected find_chrome_executable to work in MacOS 2021-01-17 20:31:22 +01:00
Leon 78c59cc710
Update README.md 2020-12-17 15:07:33 +01:00
Leon 5f50b07709
Update README.md 2020-12-17 15:07:12 +01:00
Leon 0e0659d811
Update README.md 2020-12-17 15:06:51 +01:00
Leon 2e75181435
1.5.1 2020-11-25 16:07:34 +01:00
Leon b3d9eac425
Update README.md 2020-10-14 11:15:40 +02:00
Leon 37c26d0d6d
Update README.md 2020-10-14 11:12:53 +02:00
Leon 989ddb7e40
Update README.md 2020-10-14 10:56:47 +02:00
ultrafunkamsterdam 4ce47e7f83 1.5.0 2020-10-13 03:51:35 +02:00
Leon 06217efc65
Update README.md 2020-09-28 01:36:37 +02:00
Leon 96411c19d1
Update README.md 2020-09-19 18:50:41 +02:00
Leon eb7e3a6330
Update README.md 2020-09-19 18:46:59 +02:00
Leon 76f136721b
Update README.md 2020-09-13 11:44:38 +02:00
ultrafunkamsterdam b7685af668 added to pip package index 2020-09-03 22:12:09 +02:00
Leon f3c040297a
Update README.md 2020-09-02 04:11:20 +02:00
Leon 1d9373ccbf
Update README.md 2020-07-02 14:05:00 +02:00
Leon 944b97519e
Update README.md 2020-07-02 14:03:52 +02:00
Leon 9d7259b46d
Update README.md 2020-06-15 20:36:00 +02:00
Leon 01f6f958b6
Update README.md 2020-06-15 20:20:47 +02:00
Leon 71cd7db89c
Update README.md 2020-06-15 19:23:26 +02:00
Leon f8ac6c1039
Update README.md 2020-06-15 19:18:49 +02:00
Leon 482ba0181f
Update README.md 2020-06-15 19:16:19 +02:00
Leon a806dc0f67
Update README.md 2020-06-15 18:31:48 +02:00