-
-
Save lbssousa/5dcc5459b02db8d971ae8984fcd37235 to your computer and use it in GitHub Desktop.
REQUISITOS | |
* VirtualBox | |
* Vagrant | |
INSTRUÇÕES | |
1. Crie uma pasta, com o nome que você preferir (exemplo: UbuntuBankingCEF). | |
2. Salve o arquivo Vagrantfile e o script vagrant-cef na pasta recém-criada. | |
3. Torne o script executável: | |
chmod +x vagrant-cef | |
4. Execute o script: | |
./vagrant-cef | |
A primeira execução será um pouco mais demorada, pois a VM será criada | |
e os softwares necessários (incluindo o Firefox e o módulo de segurança | |
do banco) serão instalados. Ao final da instalação, o Firefox será | |
executado automaticamente a partir da VM. Quando a janela do Firefox for | |
fechada, a VM será automaticamente desligada. |
#!/bin/sh | |
vagrant box update | |
vagrant up | |
vagrant ssh -c vbox-internet-banking | |
vagrant halt |
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
$script = <<ENDSCRIPT | |
Home="/home/ubuntu" | |
# Altere os valores abaixo de acordo com o seu banco | |
Modulo="GBPCEFwr64.deb" | |
UrlModulo="https://cloud.gastecnologia.com.br/cef/warsaw/install/${Modulo}" | |
UrlBanco="http://www.caixa.gov.br" | |
Caminho="/usr/local/bin/warsaw/core" | |
Script="vbox-internet-banking" | |
# Atualizando o sistema | |
apt-get update | |
apt-get upgrade | |
# Instalando uma seleção mínima de pacotes para rodar o Firefox | |
apt-get install -y --no-install-recommends language-pack-pt openssl libnss3-tools xauth firefox firefox-locale-pt | |
# Configurando a página inicial do Firefox | |
echo "lockPref(\"browser.startup.homepage\", \"${UrlBanco}\");" >> /etc/firefox/syspref.js | |
# Criando o script lançador do Firefox | |
cat >/usr/local/bin/${Script} <<EOF | |
#!/bin/sh | |
export LANG="pt_BR.UTF-8" | |
[ -d "${Home}/.mozilla" ] || firefox -CreateProfile default | |
[ -x "${Caminho}" ] || (wget -c ${UrlModulo} && sudo apt -y install ./${Modulo} && rm -f ./${Modulo}) | |
${Caminho} | |
firefox -private-window ${UrlBanco} | |
loginctl terminate-session \\${XDG_SESSION_ID} | |
EOF | |
chmod +x /usr/local/bin/${Script} | |
# Limpando a instalação | |
apt-get -y autoremove | |
apt-get clean | |
ENDSCRIPT | |
Vagrant.configure("2") do |config| | |
config.vm.box = "ubuntu/xenial64" | |
config.vm.provider "virtualbox" do |vb| | |
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on", "--draganddrop", "hosttoguest", "--clipboard", "bidirectional"] | |
end | |
config.ssh.forward_x11 = true | |
config.vm.provision :shell, inline: $script | |
end |
@lbssousa, outra possibilidade de implementação seria via VNC. Eu criei um Vagrantfile[1] que é capaz de fazer o provisionamento do ambiente e ao final permite o acesso ao Firefox via VNC. Tenho um outro Vagrantfile[2] que provisiona o ambiente com um Ubuntu Desktop usando o container wscef.
[1] https://github.com/danielmenezesbr/warsaw-ubuntu-headless-vagrant
[2] https://github.com/danielmenezesbr/warsaw-ubuntu-vagrant
@danielmenezesbr Eu acredito que fica mais democrático COM X NO CONVIDADO E WINDOW MANAGER
Mas foi opção do Laércio fazer por SSH e acho o Forward mais elegante do que VNC, o xauth é para gerencia de autorização da aplicação remota ser exibida no X do hospedeiro! este projeto já tomou rumos diferente o original com X,
O meu wscef-docker trabalha de maneira semelhante, entretanto não precisa utilizar SSH como protocolo de comunicação entre o host e convidado e carregar um SO operacional completo.
Link to @lbssousa on farribeiro/wscef-docker#10 (comment)
Caras, descobri uma coisa legal.
Uma coisa ruim dos ambientes de desktop é que ele agrupa essa janela do virtualbox como mais uma janela do firefox. É uma merda pra gerenciar.
Pra evitar isso, mude a linha de comando de início do firefox, adicionando --class CaixaEconomica --name CaixaEconomica antes do -private-window e ele não agrupará mais junto. Acaba funcionando como se fosse uma webapp. Super-prático. Já patcheei minha VM e meu fork do script.
Aliás, melhor ainda, dá pra fazer um .desktop file com isso. Baixei o logo da caixa da net e fiz esse .desktop:
[Desktop Entry]
Version=1.0
Name=Caixa Econômica
Comment=Firefox na Caixa Econômica Federal com a bosta do Warsaw
Exec=/ubuntinho/vagrant-cef -- %u
Icon=/ubuntinho/logocaixa.png
Terminal=false
StartupWMClass=CaixaEconomica
Type=Application
Categories=Network;Banking;
MimeType=x-scheme-handler/tg;
Poderia nos deixar um screenshot para ver como fica a solução?
Não compreendi qual efeito essa opção --class
causa ao menos no SSH Forwarder do @lbsousa
No docker, tem comportamento semelhante ao SSH X11 Forwarder, não notei tal diferença, pedi para dar um review para se encontra como esperado, no aguardo.
Link para PR farribeiro/wscef-docker#39
@lbssousa e @farribeiro, uma dúvida: nessa estratégia do "SSH X11 Forwading" faz sentido instalar o pacote xauth?