Исходник Команда osint поиск по нику в разных соц. Сетях

Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2024
Сообщения
80
Реакции[?]
3
Поинты[?]
3K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
6 Июл 2024
Сообщения
63
Реакции[?]
2
Поинты[?]
1K
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
эта типа докс сват в маинкрафти?
 
Начинающий
Статус
Оффлайн
Регистрация
3 Окт 2022
Сообщения
177
Реакции[?]
1
Поинты[?]
1K
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
докатились блять... теперь по майнкрафту доксить будем, ладно, добавлю по приколу апишку, посмотрим че выйдет
 
Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2024
Сообщения
80
Реакции[?]
3
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
20 Апр 2021
Сообщения
1,232
Реакции[?]
25
Поинты[?]
38K
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
докс в майнкрафте. все плохие предсказания сбылись.
 
Начинающий
Статус
Оффлайн
Регистрация
27 Июн 2024
Сообщения
129
Реакции[?]
0
Поинты[?]
0
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
дай
mc.runDirectory
 
Начинающий
Статус
Оффлайн
Регистрация
1 Авг 2024
Сообщения
52
Реакции[?]
0
Поинты[?]
0
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
докс в кубах...
докатились блять
 
Начинающий
Статус
Оффлайн
Регистрация
29 Сен 2024
Сообщения
87
Реакции[?]
1
Поинты[?]
0
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
Блять и как мне в интернете пиздеть на ебучих школьников с ай-кью как у помидора
 
Начинающий
Статус
Оффлайн
Регистрация
28 Мар 2024
Сообщения
318
Реакции[?]
0
Поинты[?]
0
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
AXAXAXX,ебать ты гений
 
Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2024
Сообщения
80
Реакции[?]
3
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
209
Реакции[?]
0
Поинты[?]
0
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
ЕБНИ .SWAT
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
379
Реакции[?]
2
Поинты[?]
0
пишим .osint <Nickname> И идет поиск по ниже указанным сайтам

Радуемся!
Сразу говорю код можно люто подредачить и подключить апи любого осинт бота и брать с бд информацию. Все на вашу фантазию!
Код:
public class OSINTCommand extends Command {

    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);
    private final HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(5))
            .build();
    private File osintDir;

    public OSINTCommand() {
        super("osint");
    }

    public void build(LiteralArgumentBuilder<CommandSource> builder) {
        builder.then(
                RequiredArgumentBuilder.<CommandSource, String>argument("playerName", StringArgumentType.string())
                        .executes(this::executeOSINT)
        );
        builder.then(literal("dir").executes(context -> {
            openDirectory();
            return SINGLE_SUCCESS;
        }));
    }

    @Override
    public void executeBuild(LiteralArgumentBuilder<CommandSource> builder) {
        build(builder);
    }

    private int executeOSINT(CommandContext<CommandSource> context) {
        String playerName = StringArgumentType.getString(context, "playerName");
        searchPlayer(playerName);
        return SINGLE_SUCCESS;
    }

    public void searchPlayer(String playerName) {
        sendMessage(Formatting.YELLOW + "Начат поиск информации по игроку: " + playerName);

        osintDir = new File(mc.runDirectory, "osint");
        if (!osintDir.exists()) {
            osintDir.mkdirs();
        }

        File file = new File(osintDir, "Osint" + playerName + ".txt");

        String[] sites = {
                "https://github.com/",
                "https://www.instagram.com/",
                "https://twitter.com/",
                "https://www.facebook.com/",
                "https://www.twitch.tv/",
                "https://www.reddit.com/user/",
                "https://ru.pinterest.com/",
                "https://steamcommunity.com/id/",
                "https://vk.com/",
                "https://www.linkedin.com/in/",
                "https://t.me/",                  // Telegram
                "https://www.behance.net/",       // Behance
                "https://about.me/",              // About.me
                "https://www.flickr.com/people/", // Flickr
                "https://vimeo.com/",
                "https://soundcloud.com/",
                "https://deviantart.com/",
                "https://ok.ru/",
                "https://www.snapchat.com/add/",
                "https://www.periscope.tv/",
                "https://www.discogs.com/user/",
                "https://open.spotify.com/user/",
                "https://myspace.com/",
                "https://ask.fm/",
                "https://www.last.fm/user/",
                "https://mixcloud.com/",
                "https://www.strava.com/athletes/",
                "https://www.ebay.com/usr/",
                "https://www.goodreads.com/",
                "https://hackerone.com/",
                "https://replit.com/",
                "https://www.npmjs.com/~",
                "https://www.producthunt.com/",
                "https://keybase.io/",
                "https://www.patreon.com/",
                "https://bitbucket.org/",
                "https://angel.co/u/",
                "https://dribbble.com/",
                "https://500px.com/",
                "https://www.quora.com/profile/",
                "https://www.medium.com/@",
                "https://dev.to/",
                "https://codepen.io/",
                "https://gitlab.com/"
        };

        List<CompletableFuture<Void>> futures = new ArrayList<>();

        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("Результаты поиска по игроку: " + playerName + "\n\n");

            for (String site : sites) {
                CompletableFuture<Void> future = CompletableFuture.runAsync(() -> searchSite(site, playerName, fileWriter), executor);
                futures.add(future);
            }

            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
            allFutures.thenRun(() -> {
                try {
                    sendMessage(Formatting.DARK_PURPLE + "Поиск завершён для ника: " + playerName);
                    fileWriter.close();
                } catch (IOException e) {
                    sendMessage(Formatting.RED + "Ошибка закрытия файла: " + e.getMessage());
                }
            });

        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка при создании файла: " + e.getMessage());
        }
    }

    private void searchSite(String site, String playerName, FileWriter fileWriter) {
        try {
            URI uri = new URI(site + playerName);
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(uri)
                    .GET()
                    .header("User-Agent", "Mozilla/5.0")
                    .timeout(Duration.ofSeconds(3))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            synchronized (fileWriter) {
                if (response.statusCode() == 200 && response.body().contains(playerName)) {
                    sendMessage(Formatting.GREEN + "[+] Найден на сайте: " + site + playerName);
                    fileWriter.write("[+] Найден на сайте: " + site + playerName + "\n");
                } else {
                    sendMessage(Formatting.RED + "[-] Не найден на сайте: " + site + playerName);
                    fileWriter.write("[-] Не найден на сайте: " + site + playerName + "\n");
                }
                fileWriter.flush();
            }
        } catch (Exception e) {
            sendMessage(Formatting.YELLOW + "Ошибка при поиске на сайте: " + site);
            try {
                synchronized (fileWriter) {
                    fileWriter.write("Ошибка при поиске на сайте: " + site + "\n");
                    fileWriter.flush();
                }
            } catch (IOException ioException) {
                sendMessage(Formatting.RED + "Ошибка записи в файл: " + ioException.getMessage());
            }
        }
    }

    private void openDirectory() {
        try {
            Runtime.getRuntime().exec("explorer " + osintDir.getAbsolutePath());
        } catch (IOException e) {
            sendMessage(Formatting.RED + "Ошибка открытия директории: " + e.getMessage());
        }
    }
}
Рофл харама про автосват оказался не рофлом...
Если подключиться челик который реально захочет заняться данной командой то можно такую имбу сделать, прям пиздец.
SWAT client beta b 1.0
 
Начинающий
Статус
Оффлайн
Регистрация
15 Апр 2024
Сообщения
80
Реакции[?]
3
Поинты[?]
3K
Пойдём Сватнем жирного на модере рилика, как раз а никто, пусть глядит, анхук не нада
Короче как время будет на ненужную хуету я потрачу на функцию .Deanon (Через апи)
 
Сверху Снизу