- mods/TelegramAuth, mods/TelegramAuthBot, mods/WatchTogether: копии из образа с enable: true (правило 1), секции в config/init.conf - TelegramAuth в API-режиме (enable: false -> accsdb/гейт не поднимается), TelegramAuthBot: бот @GatusMonBot, long polling - WatchTogether: customPlugins watchtogether.js, relay /wt/c/ - README: секция про SQLite/volume (первый запуск), таблица модулей, состояние Tg-notify и TelegramAuth, раздел WatchTogether - AGENT: правило 10 дополнено секретами init.conf, §12 переписан, добавлен §13 WatchTogether, список mods/ в §1 - в git bot_token и mutations_api_secret оставлены пустыми (правило 10), реальные значения только в рабочем файле на сервере
387 lines
5.2 KiB
JavaScript
387 lines
5.2 KiB
JavaScript
/**
|
|
* Friendly names for a participant — "Clever Mango" rather than a random id.
|
|
*
|
|
* The idea, the adjective-then-greengrocer shape and the word lists come from LocalSend
|
|
* (Apache License 2.0) by way of the JAPP player, which solves the same problem: something
|
|
* a stranger can read off a screen and repeat out loud, that says nothing about the device
|
|
* or its owner. 222 x 137 is 30414, which puts two people in a room of five
|
|
* drawing the same name at around one chance in three thousand.
|
|
*
|
|
* Deliberately not localised, exactly as LocalSend is not, so a name generated here reads
|
|
* the same as one generated in the Android player.
|
|
*/
|
|
|
|
const ADJECTIVES = [
|
|
"Able",
|
|
"Active",
|
|
"Adorable",
|
|
"Agile",
|
|
"Alert",
|
|
"Amber",
|
|
"Amused",
|
|
"Ancient",
|
|
"Artful",
|
|
"Autumn",
|
|
"Balanced",
|
|
"Beautiful",
|
|
"Big",
|
|
"Bold",
|
|
"Brave",
|
|
"Breezy",
|
|
"Bright",
|
|
"Brisk",
|
|
"Calm",
|
|
"Candid",
|
|
"Careful",
|
|
"Cheerful",
|
|
"Chosen",
|
|
"Civil",
|
|
"Classic",
|
|
"Clean",
|
|
"Clear",
|
|
"Clever",
|
|
"Cool",
|
|
"Cosmic",
|
|
"Crafty",
|
|
"Crimson",
|
|
"Crisp",
|
|
"Cunning",
|
|
"Curious",
|
|
"Cute",
|
|
"Dapper",
|
|
"Daring",
|
|
"Dazzling",
|
|
"Deep",
|
|
"Deft",
|
|
"Determined",
|
|
"Devoted",
|
|
"Diligent",
|
|
"Distant",
|
|
"Divine",
|
|
"Eager",
|
|
"Early",
|
|
"Earnest",
|
|
"Easy",
|
|
"Efficient",
|
|
"Elder",
|
|
"Electric",
|
|
"Elegant",
|
|
"Endless",
|
|
"Energetic",
|
|
"Epic",
|
|
"Equal",
|
|
"Eternal",
|
|
"Exact",
|
|
"Fabled",
|
|
"Faithful",
|
|
"Famous",
|
|
"Fantastic",
|
|
"Fast",
|
|
"Fearless",
|
|
"Feisty",
|
|
"Fertile",
|
|
"Festive",
|
|
"Fiery",
|
|
"Fine",
|
|
"Firm",
|
|
"Fond",
|
|
"Frank",
|
|
"Free",
|
|
"Fresh",
|
|
"Friendly",
|
|
"Frosty",
|
|
"Gallant",
|
|
"Gentle",
|
|
"Genuine",
|
|
"Gifted",
|
|
"Glad",
|
|
"Gleaming",
|
|
"Glossy",
|
|
"Golden",
|
|
"Good",
|
|
"Gorgeous",
|
|
"Graceful",
|
|
"Grand",
|
|
"Grateful",
|
|
"Great",
|
|
"Handsome",
|
|
"Happy",
|
|
"Hardy",
|
|
"Hearty",
|
|
"Helpful",
|
|
"Heroic",
|
|
"Hidden",
|
|
"Honest",
|
|
"Hopeful",
|
|
"Hot",
|
|
"Humble",
|
|
"Ideal",
|
|
"Immense",
|
|
"Inner",
|
|
"Iron",
|
|
"Jolly",
|
|
"Joyful",
|
|
"Keen",
|
|
"Kind",
|
|
"Lively",
|
|
"Lovely",
|
|
"Loyal",
|
|
"Lucid",
|
|
"Lucky",
|
|
"Lunar",
|
|
"Magic",
|
|
"Major",
|
|
"Merry",
|
|
"Mighty",
|
|
"Mild",
|
|
"Modern",
|
|
"Modest",
|
|
"Mystic",
|
|
"Neat",
|
|
"Nice",
|
|
"Nimble",
|
|
"Noble",
|
|
"Northern",
|
|
"Novel",
|
|
"Open",
|
|
"Orbital",
|
|
"Original",
|
|
"Patient",
|
|
"Peaceful",
|
|
"Perfect",
|
|
"Playful",
|
|
"Pleasant",
|
|
"Polished",
|
|
"Polite",
|
|
"Powerful",
|
|
"Precise",
|
|
"Pretty",
|
|
"Prime",
|
|
"Proud",
|
|
"Prudent",
|
|
"Quick",
|
|
"Quiet",
|
|
"Radiant",
|
|
"Rapid",
|
|
"Ready",
|
|
"Refined",
|
|
"Regal",
|
|
"Reliable",
|
|
"Rich",
|
|
"Robust",
|
|
"Royal",
|
|
"Ruby",
|
|
"Rustic",
|
|
"Sage",
|
|
"Scarlet",
|
|
"Secret",
|
|
"Serene",
|
|
"Sharp",
|
|
"Shining",
|
|
"Silent",
|
|
"Silver",
|
|
"Sincere",
|
|
"Skilled",
|
|
"Sleek",
|
|
"Smart",
|
|
"Smooth",
|
|
"Snowy",
|
|
"Solar",
|
|
"Solid",
|
|
"Southern",
|
|
"Special",
|
|
"Spirited",
|
|
"Splendid",
|
|
"Spry",
|
|
"Stately",
|
|
"Steady",
|
|
"Sterling",
|
|
"Stormy",
|
|
"Strategic",
|
|
"Strong",
|
|
"Sturdy",
|
|
"Subtle",
|
|
"Sunny",
|
|
"Superb",
|
|
"Supreme",
|
|
"Swift",
|
|
"Tactful",
|
|
"Tender",
|
|
"Thankful",
|
|
"Thoughtful",
|
|
"Tidy",
|
|
"Timely",
|
|
"Tranquil",
|
|
"True",
|
|
"Trusty",
|
|
"Unique",
|
|
"Upbeat",
|
|
"Valiant",
|
|
"Velvet",
|
|
"Vibrant",
|
|
"Vigilant",
|
|
"Violet",
|
|
"Vivid",
|
|
"Warm",
|
|
"Watchful",
|
|
"Welcome",
|
|
"Whole",
|
|
"Wild",
|
|
"Willing",
|
|
"Wise",
|
|
"Witty",
|
|
"Wondrous",
|
|
"Worthy",
|
|
"Zealous",
|
|
"Zesty",
|
|
];
|
|
|
|
const FRUITS = [
|
|
"Almond",
|
|
"Apple",
|
|
"Apricot",
|
|
"Artichoke",
|
|
"Arugula",
|
|
"Asparagus",
|
|
"Aubergine",
|
|
"Avocado",
|
|
"Banana",
|
|
"Barley",
|
|
"Basil",
|
|
"Beetroot",
|
|
"Blackberry",
|
|
"Blackcurrant",
|
|
"Blueberry",
|
|
"Broccoli",
|
|
"Cabbage",
|
|
"Cantaloupe",
|
|
"Caper",
|
|
"Cardamom",
|
|
"Carrot",
|
|
"Cashew",
|
|
"Cauliflower",
|
|
"Celery",
|
|
"Chard",
|
|
"Cherry",
|
|
"Chestnut",
|
|
"Chickpea",
|
|
"Chicory",
|
|
"Chili",
|
|
"Chive",
|
|
"Cilantro",
|
|
"Clementine",
|
|
"Cloudberry",
|
|
"Clove",
|
|
"Coconut",
|
|
"Cranberry",
|
|
"Cucumber",
|
|
"Currant",
|
|
"Damson",
|
|
"Date",
|
|
"Dill",
|
|
"Durian",
|
|
"Eggplant",
|
|
"Elderberry",
|
|
"Endive",
|
|
"Fennel",
|
|
"Fig",
|
|
"Garlic",
|
|
"Ginger",
|
|
"Gooseberry",
|
|
"Grape",
|
|
"Grapefruit",
|
|
"Guava",
|
|
"Hazelnut",
|
|
"Honeydew",
|
|
"Horseradish",
|
|
"Jackfruit",
|
|
"Jicama",
|
|
"Kale",
|
|
"Kiwi",
|
|
"Kohlrabi",
|
|
"Kumquat",
|
|
"Leek",
|
|
"Lemon",
|
|
"Lentil",
|
|
"Lettuce",
|
|
"Lime",
|
|
"Longan",
|
|
"Loquat",
|
|
"Lychee",
|
|
"Mandarin",
|
|
"Mango",
|
|
"Marrow",
|
|
"Melon",
|
|
"Millet",
|
|
"Mint",
|
|
"Mulberry",
|
|
"Mushroom",
|
|
"Nectarine",
|
|
"Nutmeg",
|
|
"Oat",
|
|
"Okra",
|
|
"Olive",
|
|
"Onion",
|
|
"Orange",
|
|
"Oregano",
|
|
"Papaya",
|
|
"Paprika",
|
|
"Parsley",
|
|
"Parsnip",
|
|
"Passionfruit",
|
|
"Pea",
|
|
"Peach",
|
|
"Peanut",
|
|
"Pear",
|
|
"Pecan",
|
|
"Pepper",
|
|
"Persimmon",
|
|
"Pineapple",
|
|
"Pistachio",
|
|
"Plantain",
|
|
"Plum",
|
|
"Pomegranate",
|
|
"Pomelo",
|
|
"Poppy",
|
|
"Potato",
|
|
"Pumpkin",
|
|
"Quince",
|
|
"Radish",
|
|
"Raisin",
|
|
"Raspberry",
|
|
"Rhubarb",
|
|
"Rosemary",
|
|
"Rutabaga",
|
|
"Saffron",
|
|
"Sesame",
|
|
"Shallot",
|
|
"Sorrel",
|
|
"Soybean",
|
|
"Spinach",
|
|
"Sprout",
|
|
"Squash",
|
|
"Strawberry",
|
|
"Tamarind",
|
|
"Tangerine",
|
|
"Tarragon",
|
|
"Thyme",
|
|
"Tomato",
|
|
"Turnip",
|
|
"Vanilla",
|
|
"Walnut",
|
|
"Wasabi",
|
|
"Watercress",
|
|
"Watermelon",
|
|
"Yam",
|
|
"Zucchini",
|
|
];
|
|
|
|
const pick = (list) =>
|
|
list[crypto.getRandomValues(new Uint32Array(1))[0] % list.length];
|
|
|
|
export function randomAlias() {
|
|
return pick(ADJECTIVES) + " " + pick(FRUITS);
|
|
}
|
|
|
|
export const ALIAS_WORDS = { ADJECTIVES, FRUITS };
|