Last major update: 25.08.2020
- Что такое авторизация/аутентификация
- Где хранить токены
- Как ставить куки ?
- Процесс логина
- Процесс рефреш токенов
- Кража токенов/Механизм контроля токенов
| Don't worry about what anybody else is going to do. The best way to | |
| predict the future is to invent it. | |
| -- Alan Kay | |
| Premature optimization is the root of all evil (or at least most of it) | |
| in programming. | |
| -- Donald Knuth | |
| Lisp has jokingly been called "the most intelligent way to misuse a | |
| computer". I think that description is a great compliment because it |
Save these files as ~/.config/systemd/user/some-service-name.*
Run this now and after any modifications: systemctl --user daemon-reload
Try out the service (oneshot): systemctl --user start some-service-name
Check logs if something is wrong: journalctl -u --user-unit some-service-name
Start the timer after this user logs in: systemctl --user enable --now some-service-name.timer
| [Interface] | |
| Address = 10.200.200.3/32 | |
| PrivateKey = [Client's private key] | |
| DNS = 8.8.8.8 | |
| [Peer] | |
| PublicKey = [Server's public key] | |
| PresharedKey = [Pre-shared key, same for server and client] | |
| Endpoint = [Server Addr:Server Port] | |
| AllowedIPs = 0.0.0.0/0 |
Let's imagine we have a lot of mp3 files ( forexample one of the pluralsite courses converted to mp3 ).
URL=https://www.pluralsight.com/courses/run-effective-meetings
PASS=pass
USER=user
OUTPUT="%(playlist_index)s. %(title)s-%(id)s.%(ext)s"
youtube-dl --username $USER --password $PASS -o $OUTPUT --extract-audio --audio-format mp3 $URL| package main | |
| import ( | |
| "net/http" | |
| "compress/gzip" | |
| "io/ioutil" | |
| "strings" | |
| "sync" | |
| "io" | |
| ) |
| // All of this is licensed under the CC0 licence btw | |
| #include <string.h> | |
| #include <stdarg.h> | |
| #include <stddef.h> | |
| #include <stdlib.h> | |
| #include <stdio.h> | |
| #define S_(class, func, ...) _##class##_##func(__VA_ARGS__) | |
| #define S(class, func, ...) S_(class, func __VA_OPT__(,) __VA_ARGS__) | |
| #define new(class, ...) S(class, new, __VA_ARGS__) |