Yo, I'm Puzzak!
Також мене можна знайти на @Puzzaks, у Play Market, Threads, LinkedIn та на моєму сайті.
Зворотній зв'язок - @Puzzak
Підписуйтесь. @PuzzaksFlutter.
Це мій канал, де я буду ділитись моїми знахідками, думками про та сніппетами коду Dart/Flutter.
Я не вважаю себе достойним звання "розробника", я максимум Trainee. Тому будь-які рекомендації, поправки та зауваження до коду чи написанного будуть дуже доречні :)
Також мене можна знайти на @Puzzaks, у Play Market, Threads, LinkedIn та на моєму сайті.
Зворотній зв'язок - @Puzzak
Підписуйтесь. @PuzzaksFlutter.
Вчусь використовувати ПРОКСІ.
Дуже проста штука, працює миттєво через дефолтний пакет
Все що потрібно додати до головного класу це
А потім додати новий клас:
І абсолютно всі запити додатку будуть йти через вказаний проксі-сервер :)
Ніяких змін у тому як робляться запити робити не потрібно)
Дуже проста штука, працює миттєво через дефолтний пакет
http.dart.Все що потрібно додати до головного класу це
class MyAppState extends State<MyApp> {
void initState() {
HttpOverrides.global = MyHttpOverrides(); // ОЦЯ СТРОКА
super.initState();
}
...А потім додати новий клас:
class MyHttpOverrides extends HttpOverrides{
final ipAddress = '666.66.66.6';
int port = 666;
final credentials = HttpClientBasicCredentials('login', 'password');
@override
HttpClient createHttpClient(SecurityContext? context){
return super.createHttpClient(context)
..addProxyCredentials(ipAddress, port, 'main', credentials)
..findProxy = ((uri) => 'PROXY $ipAddress:$port')
..badCertificateCallback = (X509Certificate cert, String host, int port)=> true;
}
}
І абсолютно всі запити додатку будуть йти через вказаний проксі-сервер :)
Ніяких змін у тому як робляться запити робити не потрібно)
Puzzak's Flutter
Вчусь використовувати ПРОКСІ. Дуже проста штука, працює миттєво через дефолтний пакет http.dart. Все що потрібно додати до головного класу це class MyAppState extends State<MyApp> { void initState() { HttpOverrides.global = MyHttpOverrides(); // ОЦЯ…
Перевірка доступності проксі
Продовжуючи тему проксі, варто також додати що зазвичай варто перевіряти чи доступний проксі-сервер, та чи підходять облікові данні. В випадку з проксі який я використовую, мені достатньо наступної функції:
Яка буде повертати булеве значення (чи вірні дані).
Викликати цю функцію треба так:
Зверніть увагу на змінні
Продовжуючи тему проксі, варто також додати що зазвичай варто перевіряти чи доступний проксі-сервер, та чи підходять облікові данні. В випадку з проксі який я використовую, мені достатньо наступної функції:
Future<bool> pingProxy(address, creds) async {
try {
final response = await http.head(
Uri.http(address),
headers: {
"Proxy-Authorization": "Basic ${base64.encode(utf8.encode(creds))}"
}
);
return response.statusCode == 503;
} catch (e) {
return false;
}
}Яка буде повертати булеве значення (чи вірні дані).
Викликати цю функцію треба так:
await pingProxy("$proxyaddress:$proxyport", "$proxyusername:$proxypassword").then((value){
if(value){
//Все вірно, активуємо проксі
}
});Зверніть увагу на змінні
$proxyaddress, $proxyport, $proxyusername, $proxypassword.❤🔥1
Forwarded from Puzzak's (Puzzak)
Оаоао, коли підтримка у Flutter?
:9to5linux
:9to5linux
9to5Linux
GNOME 47 Alpha Desktop Environment Released with Support for Accent Colors - 9to5Linux
GNOME 47 Alpha is now available for public testing with support for accent colors, Wayland improvements, and many other changes.
Puzzak's
Оаоао, коли підтримка у Flutter? :9to5linux
Скоро спробую показати як виглядає адаптивність кольорів на різних платформах. В усіх моїх додатках ієрархія будь-якого екрану виглядає приблизно отак:
Перший білдер слідкує за кольоровою темою пристрою та змінює її динамічно, другий - слідкує за орієнтацією пристрою та робить можливою адаптивність (зміну розміру/пропорцій вікна, керує інтерфейсом в портретній та альбомній орієнтації, тощо).
Приклад можна побачити отута :)
Widget build (){
DynamicColorBuilder (){
LayoutBuilder (){
return Widget (){}
}
}
}Перший білдер слідкує за кольоровою темою пристрою та змінює її динамічно, другий - слідкує за орієнтацією пристрою та робить можливою адаптивність (зміну розміру/пропорцій вікна, керує інтерфейсом в портретній та альбомній орієнтації, тощо).
Приклад можна побачити отута :)
GitHub
FPTools/lib/main.dart at master · Puzzak/FPTools
Email and VoIP management tools built with Flutter - Puzzak/FPTools
Forwarded from Puzzak's (Puzzak)
Media is too big
VIEW IN TELEGRAM
Чесно кажучи, я не певен що це те чого я намагався досягти, але виглядає круто
Forwarded from Puzzak's (Puzzak)
Puzzak's
Чесно кажучи, я не певен що це те чого я намагався досягти, але виглядає круто
Щось
Forwarded from Puzzak's (Puzzak)
This media is not supported in your browser
VIEW IN TELEGRAM
Пам'ятаєте цього чувака? Оце він зараз.