Автоматическая регистрация, каждый день достаточно открыть браузер, чтобы зарегистрироваться автоматически, не нужно вводить логин и пароль, не нужно вручную захватывать cookie, достаточно добавить скрипт + войти в учётную запись.
firefox установка
Самый простой способ — нажмите на значок плагина → «Диспетчер задач» → «Рекомендуемые скрипты» → выберите установку.
Способ установки сторонних или пользовательских скриптов: нажмите на значок плагина → «Диспетчер задач» → «Добавить скрипт» → загрузите файл скрипта / вставьте код скрипта / перетащите файл скрипта / вставьте ссылку на скрипт.
20181207: добавлена поддержка ввода параметров пользователем, используется для автоматического входа в систему с указанием логина и пароля пользователя. Способ применения см. в public/demos/m.jd.js
, требуется версия 1.0.4+.
20190326: добавлена поддержка подключения внешних js, добавлена возможность получения cookie указанной веб-страницы. Пример/public/demo/xiami.js
20190428: добавлена поддержка подстановочных знаков домена, *.baidu.com
будет соответствовать xxoo.baidu.com
или www.baidu.com
, но не может соответствовать baidu.com
.
20191205: рефакторинг кода, очистка логики, объединение операций, таких как диспетчер задач, в бэкенд для обеспечения целостности данных; добавлены функции импорта и экспорта; улучшена безопасность скриптов, добавлен @grant
для запроса разрешений.
20191208: добавлен переключатель возврата пожертвований, при посещении https://www.jd.com/
будет перенаправление на ссылку возврата автора.
20191218: оптимизирована структура кода, поддерживается экспорт и импорт скриптов, создан сайт скриптов.
20200827: добавлена страница просмотра журнала
.
20200831: добавлена поддержка функций, подобных puppeteer, например, имитация щелчка мыши. [Использование](#Имитация щелчка мышью)
Пример:
// ==UserScript==
// @name v2ex регистрация
// @namespace https://github.com/inu1255/soulsign-chrome
// @version 1.0.0
// @author inu1255
// @loginURL https://www.v2ex.com/signin
// @expire 900e3
// @domain www.v2ex.com
// ==/UserScript==
/**
* Интерфейс регистрации, можно использовать axios для отправки запросов, URL-адрес запроса должен быть объявлен через @domain
* throw Регистрация не удалась и выдаёт причину сбоя
* return Регистрация прошла успешно и возвращает сообщение об успешном выполнении
*/
exports.run = async function() {
var ret = await axios.get('https://www.v2ex.com/mission/daily');
if (ret.status != 200) throw 'Необходимо войти';
if (/每日登录奖励已领取/.test(ret.data)) return 'Уже получено';
let m = /redeem\?once=(.*?)'/gi.exec(ret.data);
if (!m) throw 'Ошибка 1';
await axios.get('https://www.v2ex.com/mission/daily/redeem?once=' + m[1]);
var ret = await axios.get('https://www.v2ex.com/mission/daily');
if (/每日登录奖励已领取/.test(ret.data)) return 'Успешно';
throw 'Ошибка 2';
};
/**
* Проверка онлайн-статуса, можно использовать библиотеку axios для отправки запроса, URL-адрес запроса должен быть указан через @domain
* return true означает, что пользователь онлайн
*/
exports.check = async function() {
var ret = await axios.get('https://www.v2ex.com/mission/daily');
return ret.status == 200;
};
Объяснение:
==UserScript==
@name
— название скрипта@namespace
— официальный сайт скрипта@version
— версия скрипта@author
— автор скрипта@loginURL
— URL для входа (помогает пользователям войти через эту ссылку)@expire
— время истечения сеанса (в миллисекундах), система будет периодически вызывать check для проверки статуса и поддержания активности сеанса@domain
— запрашиваемый домен (объявляет домены, к которым обращается скрипт)@param
— параметры (тип параметра, необязательно, по умолчанию text)@author
, @name
) уникально идентифицирует скрипт, дубликаты будут считаться одним скриптом==/UserScript==
Подробнее о примерах
ps: Авторские скрипты используют async/await, которые не поддерживаются старыми браузерами.
Предварительный просмотр:
Пример:
Вывод
относится к возвращаемому значениюexport.run()
Стандартный формат выводаobject
{
summary: "Регистрация прошла успешно", // `Результат выполнения`, может отображаться в формате `html`
detail: [
{
domain: "www.example.com", // `Подробности/Журнал` содержит `домен`
url: "https://www.example.com", // `Подробности/Журнал` содержит ссылку на `домен`
message: "Получено 1 очко", // `Подробности/Журнал` содержат `сообщение`, формат такой же, как у `результата выполнения`
errno: false, // Успех, errno = (false || 0); сбой, errno = (true || !0)
log: {
data: "some_data",
param: {
param1: 1,
param2: "some_string",
},
}, // Или любые другие дополнительные атрибуты, тип и количество не ограничены, они появятся в `развёрнутых элементах формы`
},
],
}
``` Совместимость с выходными форматами
***string***
"Успешная регистрация"
// По умолчанию преобразуется в `стандартный выходной формат`, как показано ниже:
//
// {
// summary: "Успешная регистрация",
// detail: [
// {
// domain: @domain[0],
// url: @loginUrl,
// message: "Успешная регистрация",
// errno: throw ? true : false,
// },
// ],
// }
Объяснение:
стандартный выходной формат
для разработки, пожалуйста, попробуйте использовать tools.version
{ inputLower: 1, inputEqual: 0, inputHigher: -1 } = function (string)
для совместимости с выходным форматом. В старых версиях плагинов object
будет отображаться в виде JSON
в разделе результаты выполнения
, что может ухудшить восприятие.
2. Содержимое .log | дополнительные свойства
полностью определяется внутри скрипта и предназначено для улучшения процесса разработки и получения обратной связи от пользователей. Это необязательная опция, поэтому она не копируется по умолчанию.
3. На странице подробности/журналы
можно установить флажок для домена и скопировать его. Информация, доступная для копирования по умолчанию, включает domain
, url
, message
, errno
. Для доступа к другой информации пользователи должны самостоятельно включить опции и добавить их перед копированием.
4. Домены на странице подробности/журналы
поддерживают цвета результатов выполнения
, а также errno = 2 : orange
, errno = 3 : orchid
, errno = 4 : pink
, errno = 5 : brown
.
5. По умолчанию в развёрнутых элементах формы
дерево JSON
раскрывается только на один уровень.
См. демонстрационные скрипты 京东金融PC и 阿里云签到.
Автор ранее создавал инструменты для регистрации с использованием puppeteer и делал сайты для регистрации на nodejs, но оба подхода имели недостаток — неудобство работы с cookie. Преимущество создания плагина заключается в том, что не требуется управлять cookie, плагин не сохраняет информацию о cookie, а пользователю не нужно получать cookie — достаточно просто войти в браузер со своим аккаунтом.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )