InaDB Gerador InaDB v4 Autopítico e Autopayer

Created: 01 Fevereiro 2025
Latest Update: 28 Fevereiro 2025
InaDB Core Version: 4.0.0
InaDB Version: 4.0.0
By: TemplateIna

Obrigado por escolher o Gerador InaDB v4 - A solução definitiva com Autopítico e Autopayer, ideal para automação completa no Blogger.
Se tiver alguma dúvida, entre em contato conosco.


InaDB v4 é um gerador avançado, rápido, personalizável e repleto de recursos inovadores. Ele permite a automação completa de postagens no Blogger com funcionalidades únicas como Autopítico e Autopayer. Totalmente responsivo, se adapta a qualquer tela e é compatível com todos os navegadores modernos. Nossa equipe de suporte está disponível para ajudar antes e depois da compra.

  • Automação total com Autopítico e Autopayer
  • Publicação automática de conteúdos no Blogger
  • Gerador otimizado para SEO
  • Suporte para múltiplos formatos de mídia
  • Painel intuitivo e fácil de usar
  • Opção de integração com APIs externas
  • Compatível com dispositivos móveis e desktops
  • Suporte e documentação detalhada
  • Design moderno e personalizável
  • Configurações avançadas para personalização
  • Opção de backup e restauração de dados
  • Atualizações frequentes e melhorias contínuas

Instalar Blogger

Para instalar um tema no Blogger, siga os passos abaixo:

1. Extraindo o Arquivo ZIP

Após baixar o tema, localize o arquivo ZIP e extraia o conteúdo usando um gerenciador de arquivos compatível com seu sistema:

  • Windows: Clique com o botão direito e selecione Extrair aqui ou use WinRAR/7-Zip.
  • MacOS: Clique duas vezes no arquivo ZIP para extrair automaticamente.
  • Linux: Use o comando unzip arquivo.zip no terminal.

2. Abrindo o Tema XML

Localize o arquivo XML do tema extraído e abra-o em um editor de texto.

  • Windows: Use o Bloco de Notas ou Notepad++.
  • MacOS: Use o TextEdit.
  • Linux: Use o gedit ou nano.

3. Selecionando e Copiando o Código

Para selecionar todo o código do tema, use os seguintes atalhos:

  • Windows/Linux: Ctrl + A
  • MacOS: Command + A

Para copiar o código, use:

  • Windows/Linux: Ctrl + C
  • MacOS: Command + C

4. Aplicando o Tema no Blogger

Acesse o Blogger e siga os passos abaixo:

  1. Vá até Tema.
  2. Clique em Personalizar > Editar HTML.
  3. Selecione todo o código antigo usando:
    • Windows/Linux: Ctrl + A
    • MacOS: Command + A
  4. Apague o código antigo e cole o novo usando:
    • Windows/Linux: Ctrl + V
    • MacOS: Command + V
  5. Salve as alterações e visualize o novo tema!

Get API

Para configurar o inaDB, siga os passos abaixo.

1. Obter API do Blogger

Para integrar o inaDB ao Blogger, é necessário obter credenciais da API do Google:

  1. Acesse o site da Google Cloud Console.
  2. Crie um novo projeto ou selecione um existente.
  3. Vá até Biblioteca e ative a API do Blogger.
  4. Na aba Credenciais, clique em Criar Credenciais > ID do Cliente OAuth.
  5. Escolha "Aplicativo Web" e configure os URIs de redirecionamento.
  6. Após criar, anote o Client ID e o Client Secret.

2. Gerar Refresh Token

Com as credenciais criadas, siga estes passos para obter o Refresh Token:

  1. Acesse o site OAuth Playground.
  2. No menu de configurações, marque a opção "Use your own OAuth credentials" e insira o Client ID e Client Secret.
  3. Na seção "Step 1", adicione o escopo https://www.googleapis.com/auth/blogger e clique em "Authorize APIs".
  4. No "Step 2", clique em "Exchange authorization code for tokens".
  5. Anote o Refresh Token gerado.

3. Finalizando a Configuração

Agora que você tem o Client ID, Client Secret e Refresh Token, insira-os na configuração do inaDB para ativar a integração com o Blogger.


Instalar inaDB

Para configurar o inaDB, siga os passos abaixo.

1. Criar Páginas no Blogger

Antes de instalar o inaDB, crie as seguintes páginas no seu Blogger:

  • inaDB-movie - Para filmes
  • inaDB-series - Para séries
  • inaDB-animes - Para animes (se seu tema suportar)

2. Obter API do Blogger

Para integrar o inaDB ao Blogger, é necessário obter credenciais da API do Google:

  1. Acesse o site da Google Cloud Console.
  2. Crie um novo projeto ou selecione um existente.
  3. Vá até Biblioteca e ative a API do Blogger.
  4. Na aba Credenciais, clique em Criar Credenciais > ID do Cliente OAuth.
  5. Escolha "Aplicativo Web" e configure os URIs de redirecionamento.
  6. Após criar, anote o Client ID e o Client Secret.

3. Gerar Refresh Token

Com as credenciais criadas, siga estes passos para obter o Refresh Token:

  1. Acesse o site OAuth Playground.
  2. No menu de configurações, marque a opção "Use your own OAuth credentials" e insira o Client ID e Client Secret.
  3. Na seção "Step 1", adicione o escopo https://www.googleapis.com/auth/blogger e clique em "Authorize APIs".
  4. No "Step 2", clique em "Exchange authorization code for tokens".
  5. Anote o Refresh Token gerado.

4. Finalizando a Configuração

Agora que você tem o Client ID, Client Secret e Refresh Token, insira-os na configuração do inaDB para ativar a integração com o Blogger.

Assista ao Vídeo de Instalação

Para mais detalhes, veja o vídeo abaixo:


Para colocar o inadb das filmes

              

inadb-movies

// Português: // AVISO IMPORTANTE: Nunca exponha suas credenciais publicamente! // Sem essas credenciais de API, o inadb não funcionará corretamente! // Estas informações são extremamente sensíveis e não devem cair em mãos erradas. // Se você não proteger essas credenciais corretamente, a TemplateIna não se responsabiliza por qualquer incidente. // Para maior segurança, você pode ofuscar seu código em: https://obfuscator.io/ // A responsabilidade pela segurança do código é sua. Proteja suas credenciais com variáveis de ambiente. // Español: // AVISO IMPORTANTE: ¡Nunca exponga sus credenciales públicamente! // Sin estas credenciales de API, el inadb no funcionará correctamente! // Esta información es extremadamente sensible y no debe caer en manos equivocadas. // Si no protege estas credenciales adecuadamente, TemplateIna no se responsabiliza por ningún incidente. // Para mayor seguridad, puede ofuscar su código en: https://obfuscator.io/ // La responsabilidad de la seguridad del código es suya. Proteja sus credenciales con variables de entorno. // English: // IMPORTANT WARNING: Never expose your credentials publicly! // Without these API credentials, inadb will not work correctly! // This information is extremely sensitive and should not fall into the wrong hands. // If you do not properly protect these credentials, TemplateIna is not responsible for any incidents. // For extra security, you can obfuscate your code at: https://obfuscator.io/ // The responsibility for code security is yours. Protect your credentials with environment variables. // Variáveis globais para autenticação do Blogger <script> const blogId = "SEU_BLOG_ID"; const clientId = "SEU_CLIENT_ID"; const clientSecret = "SEU_CLIENT_SECRET"; const refreshToken = "SEU_REFRESH_TOKEN"; </script> <link href="https://extraordinary-sopapillas-inadb.netlify.app/filmes/css/inadb.css" rel="stylesheet" /> <link href="https://extraordinary-sopapillas-inadb.netlify.app/filmes/css/style.css" rel="stylesheet" /> <link href="https://extraordinary-sopapillas-inadb.netlify.app/filmes/css/all-shop.css" rel="stylesheet" /> <!-- more --> <!-- Header --> <style> sidebar, footer, header{display:none!important} .bs-cont{max-width:unset} .bs-cP{padding:0} .bs-cA{margin:0} .post-cmt.mt-6 { display: none !important; visibility: hidden !important; } .post-cmt.mt-6, .bs-sdbr.sidebar { display: none !important; visibility: hidden !important; } .post-cmt.mt-6, .bs-sdbr.sidebar { display: none !important; visibility: hidden !important; } .container{max-width:unset!important} @media (max-width: 1024px) { .chatbro_header_caption_td, .chatbro_minimized_chat.chatbro_movable_chat.chatbro_header_rotare_to_bottom { display: none !important; visibility: hidden !important; } } </style> <style> .bs-cont{max-width:unset} .bs-cP{padding:0} .bs-cA{margin:0} .bs-main{width:100%} .post-cmt, .aside.bs-sdbr.sidebar, footer, header{display:none!important} </style>

Para colocar o inadb das series

              

inadb-series

// Português: // AVISO IMPORTANTE: Nunca exponha suas credenciais publicamente! // Sem essas credenciais de API, o inadb não funcionará corretamente! // Estas informações são extremamente sensíveis e não devem cair em mãos erradas. // Se você não proteger essas credenciais corretamente, a TemplateIna não se responsabiliza por qualquer incidente. // Para maior segurança, você pode ofuscar seu código em: https://obfuscator.io/ // A responsabilidade pela segurança do código é sua. Proteja suas credenciais com variáveis de ambiente. // Español: // AVISO IMPORTANTE: ¡Nunca exponga sus credenciales públicamente! // Sin estas credenciales de API, el inadb no funcionará correctamente! // Esta información es extremadamente sensible y no debe caer en manos equivocadas. // Si no protege estas credenciales adecuadamente, TemplateIna no se responsabiliza por ningún incidente. // Para mayor seguridad, puede ofuscar su código en: https://obfuscator.io/ // La responsabilidad de la seguridad del código es suya. Proteja sus credenciales con variables de entorno. // English: // IMPORTANT WARNING: Never expose your credentials publicly! // Without these API credentials, inadb will not work correctly! // This information is extremely sensitive and should not fall into the wrong hands. // If you do not properly protect these credentials, TemplateIna is not responsible for any incidents. // For extra security, you can obfuscate your code at: https://obfuscator.io/ // The responsibility for code security is yours. Protect your credentials with environment variables. // Variáveis globais para autenticação do Blogger <script> const blogId = "SEU_BLOG_ID"; const clientId = "SEU_CLIENT_ID"; const clientSecret = "SEU_CLIENT_SECRET"; const refreshToken = "SEU_REFRESH_TOKEN"; </script> <script> </script> <link href="https://extraordinary-sopapillas-inadb.netlify.app/series/css/inadb.css" rel="stylesheet" /> <link href="https://extraordinary-sopapillas-inadb.netlify.app/series/css/style.css" rel="stylesheet" /> <link href="https://extraordinary-sopapillas-inadb.netlify.app/series/css/all-shop.css" rel="stylesheet" /> <!-- more --> <!-- Header --> <style> sidebar, footer, header{display:none!important} .bs-cont{max-width:unset} .bs-cP{padding:0} .bs-cA{margin:0} .post-cmt.mt-6 { display: none !important; visibility: hidden !important; } .post-cmt.mt-6, .bs-sdbr.sidebar { display: none !important; visibility: hidden !important; } .post-cmt.mt-6, .bs-sdbr.sidebar { display: none !important; visibility: hidden !important; } .container{max-width:unset!important} @media (max-width: 1024px) { .chatbro_header_caption_td, .chatbro_minimized_chat.chatbro_movable_chat.chatbro_header_rotare_to_bottom { display: none !important; visibility: hidden !important; } } </style> <style> .bs-cont{max-width:unset} .bs-cP{padding:0} .bs-cA{margin:0} .bs-main{width:100%} .post-cmt, .aside.bs-sdbr.sidebar, footer, header{display:none!important} </style>

Para colocar o inadb das animes

              

inadb-animes

// Português: // AVISO IMPORTANTE: Nunca exponha suas credenciais publicamente! // Sem essas credenciais de API, o inadb não funcionará corretamente! // Estas informações são extremamente sensíveis e não devem cair em mãos erradas. // Se você não proteger essas credenciais corretamente, a TemplateIna não se responsabiliza por qualquer incidente. // Para maior segurança, você pode ofuscar seu código em: https://obfuscator.io/ // A responsabilidade pela segurança do código é sua. Proteja suas credenciais com variáveis de ambiente. // Español: // AVISO IMPORTANTE: ¡Nunca exponga sus credenciales públicamente! // Sin estas credenciales de API, el inadb no funcionará correctamente! // Esta información es extremadamente sensible y no debe caer en manos equivocadas. // Si no protege estas credenciales adecuadamente, TemplateIna no se responsabiliza por ningún incidente. // Para mayor seguridad, puede ofuscar su código en: https://obfuscator.io/ // La responsabilidad de la seguridad del código es suya. Proteja sus credenciales con variables de entorno. // English: // IMPORTANT WARNING: Never expose your credentials publicly! // Without these API credentials, inadb will not work correctly! // This information is extremely sensitive and should not fall into the wrong hands. // If you do not properly protect these credentials, TemplateIna is not responsible for any incidents. // For extra security, you can obfuscate your code at: https://obfuscator.io/ // The responsibility for code security is yours. Protect your credentials with environment variables. // Variáveis globais para autenticação do Blogger <script> const blogId = "SEU_BLOG_ID"; const clientId = "SEU_CLIENT_ID"; const clientSecret = "SEU_CLIENT_SECRET"; const refreshToken = "SEU_REFRESH_TOKEN"; </script> <link href="https://extraordinary-sopapillas-inadb.netlify.app/filmes/css/inadb.css" rel="stylesheet" /> <link href="https://extraordinary-sopapillas-inadb.netlify.app/filmes/css/style.css" rel="stylesheet" /> <link href="https://extraordinary-sopapillas-inadb.netlify.app/filmes/css/all-shop.css" rel="stylesheet" /> <!-- more --> <style> sidebar, footer, header{display:none!important} .bs-cont{max-width:unset} .bs-cP{padding:0} .bs-cA{margin:0} .post-cmt.mt-6 { display: none !important; visibility: hidden !important; } .post-cmt.mt-6, .bs-sdbr.sidebar { display: none !important; visibility: hidden !important; } .post-cmt.mt-6, .bs-sdbr.sidebar { display: none !important; visibility: hidden !important; } .container{max-width:unset!important} @media (max-width: 1024px) { .chatbro_header_caption_td, .chatbro_minimized_chat.chatbro_movable_chat.chatbro_header_rotare_to_bottom { display: none !important; visibility: hidden !important; } } </style> <style> .bs-cont{max-width:unset} .bs-cP{padding:0} .bs-cA{margin:0} .bs-main{width:100%} .post-cmt, .aside.bs-sdbr.sidebar, footer, header{display:none!important} </style>

Importar Dados de Demonstração

Para importar os dados de demonstração do Blogger, siga os passos abaixo. Isso irá configurar automaticamente as páginas e postagens necessárias para o seu tema.

Aviso
Os dados de demonstração são apenas para testes. Não instale em um site em produção.

1. Baixar o Arquivo de Demonstração

Clique no link abaixo para baixar o arquivo XML do Blogger:

Baixar Arquivo XML

2. Importar no Blogger

Passo 01:

Acesse Blogger e faça login.

Passo 02:

No menu lateral, clique em Configurações e role até a seção Gerenciar Blog.

Passo 03:

Clique em Importar conteúdo e selecione o arquivo XML que você baixou anteriormente.


Tela de Importação no Blogger

Passo 04:

Abra as configurações do Blogger, clicando em Configurações no menu lateral.


Configurações do Blogger

Passo 05:

Role a página para baixo até encontrar a seção de gerenciamento do blog.


Configurações do Blogger, com a opção para rolar para baixo

Passo 06:

Encontre a opção Gerir o blogue e selecione Importar conteúdo.


Tela mostrando a seção de gerenciamento do blog

Passo 07:

Clique em Importar conteúdo para iniciar o processo de importação do arquivo XML.


Botão de importação de conteúdo no Blogger

Passo 08:

Procure o arquivo XML de demonstração de posts do Blogger e selecione-o para importação.


Tela mostrando a seleção do arquivo XML

3. Verificando a Importação

Após a importação, vá até Postagens e Páginas no painel do Blogger para confirmar que os dados foram adicionados corretamente.

Dica:

Você pode editar ou excluir os dados importados conforme necessário.

Publicar Conteúdo Pelo InaDB

Usando as opções de personalização, você pode controlar a maioria das configurações de cores e personalizar a aparência do seu tema. Vamos aprender como usar as opções de personalização. Vá para Aparência > Personalizar > Opções do InaDB para começar.

Como o InaDB Funciona

Assim que você ativar o tema inaDB, a página inicial exibirá conteúdo de acordo com a versão que você está utilizando: filmes, séries ou animes. O tema carrega automaticamente o conteúdo correspondente (filmes, séries ou animes) com rolagem infinita, permitindo que os usuários carreguem mais conteúdo conforme rolam a página.

O inaDB também possui uma opção de filtro, onde você pode classificar o conteúdo por ano, gênero ou tipo de público. Basta selecionar suas preferências e clicar em Descobrir para ver o conteúdo filtrado. Você também pode usar a função de pesquisa para procurar filmes, séries ou episódios específicos.


Opções de Idioma e Reprodução

Você pode configurar o idioma de reprodução para os filmes ou episódios. Os idiomas disponíveis incluem PT (português), EN (inglês) e ES (espanhol). Após publicar o conteúdo, ele será exibido no idioma selecionado. Além disso, você pode ativar a reprodução automática (autoplay) e ajustar a aparência com as opções de Modo Escuro, Modo Claro ou esquema de cores Azul-Preto.


Como Publicar Filmes, Séries e Animes

Publicar filmes, séries ou animes é rápido e simples:

  • Para publicar um filme, série ou anime, clique na imagem de capa do conteúdo que deseja publicar.
  • Em seguida, clique no botão Publicar. Em poucos segundos, o conteúdo será publicado no site.

Se você deseja publicar episódios de uma série, depois de publicar a série principal, clique sobre ela e depois clique na seta para baixo para exibir os episódios. Na parte esquerda da tela, há um botão "Voltar" para navegar, e na parte direita, há um botão "Fechar".

Para publicar episódios:

  • Selecione o episódio que você deseja publicar.
  • Clique no botão Publicar para cada episódio.

Adicionando e Gerenciando Episódios de Séries

Se você deseja adicionar mais episódios a uma série depois de publicá-la, clique sobre a série e em seguida clique na seta para baixo. Você verá uma lista de episódios com um botão para "Adicionar". Clique no botão do meio para abrir uma janela pop-up onde você precisará colar o ID da Postagem do seu conteúdo no Blogger.

  • Vá até a página de edição de postagem do Blogger e copie o ID da Postagem da URL (por exemplo: https://www.blogger.com/blog/post/edit/********/298546664972263990).
  • Volte para o painel do inaDB, cole o ID da postagem na janela pop-up e clique em Confirmar.
  • Depois de confirmar, você pode publicar os episódios.

Baixar o Arquivo XML para o Blogger

Se você precisar importar os dados de demonstração ou quiser usar nosso XML pré-configurado para Blogger, você pode baixar o arquivo XML aqui.

Theme Options

General Options

main-file image

Set Global Header & Footer Style

main-file image

Header Options

main-file image

Breadcrumb

main-file image

Footer One

main-file image

Blog Page Post Options

01. Posted By

you can set Yes / No to show / hide posted by.


02. Posted On

you can set Yes / No to show / hide posted on.


03. Posted Category

you can set Yes / No to show / hide posted category.


04. Comment Number

you can set Yes / No to show / hide comment number.


05. Read More Button

you can set Yes / No to show / hide read more button.


06. Read More Text

you can set read more button text to button text.


08. Excerpt Button

you can set Yes / No to show / hide except button.


09. Excerpt More

you can set read more button text to button text.


10. Excerpt Length

you can set excerpt length for post.


Blog Single Post Options

01. Posted By

you can set Yes / No to show / hide posted by.


02. Posted On

you can set Yes / No to show / hide posted on.


03. Posted Category

you can set Yes / No to show / hide posted category.


04. Comment Number

you can set Yes / No to show / hide comment number.


05. Post Navigation

you can set Yes / No to show / hide post navigation.


06. Posted Tags

you can set Yes / No to show / hide post tags.


07. Post Share

you can set Yes / No to show / hide post share.


404 Page Options

01. Page Background Color

you can set background color.


02.Title

you can set title


03. Sub Title

you can set subtitle


04. Paragraph

you can set paragraph


05. Button Text

you can set button text


06. Page Spacing Top

you can set padding top


07. Page Spacing Bottom

you can set padding bottom


Blog Single Page Options

01. Select Page Layout

you can set page layout.


02. Page Background Color

you can set page background color


03. Page Spacing Top

you can set padding top


04. Page Spacing Bottom

you can set padding bottom


Archive Page Options

01. Select Page Layout

you can set page layout.


02. Page Background Color

you can set page background color


03. Page Spacing Top

you can set padding top


04. Page Spacing Bottom

you can set padding bottom


Search Page Options

01. Select Page Layout

you can set page layout.


02. Page Background Color

you can set page background color


03. Page Spacing Top

you can set padding top


04. Page Spacing Bottom

you can set padding bottom


Typography Options

Body Font

01. Typography

you can set font-family, font-style, font-size, line-height for body font except(h1,h2,h3,h4,h5,h6) those if you do not use another font for heading


02. Load Font Variant

you can select which font variant to load


Heading Font

01. Typography

you can set font-family, font-style, font-size, line-height for heading font for heading (h1,h2,h3,h4,h5,h6) tags


02. Load Font Variant

you can select which font variant to load


Supports

Como Proteger Seu Gerador inaDB

Para proteger seu gerador inaDB no Blogger, siga estes passos:

  1. Vá até fumdum.com/convert/sha256
  2. Crie uma senha e clique em "Convert SHA256"
  3. Copie o código gerado
  4. No Blogger, abra a página onde está o inaDB
  5. Cole o código de proteção mostrado abaixo

Isso vai bloquear o acesso não autorizado ao seu gerador.

Assista o vídeo abaixo para ver como configurar passo a passo:

              

Code Proteger

// Função principal para criar o menu de senha e proteger os estilos function createPasswordOverlay() { // Estilo CSS dinâmico const style = document.createElement("style"); style.innerHTML = ` /* Estilo para o overlay */ #password-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; z-index: 9999; overflow: hidden; /* Evita que o conteúdo transborde */ } /* Fundo animado */ #password-overlay::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; filter: blur(0px); /* Desfoque */ z-index: -1; animation: changeBackground 15s infinite; /* Animação de troca de imagem */ } /* Keyframes para animação das imagens */ @keyframes changeBackground { 0% { background-image: url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmQXtKYsQgLg-Iu0Nq-hAUevdml1AsiVdm1wgND12haGLlBBtNw3UvggmYnU9aU4-GMZGG5vYAVSZF-Bwpwil1De4XWh6dD6_dx8FeDSCV8gJeh4HbXKbBYbPYLj4oEPIsPbeTx7eXlDVFaXJ6MC1djGZVDVZ07qxfNcywhId6gi8MwdE8WF0zt3eI6C0/s1920/ina-fundo.png'); } 33% { background-image: url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPmShA4K2mGlQYmIrbcxunwvQSYbLFkEEBDXZJpfXeGiDwojwkiQe7bmyhcGYle-5VLbTqyEhCOXYs0HBDwEobZsQlBMdOJxEdBj7oWAQpd7qsSY1FmYGpNnNyHrN56dzNxS-UK5Jzdebi3sfx9imErhPdZ2UKpUe3UzO_lPMUezSKyJ-GvGTJxxib5DE/s2000/ina-fundo.jpg'); } 66% { background-image: url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2LE_4P_EtmNsqfY_RlVtyKmuWVrYIrz9j04Vm1HAFrAq2iC6g6JOyzya4jHrVxnE0fJZi2GUqZA46IqDE6riw30llmLfglDwn7oXLtiAnCcp4xObWF96nwaWXY3z7GLU-r2_hzUfBpPBgiS_Y2ZriBfo7KO4VCTxNjiuO5V8MAoIej55jq0nT9rxzZpk/s1280/ina-fundo.jpg'); } 100% { background-image: url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmQXtKYsQgLg-Iu0Nq-hAUevdml1AsiVdm1wgND12haGLlBBtNw3UvggmYnU9aU4-GMZGG5vYAVSZF-Bwpwil1De4XWh6dD6_dx8FeDSCV8gJeh4HbXKbBYbPYLj4oEPIsPbeTx7eXlDVFaXJ6MC1djGZVDVZ07qxfNcywhId6gi8MwdE8WF0zt3eI6C0/s1920/ina-fundo.png'); } } /* Camada de cor preta sobre o fundo */ #password-overlay::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(0 0 0 / 88%); /* Transparência preta */ z-index: -1; } /* Estilo para a caixa de senha */ #password-box { background-color: var(--background-color); padding: 20px; border-radius: 8px; text-align: center; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); position: relative; z-index: 10000; } #password-box h2 { margin-bottom: 15px; color: var(--text-color); } #password-box input[type="password"] { color: #000; padding: 10px; width: 100%; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 4px; } #password-box button { padding: 10px 20px; background-color: var(--shopina2-color); color: white; border: none; border-radius: 4px; cursor: pointer; } #password-box button:hover { background-color: #0056b3; } /* Estilo para a tela de erro (estilo iOS) */ .error-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; color: #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; z-index: 999999999; } .error-screen h1 { font-size: 24px; font-weight: bold; margin-bottom: 20px; text-align: center; } .error-screen p { font-size: 16px; text-align: center; margin-bottom: 40px; } .error-screen .ios-button { background-color: #007bff; color: #fff; padding: 12px 24px; border: none; border-radius: 24px; font-size: 16px; cursor: pointer; transition: background-color 0.3s ease; } .error-screen .ios-button:hover { background-color: #0056b3; } `; document.head.appendChild(style); // Estrutura HTML do menu de senha const overlay = document.createElement("div"); overlay.id = "password-overlay"; const passwordBox = document.createElement("div"); passwordBox.id = "password-box"; passwordBox.innerHTML = ` <h2>Insira a Senha</h2> <input type="password" id="password-input" placeholder="Digite a senha" /> <button id="password-submit">Entrar</button> `; overlay.appendChild(passwordBox); document.body.appendChild(overlay); // Variável para controlar a verificação contínua de CSS let cssIntegrityCheckInterval; // Função para calcular o hash SHA-256 de uma string async function calculateSHA256(input) { const encoder = new TextEncoder(); const data = encoder.encode(input); const hashBuffer = await crypto.subtle.digest("SHA-256", data); const hashArray = Array.from(new Uint8Array(hashBuffer)); const hashHex = hashArray.map(byte => byte.toString(16).padStart(2, "0")).join(""); return hashHex; } // Variáveis globais para autenticação (senha codificada em SHA-256) const correctPasswordHash = "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3"; // Hash SHA-256 de "senha123" const passwordInput = document.getElementById("password-input"); const passwordSubmit = document.getElementById("password-submit"); // Lógica para verificar a senha passwordSubmit.addEventListener("click", async () => { const enteredPassword = passwordInput.value; const enteredPasswordHash = await calculateSHA256(enteredPassword); if (enteredPasswordHash === correctPasswordHash) { overlay.style.display = "none"; // Remove o menu de senha clearInterval(cssIntegrityCheckInterval); // Interrompe a verificação de CSS } else { alert("Senha incorreta. Tente novamente."); } }); // Verificação contínua para detectar remoção ou alteração de estilos function checkCSSIntegrity() { const overlayElement = document.querySelector("#password-overlay"); const passwordBoxElement = document.querySelector("#password-box"); if (!overlayElement || !passwordBoxElement) { console.error("Elementos do menu de senha foram removidos."); stopFunctionality(); return; } const overlayStyle = window.getComputedStyle(overlayElement); const passwordBoxStyle = window.getComputedStyle(passwordBoxElement); // Verifica se as propriedades críticas estão intactas const criticalStyles = [ { element: overlayElement, property: "z-index", expected: "9999" }, { element: overlayElement, property: "position", expected: "fixed" }, { element: overlayElement, property: "top", expected: "0px" }, { element: overlayElement, property: "left", expected: "0px" }, { element: overlayElement, property: "display", expected: "flex" }, { element: passwordBoxElement, property: "z-index", expected: "10000" }, { element: passwordBoxElement, property: "position", expected: "relative" }, { element: passwordBoxElement, property: "padding", expected: "20px" }, { element: passwordBoxElement, property: "box-shadow", expected: "rgba(0, 0, 0, 0.1) 0px 4px 6px 0px" }, ]; for (const { element, property, expected } of criticalStyles) { const actualValue = window.getComputedStyle(element)[property]; if (actualValue !== expected) { console.error(`Propriedade ${property} foi alterada ou removida.`); stopFunctionality(); return; } } } // Função para interromper a funcionalidade function stopFunctionality() { // Limpa todo o conteúdo da página document.body.innerHTML = ""; // Remove todos os elementos do body document.head.innerHTML = ""; // Remove todos os elementos do head // Cria uma tela de erro com estilo iOS const errorScreen = document.createElement("div"); errorScreen.className = "error-screen"; errorScreen.innerHTML = ` <h1>Tentativa de Manipulação Detectada</h1> <p>O sistema foi desativado por segurança.</p> <button class="ios-button" id="redirectButton">Você será redirecionado em 2 minutos</button> `; document.body.appendChild(errorScreen); // Inicia a contagem regressiva para redirecionamento const redirectButton = document.getElementById("redirectButton"); let countdown = 120; // 2 minutos em segundos const interval = setInterval(() => { countdown--; if (countdown > 0) { redirectButton.textContent = `Você será redirecionado em ${Math.floor(countdown / 60)}:${String(countdown % 60).padStart(2, '0')}`; } else { clearInterval(interval); // Para o intervalo window.location.href = "https://www.templateina.org"; // Redireciona para outro site } }, 1000); // Atualiza a cada segundo } // Inicia a verificação contínua cssIntegrityCheckInterval = setInterval(checkCSSIntegrity, 1000); // Verifica a cada segundo } // Executa a função para criar o menu de senha ao carregar a página document.addEventListener("DOMContentLoaded", () => { createPasswordOverlay(); });

Thank you for reading the documentation. If you still have any questions or any problems, please contact us. We will give you the best support. Thanks.


For support, you can also reach us through the following: