Пожалуйста, обратите внимание, что пользователь заблокирован
Исходя из комментария с предложениями по доработке клиппера решил этим и заняться.
Код теперь должен выглядеть так.
Потыкал много транзакций на сканнере биткоина все адреса заменяются, пропусков теперь нет.
Не забудьте обновить расширение после каждого изменения тыкнув на кнопку во вкладке chrome://extensions/
Окей, начнем с небольшого пояснения по началу адресов битка.
Например:
Теперь этот список нужно сделать массивом или обьектом где 1, 3, bc1q, bc1p будут ключами, а наши адреса значениями. Когда мы проверим начало найденного адреса на странице мы сможем заменить его на более менее похожий обратившись к обьекту или массиву по ключу и шанс не заметить подмену выростает. Переменную (константу) MY_ADDRESS можно удалить пока что. В виде JS кода это будет выглядеть так:
Теперь в цикле, который перебирает все найденные адреса на странице, нужно добавить код, который будет говорить нам с каких символов начинается найденный адрес. Для первых двух ключей 1 и 3 достаточно будет проверить первый символ строки и дальше сразу будет понятно на какой адрес нужно заменить, если начало строк не будет начинаться не с 1 и 3 мы будем брать первые 4 символа и сверять соответствие с bc1q и bc1p. На всякий случай еще будем удалять пробелы с начала и конца строки функцией trim чтоб избежать ложных несоответствий.
В виде кода это выглядит так:
Осталось только добавить вместо console.log'ов замену адреса на нужный обратившись к обьекту по ключу.
Начнем с этого. Да действительно регулярка работала не на все адреса, сделаем новую.Регулярка на поиск адресов которые будут клипаться - устаревшая, адреса вида bc1q bc1p не будут заменены.
^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,39}$Код теперь должен выглядеть так.
Потыкал много транзакций на сканнере биткоина все адреса заменяются, пропусков теперь нет.
Не забудьте обновить расширение после каждого изменения тыкнув на кнопку во вкладке chrome://extensions/
Полезно иметь не один "подменный" адрес, а хотя бы несколько, под каждый тип адреса 1..., 3..., bc1q... bc1p...Окей, начнем с небольшого пояснения по началу адресов битка.
- "1" - это начало для адресов в формате Pay-to-Public-Key-Hash (P2PKH).
- "3" - это начало для адресов в формате Pay-to-Script-Hash (P2SH).
- "bc1q" - это начало для адресов в формате Bech32 (например, SegWit адреса).
- "bc1p" - это также начало для адресов в формате Bech32, но используется для тестовых сетей (например, тестовая сеть Bitcoin).
Например:
- 1FMtiCeHhtm2edWBWNX39cRUn7Y13FTAMy - 1
- 3C1LvdzkMZEhigQbAUMz7eoejmuNaAPHt7 - 3
- bc1qm34lsc65zpw79lxes69zkqmk6ee3ewf0j77s3h - bc1q
- bc1ppuydpatkcsgruekreyen8vylh7xy37g2akq6hetsjnj0mukkqjnslydm9v - bc1p
Теперь этот список нужно сделать массивом или обьектом где 1, 3, bc1q, bc1p будут ключами, а наши адреса значениями. Когда мы проверим начало найденного адреса на странице мы сможем заменить его на более менее похожий обратившись к обьекту или массиву по ключу и шанс не заметить подмену выростает. Переменную (константу) MY_ADDRESS можно удалить пока что. В виде JS кода это будет выглядеть так:
Теперь в цикле, который перебирает все найденные адреса на странице, нужно добавить код, который будет говорить нам с каких символов начинается найденный адрес. Для первых двух ключей 1 и 3 достаточно будет проверить первый символ строки и дальше сразу будет понятно на какой адрес нужно заменить, если начало строк не будет начинаться не с 1 и 3 мы будем брать первые 4 символа и сверять соответствие с bc1q и bc1p. На всякий случай еще будем удалять пробелы с начала и конца строки функцией trim чтоб избежать ложных несоответствий.
В виде кода это выглядит так:
Осталось только добавить вместо console.log'ов замену адреса на нужный обратившись к обьекту по ключу.