Avatar
q
6b642933aa7edc129bbf8798f9de2dcb192cbb2cb58601c11f25e6eed0b85c1c
:)

Como ter depressão no Brasil? 😂😂

É bem fácil criar um aplicativo de chat com criptografia. Você só precisa de conhecimentos na linguagem mobile em que pretende desenvolver o aplicativo e em Python.

Em Python, você cria um webserver com dois endpoints:

1. Um que irá receber a mensagem criptografada e armazená-la no banco de dados (que pode ser um simples arquivo SQLite com 3 colunas: ID, usuário e mensagem).

2. Outro que irá disponibilizar as mensagens do banco de dados para o cliente que as solicitar.

Agora vou falar sobre a parte mobile. Como só conheço Android, vou explicar como criar o cliente para Android:

Crie um projeto e, no layout da MainActivity, coloque um TextView com scroll, que será onde as mensagens serão carregadas e exibidas, e, abaixo, um EditText, onde as mensagens serão digitadas para envio.

Uma classe contendo três métodos:

O método que irá criptografar a mensagem usando AES-256, outro que irá descriptografar a mensagem, e o método que irá gerar a chave para criptografar/descriptografar as mensagens.

Outra classe contendo dois métodos:

Criptografar a mensagem no cliente usando a chave gerada e enviá-la para o webserver para ser armazenada no banco de dados, e outro método para carregar as mensagens criptografadas do banco, que serão passadas ao método junto com a chave de criptografia para descriptografá-las e exibi-las no TextView.

Outra classe que irá gerar um QR code contendo o link do servidor e a chave de criptografia, para que a pessoa com quem você deseja conversar pelo app consiga visualizar as mensagens no cliente dela.

Outra classe que dará a função de ler o QR code e armazenar as informações do link do banco e da chave na memória do app.

Uma thread com loop para carregar as mensagens do banco de dados e exibi-las no TextView.

Outra classe que irá criar um Service contendo um loop que irá verificar a última mensagem no banco de dados, e, se houver mensagem nova, notificará o usuário.

Um menu simples na action bar com um botão para abrir um AlertDialog, que terá três EditTexts:

Link do banco

Nome do usuário

Chave de criptografia/descriptografia

Para enviar a mensagem digitada no EditText, nem precisa criar um botão, apenas use o botão "Enter" do próprio teclado do Android e configure o listener dele para "Send".

E é isso! O app está 100% funcional, se quiser aviadar com mais funcionalidades, fique a disposição.

Bom dia!

Esse é um bom exercício para fazer.

Só dois adendos:

Trocar AES por XChacha20-Poly1305;

E ssl é de graça. Só colocar entre o cliente e servidor. 👍

De curiosidade Xchacha20-Poly1305 é utilizado, por exemplo, para encriptar a nsec.

https://github.com/nostr-protocol/nips/blob/master/49.md

""XChaCha20-Poly1305 is typically favored by cryptographers over AES and is less associated with the U.S. government. It (or it's earlier variant without the 'X') is gaining wide usage, is used in TLS and OpenSSH, and is available in most modern crypto libraries.

Bicho... 😂😂😂😂 No site da Hostgator falando as três linguagem para ensinar para criança em primeiro está Java 😂😂😂😂

No seu perfil não tem nenhum lugar mostrando quais comunidades você é proprietário.

Está aí um negócio para colocar no amethyst ainda. Quais comunidades o perfil é proprietário.

Ou já tem como ver e eu que estou dormindo?

Me desculpe, outro dia eu desenvolvo mais minha resposta. 👍

Notei que a minha comunidade "Jornalismo Não Está Morto" se tornou a primeira comunidade autônoma da história do Nostr.

Não preciso mais ficar verificando e aprovando os posts, os próprios criadores de conteúdo/jornalistas, que são moderadores, estão aprovando os seus e outros posts, sozinhos.

E também, se tornou o primeiro, e logicamente, o maior Portal de Notícias do Nostr.

Obrigado aos criadores/jornalistas que mais acreditaram no projeto, e estão dominando a comunidade, trazendo notícias, artigos, opiniões parciais e profissionais, divulgando o que está acontecendo, e seus sites, blogs em alguns casos.

Agradeço aos que contribuíram, e estão contribuindo com isso:

- nostr:nprofile1qqsr0f8ng6m9vyw8rst8ltl59suxk49t8s6e5a7zgct2gah0f6q6khgpr4mhxw309ahx7er9945k7u3wwajky6r0wqhx6ef6xccrqv30qywhwue69uhkummyv5kkjmmj9emk2cngdaczumt98gmrqvee9uq36amn8ghj7mn0v3jj66t0wgh8wetzdphhqtndv5arvvpexchsq6y3km

- nostr:nprofile1qqsgeqae4k34t86n0dyhu0dgzyc3w64vcf4fekatwdu9v8z04a4evhchqdnpg

- nostr:nprofile1qqsq2sfx76pdccl2ckk6auhfndf86jm5pj00c2ekt62u0uf7nghgf3qpzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctche0xkh

- nostr:nprofile1qqsw452p5y7w37q6j6l8mqvny5vvcx3n6zp72dz8jrsyc3dtvgh59xqpzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctc686ehy

- nostr:nprofile1qqsyj66vdgq89x4wst9kfpe97z7vwjhxkaww6vh76d8ewmzh336t7hspzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcrg07lv

- nostr:nprofile1qqszfxg2r4645faejna6j9gd2eyu33x00qhclpdhvknhpx5704z7avcpr9mhxue69uhhyetvv9ujuumwdae8gtnnda3kjctv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcppemhxue69uhkummn9ekx7mp0gk59dw

- nostr:nprofile1qqs9u8lgtd0x4pcrnzh5s5zn090w03tfh0rfzt2lkc0qmpw7899sf4spzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7c0ny6t

- nostr:nprofile1qqsfujjjw3474zsrfcqhcgqavqeesd4h0nuxt0ue5ugy9y7e47xyh3qppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7mn0wd68ytn00p68ytnyv4mz7qgswaehxw309ahx7um5wghx6mmd9u2egtmk

- nostr:nprofile1qqsr4nf8qlxezme8tzl9vg4gf2rde5f795wx959padwc52p589grnnqpzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qg4waehxw309aex2mrp0yhxgctdw4eju6t09ull9vwd

- nostr:nprofile1qqsgcpu0z48rdne3mspw222wrwt95553vqr0rcgsuz3v5uxey8xdcss6j06ff

- nostr:nprofile1qqsgmfxmyy9ltjmzlc8xtx3f04pdmll8t2rwmqdu0qh0dz2c3u4vsycpzdmhxue69uhhqatjwpkx2urpvuhx2ue0vtjr7g

- nostr:nprofile1qqs0p3yd48kzm56a4tual772y3vsjwehx6tc3rv8ht8q0zgncg5r7qgpp4mhxue69uhkummn9ekx7mqpzemhxue69uhkummnw3ezuum9xajku73wvdhk6qglwaehxw309ahx7um5wgh8x6tcw3jk2mnnd9u8g7t0dejjucm0d58xmrrq

É uma honra ver esses usuários que estão divulgando na minha comunidade crescendo, ganhando visibilidade em seus trabalhos, textos e artigos, opinativos ou não.

Quando conheci a política em 2019, vi o quanto o Jornalismo (Uma área que aprecio) estava monopolizado para um lado. E hoje, no Nostr, saber que estou dando um palco para essas pessoas de opiniões divergentes serem vistas e ouvidas é gratificante.

Obrigado.

Ass: Lorena.

nostr:naddr1qqd55n6jfeq5cj2nf48j6nkrsd8j632n2npczt2dfaf9gnczyrvvsrjnp9xgqysjendxg6x2q7fldu73ajnf5e2h7uspp9tjl7jvxqcyqqqgdasy2kfg4

Parabéns 👏🚀

Eita pora, agora que percebi que me encaixo nessa 😂😂😂

Do jeito que brzinhos são, basta dar 10 reais na primeira utilização que esse negócio pega mais adoção que o pix.

Já fechou.

Estou fechando minhas guias aqui e encontrei isso: https://ron.stoner.com/I_Gained_1_Million_Followers_in_24_Hours/

Fez um script para conseguir ter 1 milhão de seguidores em 24h...

Eu já desisti a muito tempo. Só que eu não mando em mim, então tenho que continuar fazendo o melhor que posso. 😴

Mundo da liberdade e autoresponsabilidade, amigo. Seja bem-vindo.

Exótico e diferenciado. Criativo, também. Infelizmente não tenho cachorro.

1. Por brincadeira

2. Por curiosidade

3. Para praticar

4. Porque pode

5. Por não ter um pc

6. Para deixar um projetinho pessoal rodando no celular subutilizado.

7. Para testar

8. Porque é foda

9. Celular também é computador, basta plugar teclado bluetooth

Um tempo atrás quando fui instalar RoR, eu quebrei cabeça para fazer funcionar. Agora está bem mais fácil.

De qualquer modo deixo aqui um passo a passo de como instalar; Para caso alguém queira.

Instale Termux, pelo fdroid.

### Execute os seguintes comandos para atualizar o ambiente.

pkg update && pkg upgrade

### Execute os seguintes comandos para instalar dependências do ruby e o próprio ruby.

## Obrigatório

pkg i libandroid-execinfo libandroid-support libffi libgmp readline openssl libyaml zlib -y

## Recomendado

pkg i clang make pkg-config resolv-conf -y

## Para o nokogiri funcionar.

pkg i build-essential libxslt -y

# Para usar sqlite3 e yarn no ruby.

pkg i libsqlite yarn -y

# ruby, ide, controle de versão, e nodejs

pkg i ruby vim git nodejs-lts -y

gem install nokogiri -- --use-system-libraries

# Dependências do Rails

gem install railties --pre

gem install activesupport --pre

gem install activestorage --pre

gem install activerecord --pre

gem install activemodel --pre

gem install activejob --pre

gem install actionview --pre

gem install actiontext --pre

gem install actionpack --pre

gem install actionmailer --pre

gem install actionmailbox --pre

gem install actioncable --pre

# Para instalar o próprio rails

gem install rails --pre

## Se tudo der certo o próximo comando deve mostrar a versão do Rails. Rails 8.0.0.beta1.

rails -v

## Crie um novo projeto com nome que desejar, no meu caso será myapp.

rails new myapp

## Entre na pasta com nome do seu projeto, no meu caso myapp.

cd myapp

## Para funcionar só faltar resolver um probleminha com tzinfo-data. Instale.

gem install tzinfo-data

## Remova o Gemfile.lock e abra o Gemfile com seu editor de texto.

rm Gemfile.lock

vim Gemfile

## Troque a linha 24 do arquivo Gemfile:

gem "tzinfo-data", platforms: %i[ windows jruby ]

## Por:

gem "tzinfo-data"

## Salve o arquivo.

#### Para editar um arquivo com o comando vim pressione a tecla 'i'. Para sair e salvar pressione o botão 'Esc' em cima do teclado e depois 'Ctrl x'. ####

## Execute o seguinte comando

bundle install

## Pronto. Já está funcionando. Pode executar:

bin/rails server

## E abrir seu navegador e acessar http://127.0.0.1:3000/

## E ser feliz

## https://guides.rubyonrails.org/

## Qualquer coisa deixe um comentário.