RSS

Posts in 2022

  • NGINX access_log log the real client IP from X-Forwarded-For/X-Real-IP instead of the proxy IP

    Last Update: in nginx

    Have a nginx server receive requests from proxy or behind CDN, how to get client user’s real IP instead of proxy/CDN servers IP in access log? This article provide two solutions based on log_format and nginx realip module.

    access_log log format The nginx access_log default use predefined combined format for log format, the log looks like: 91.92.94.95 - - [03/Jan/2022:07:21:59 -0300] "GET /foo HTTP/1.1" 200 13831 "https://duckduckgo.com/" …

    Read more

Posts in 2021

  • Calculate file crypto hash (sha1, sha256, sha384 and sha512) in Flutter

    Last Update: in Flutter

    How to calculate to generate file sha1, sha256, sha384 and sha512 crypto hash in Flutter.

    Introduce crypto and ChunkedStreamReader crypto Flutter crypto package provides a set of cryptographic hashing functions implemented in pure Dart. The following hashing algorithms are supported: SHA-1 SHA-224 SHA-256 SHA-384 SHA-512 SHA-512/224 …

    Read more

  • testssl.sh examples command line tool check server TLS/SSL (weak) ciphers configuration and detect TLS/SSL vulnerabilities

    Last Update: in Security

    Want to use command line to test server TLS/SSL config properly, find weak ciphers, scan TLS/SSL server vulnerabilities, run in CI? Try testssl.sh.

    If you want to test server TLS/SSL and have following Want to use command line to test server TLS/SSL config properly, scan TLS/SSL vulnerabilities. Want to run TLS/SSL test in CI (Continue Integration) environment. Want to output result as …

    Read more

  • Fix Slow Wi-Fi on Mac OS X by Reset Wi-Fi configuration and Advanced Wireless Troubleshooting

    in Mac

    Fix Slow Wi-Fi on Mac OS X by Reset Wi-Fi configuration and Advanced Wireless Troubleshooting. After use Mac OS X for a long time or OS upgrade, the signal indicate the wifi connection is in good state, however the Wifi connection speed became very slow, with speed test result less than 1MB/s in very good router signal coverage.

    Slow Wi-Fi Symptom After use Mac OS X for a long time or OS upgrade, the signal indicate the wifi connection is in good state, however the Wifi connection speed became very slow, with speed test result less than 1MB/s in very good router signal …

    Read more

  • Troubleshooting ProtonVPN Linux cli EnableIPv6LeakProtectionError: Unable to add IPv6 leak protection connection/interface

    in Linux

    protonvpn-cli connect report An unknown error has occured. Please ensure that you have internet connectivity. If the issue persists, please contact support. protonvpn-cli.log show error protonvpn_nm_lib.exceptions.EnableIPv6LeakProtectionError: Unable to add IPv6 leak protection connection/interface protonvpn.log show Error: Failed to add ‘pvpn-ipv6leak-protection’ connection: Insufficient privileges.

    Environment Linux OS: Debian 10 Buster 64 bit (Fresh install with default options). $ uname -a Linux debian10 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux $ protonvpn-cli -v ProtonVPN CLI v3.8.0 (protonvpn-nm-lib v3.3.2; …

    Read more

  • Tips on Hugo SEO

    Last Update: in Hugo

    Tips on Hugo SEO (Search Engine Optimization). Add describe metadata, link build, handle external link, lighthouse SEO checklist etc.

    Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again. However the default hugo template does not take too much consideration on SEO. Here are some tips to …

    Read more

  • Custom hugo RSS template

    Last Update: in Hugo

    Custom hugo RSS content. Add lastBuildDate to show the page last modification time. Make a custom description like adding image, use description field instead of summary or content.

    Hugo ships with its own RSS 2.0 template, it generated the RSS feed file as index.xml and embedded into index.html header. e.g. {{ range .AlternativeOutputFormats -}} {{ printf `<link rel="%s" type="%s" href="%s" >` .Rel …

    Read more

  • Hugo troubleshooting: execute of template failed: can't give argument to non-function

    Last Update: in Hugo

    render of “page” failed: execute of template failed: can’t give argument to non-function …

    Symptom After upgrade hugo from 0.62.2 to 0.79.1 and run hugo build got following error: $ HUGO_ENV="production" hugo Start building sites … ERROR 2021/05/05 15:01:35 render of "page" failed: execute of template failed: template: …

    Read more

  • Android OkHttp change User-Agent header

    in Android

    Android OkHttp addHeader(“User-Agent”) does not work troubleshooting.

    Symptom Use OkHttpClient.Builder() to add User-Agent header. val okHttpClient = OkHttpClient.Builder() .addNetworkInterceptor { chain -> val requestBuilder = chain.request().newBuilder() .addHeader("User-Agent", userAgent) With this code, …

    Read more

  • Various ways to load PDF in Android webview

    Last Update: in Android

    Android webview can not load PDF file by default. Luckily, there are various ways to how to load PDF file in Android webview, like use google service, pdf.js etc.

    Android webview can not load PDF file by default. :( Luckily, there are various ways to how to load PDF file in Android webview. Open Intent with startActivity If your requirement does not need use embedded webview to show PDF, you can just use …

    Read more