Заметил сообщение от FantasticExploits в Предложениях по улучшению форума:
Подумал, что мне тоже интересно читать старые треды, поэтому сделал расширение TOR/Firefox для поиска рандомной статьи до 2015 года.
Мое первое расширение, сделанное в 4 утра, не будьте жестокими. Добавляется через Debug/Temporary extensions (инструкция на картинке ниже). При нормальном добавлении пишет "This add-on could not be installed because it appears to be corrupt", почитал, пишут что надо его подписать для возможности добавить нормально. Мне лень, кому не лень и нужно - можете сделать =).
Получилось вполне залипательно, можно часами сидеть на форуме и играться, окунаться в прошлое. Это как тикток, только от него ты не становишься brainrot, а наоборот
Всем спасибо. Всем пока.
admin, я для себя обнаружил обсолютно нереальное кол-во крутых статей и материалов улетевших в глубь форума. Когда листаешь разделы или пользуешся поиском я редко захожу дальше второй страницы выдачи. Но время от времени, более пытливые участники откапывают такой материал и комментируют - я нахожу его в блоке с права, "новые сообщения". Моё предложение добавить в этот блок еще одну вкладку, как у википедии, что-то по типу рандомной статьи. Лично я бы с удовольствием переходил по таким ссылкам и читал. Возможно, в таком ключе можно подумать о возможности ее персональной настройки в профиле по тегам/интересам.
Подумал, что мне тоже интересно читать старые треды, поэтому сделал расширение TOR/Firefox для поиска рандомной статьи до 2015 года.
Мое первое расширение, сделанное в 4 утра, не будьте жестокими. Добавляется через Debug/Temporary extensions (инструкция на картинке ниже). При нормальном добавлении пишет "This add-on could not be installed because it appears to be corrupt", почитал, пишут что надо его подписать для возможности добавить нормально. Мне лень, кому не лень и нужно - можете сделать =).
1. Перейти в браузере на about:debugging#/runtime/this-firefox
2. Нажать "Load Temporary Add-on" и выбрать прикрепленный к этому треду .xpi файл dig_up.zip в build/dig_up.xpi
--
Шаги 3 и 4 для TOR
--
3. Перейти в браузере на about:addons -> нажать на 3 точки -> Manage
4. Разрешить работу в приватных окнах выбрав "Allow"
2. Нажать "Load Temporary Add-on" и выбрать прикрепленный к этому треду .xpi файл dig_up.zip в build/dig_up.xpi
--
Шаги 3 и 4 для TOR
--
3. Перейти в браузере на about:addons -> нажать на 3 точки -> Manage
4. Разрешить работу в приватных окнах выбрав "Allow"
После установки возле кнопки DEPOSIT у вас появится кнопка BEGIN THE DIG (или НАЧАТЬ РАСКОПКИ для ру версии):
Нажимаете ее, расширение начинает поиск:
И вы попадаете на рандомную статью:
Нажимаете ее, расширение начинает поиск:
И вы попадаете на рандомную статью:
JavaScript:
console.log('"Dig Up" extension works!');
function getRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function createButton() {
// to avoid duplicates
if (document.querySelector("#searchOldThreadButton")) {
return;
}
const newLi = document.createElement("li");
const divContainer = document.createElement("div");
divContainer.className = "p-navEl u-ripple rippleButton"; // for some suitable appearance
const button = document.createElement("a");
button.id = "searchOldThreadButton";
button.textContent =
document.documentElement.lang === "en-US"
? "BEGIN THE DIG"
: "НАЧАТЬ РАСКОПКИ";
button.className = "p-navEl-link";
button.style.color = "#CFB53B"; // old gold color =)
button.style.cursor = "pointer";
button.href = "#";
button.onclick = async function (event) {
event.preventDefault();
button.textContent =
document.documentElement.lang === "en-US"
? "DIGGING..."
: "РАСКАПЫВАНИЕ...";
button.disabled = true;
await tryRequest(100, button);
};
divContainer.appendChild(button);
newLi.appendChild(divContainer);
const navList = document.querySelector(".p-nav-list.js-offCanvasNavSource");
if (navList) {
navList.appendChild(newLi);
} else {
console.error("Place to insert the button not found.");
}
}
async function tryRequest(retries = 100, button) {
for (let i = 0; i < retries; i++) {
const randomNumber = getRandomNumber(2000, 24500);
const threadsEndpoint = `/threads/${randomNumber}`;
const url = `${window.location.origin}${threadsEndpoint}`;
button.textContent =
document.documentElement.lang === "en-US"
? `DIGGING (${threadsEndpoint})...`
: `РАСКАПЫВАНИЕ (${threadsEndpoint})...`;
try {
const response = await fetch(url);
if (response.status === 200) {
window.location.href = url;
return;
} else {
console.log(
`Attempt ${i + 1}: Request to ${url} failed with status: ${
response.status
}`
);
}
} catch (error) {
console.error(`Attempt ${i + 1}: Error making request to ${url}:`, error);
}
}
// if 100 attemps to find a valid page fail
button.textContent =
document.documentElement.lang === "en-US"
? `НЕУДАЧА, ПОПРОБУЙ ЕЩЕ РАЗ :(`
: `BAD LUCK, TRY AGAIN :(`;
button.disabled = false;
}
createButton();
Получилось вполне залипательно, можно часами сидеть на форуме и играться, окунаться в прошлое. Это как тикток, только от него ты не становишься brainrot, а наоборот
Всем спасибо. Всем пока.
Вложения
Последнее редактирование: