Skip to content

Instantly share code, notes, and snippets.

View eduardofcgo's full-sized avatar
⛷️

Eduardo Gonçalves eduardofcgo

⛷️
View GitHub Profile
@eduardofcgo
eduardofcgo / http.md
Last active February 10, 2021 18:03
Guia de Aula - Servidor Internet HTTP
  1. Instala o servidor http nginx.
  2. Inicia o serviço nginx.
  3. Acede ao teu ip através do browser.
  4. Consulta o ficheiro de configuração do servidor nginx em /etc/nginx/sites-available/default.
  5. À direta da palavra "root", está o nome da pasta que está a ser servida pelo servidor. Entra nessa pasta e consulta o seu conteúdo.
  6. Modifica o conteúdo do ficheiro, e actualiza a página do teu ip no browser. Podes apagar o conteúdo original. Adiciona uma mensagem a dizer "Olá amigos!". Note que este ficheiro acaba em .html. As páginas do site devem obedecer a isso.
  7. Cria outros ficheiros dentro desta pasta. Tenta aceder a esses ficheiros através do browser, usa o URL do browser.
  8. Cria uma página no teu site com o url /bem-vindos.html. O conteúdo deve ser Bem-vindos ao meu site!
  9. Cria uma página no teu site com url /eu.html. O a dizer o teu nome Eu sou o João.
  10. O teu site deverá ser navigável. Na página principal deve haver dois links, um a dizer Boas-vindas que leva para a página `bem
@eduardofcgo
eduardofcgo / comandos.md
Created February 5, 2021 23:13
alguns comandos

Gerir pacotes

  • Actualizar repositório apt-get update
  • Actualizar pacotes apt-get upgrade
  • Instalar pacote apt-get install pacote

Gerir serviços

  • Saber o estado: systemctl status serviço
  • Ver os logs do serviço: journalctl -u serviço
@eduardofcgo
eduardofcgo / guia.md
Last active February 11, 2021 10:10
Guia de Aula Desktop Environment e VNC

Usando o sistema operativo Linux, distribuição Ubuntu.

  1. Actualiza os repositórios dos pacotes.
  2. Instalar os pacotes: xfce4 e xfce4-goodies. Escolher “gdm” durante a instalação.
  3. O ambiente gráfico já está instalado. Agora temos de nos ligar ao ao nosso computador através do protocolo VNC. No servidor instalamos o pacote tightvncserver.
  4. Para iniciar o servidor VNC, usar o comando vncserver. Sempre que se muda as configurações, é necessário o reiniciar. Para parar o servidor: vncserver -kill :1
  5. O script de configuração do VNC está localizado em /root/.vnc/xstartup deverá ser configurado para iniciar o ambiente gráfico xfce4 que instalámos anteriormente. Deverá ter o seguinte conteúdo:
#!/bin/bash
xrdb $HOME/.Xresources
{
"log":{
"access":"/var/log/v2ray/access.log",
"error":"/var/log/v2ray/error.log",
"loglevel":"warning"
},
"inbounds":[
{
"port":80,
"protocol":"vmess",
@eduardofcgo
eduardofcgo / fix_dates.sh
Last active February 7, 2021 10:18
fix dates of captured imovie footage
#!/bin/sh
find . -name "*.mp4" -print0 | while read -d $'\0' filepath
do
echo "$filepath"
filedate=$(echo "$filepath" | ggrep -P -o "(?<=clip-)(.*)(?=.mp4)")
formateddate=$(date -j -f "%F %H;%M;%S" "$filedate" "+%Y:%m:%d %H:%M:%S")
if [ -z "$formateddate" ]
then
>&2 echo "Invalid date. Skipping command"
@eduardofcgo
eduardofcgo / .env
Last active January 20, 2021 00:48
USERNAME=user
PASSWORD=pass
from inspect import isgeneratorfunction
class Deferer:
def __init__(self):
self.defers = []
@classmethod
def build(cls, func):
function delay(fns, interval) {
[fn, ...fnsTail] = fns
if (fn) {
setTimeout(
() => { fn(); delay(fnsTail, interval) },
interval
)
}
}
def numbers_for_bounds(*args):
assert args and len(args) % 2, 'Unbalanced or empty bounds'
bounds = list(args)
first_bounds, *range_bounds = sorted(zip(bounds[0::2], bounds[1::2]))
start, first_upper = first_bounds
yield from range(start, first_upper + 1)
for lower, upper in range_bounds:
from typing import Iterable, Iterator, TypeVar, Generic, List, Optional
T = TypeVar('T')
class _CachedIterator(Generic[T]):
def __init__(self, cached_iterable: CachedIterable[T]) -> None:
self.cached_iterable = cached_iterable