Compare commits
No commits in common. "dd7184f75bb8f0d714e5d2d5a2525c2cd3d596dc" and "f912ccf105da5e67ac00b09fa1231dede2fa563a" have entirely different histories.
dd7184f75b
...
f912ccf105
2
.github/workflows/deploy-to-vps.yaml
vendored
|
@ -42,7 +42,7 @@ jobs:
|
||||||
- name: Setup Hugo
|
- name: Setup Hugo
|
||||||
uses: peaceiris/actions-hugo@v3
|
uses: peaceiris/actions-hugo@v3
|
||||||
with:
|
with:
|
||||||
hugo-version: "0.126.3"
|
hugo-version: "0.122.0"
|
||||||
extended: true
|
extended: true
|
||||||
|
|
||||||
- name: Cache Hugo modules
|
- name: Cache Hugo modules
|
||||||
|
|
1
.gitignore
vendored
|
@ -4,4 +4,3 @@ package-json.lock
|
||||||
ltex.*.txt
|
ltex.*.txt
|
||||||
public/
|
public/
|
||||||
node_modules/
|
node_modules/
|
||||||
resources
|
|
||||||
|
|
|
@ -11,6 +11,59 @@ enableEmoji: true
|
||||||
permalinks:
|
permalinks:
|
||||||
blog: /blog/:year/:month/:title
|
blog: /blog/:year/:month/:title
|
||||||
|
|
||||||
|
module:
|
||||||
|
# For some regions can not access the proxy.golang.org, i.e. China.
|
||||||
|
# See https://hugomods.com/en/blog/2023/04/go-and-hugo-proxy-servers/ for all available proxy servers.
|
||||||
|
# proxy: https://goproxy.cn,direct
|
||||||
|
|
||||||
|
# The order of module is very important, precedence from top to bottom.
|
||||||
|
imports:
|
||||||
|
# gallery modules.
|
||||||
|
- path: github.com/hbstack/gallery
|
||||||
|
- path: github.com/hbstack/gallery/modules/breadcrumb
|
||||||
|
|
||||||
|
# syntax highlighting, see https://hbstack.dev/en/docs/modules/syntax-highlighting/.
|
||||||
|
# - path: github.com/hbstack/syntax-highlighting/styles/github-dark
|
||||||
|
|
||||||
|
# icons modules
|
||||||
|
- path: github.com/hugomods/icons/vendors/font-awesome
|
||||||
|
# - path: github.com/hugomods/icons/vendors/mdi
|
||||||
|
# - path: github.com/hugomods/icons/vendors/simple-icons
|
||||||
|
# - path: github.com/hugomods/icons/vendors/tabler
|
||||||
|
# - path: github.com/hugomods/icons/vendors/feather
|
||||||
|
|
||||||
|
# blog comments engine
|
||||||
|
- path: github.com/hbstack/blog/modules/giscus # (upstream default)
|
||||||
|
# - path: github.com/hbstack/blog/modules/disqus
|
||||||
|
# - path: github.com/hbstack/blog/modules/utterances
|
||||||
|
|
||||||
|
# blog table of contents scrollspy
|
||||||
|
- path: github.com/hbstack/blog/modules/toc-scrollspy
|
||||||
|
|
||||||
|
# blog content panel
|
||||||
|
- path: github.com/hbstack/blog/modules/content-panel
|
||||||
|
|
||||||
|
# docs comments engine
|
||||||
|
- path: github.com/hbstack/docs/modules/giscus # (upstream default)
|
||||||
|
# - path: github.com/hbstack/docs/modules/utterances
|
||||||
|
# - path: github.com/hbstack/docs/modules/disqus
|
||||||
|
|
||||||
|
# docs table of contents scrollspy
|
||||||
|
- path: github.com/hbstack/docs/modules/toc-scrollspy
|
||||||
|
|
||||||
|
# docs content panel
|
||||||
|
- path: github.com/hbstack/docs/modules/content-panel
|
||||||
|
|
||||||
|
# other modules
|
||||||
|
# - path: github.com/hugomods/google-analytics
|
||||||
|
- path: github.com/hugomods/google-adsense
|
||||||
|
|
||||||
|
# recommended modules
|
||||||
|
# check which modules were imported by recommended module by "hugo mod graph | grep recommended".
|
||||||
|
# see also https://hbstack.dev/en/docs/modules/meta/.
|
||||||
|
# to remove unused modules, you need to replace the recommended module with modules your need.
|
||||||
|
- path: github.com/hbstack/meta/recommended
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
home:
|
home:
|
||||||
- HTML
|
- HTML
|
||||||
|
@ -71,3 +124,4 @@ security:
|
||||||
- ^HUGO
|
- ^HUGO
|
||||||
- CI$
|
- CI$
|
||||||
- PWD
|
- PWD
|
||||||
|
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
imports:
|
|
||||||
# gallery modules.
|
|
||||||
- path: github.com/hbstack/gallery
|
|
||||||
- path: github.com/hbstack/gallery/modules/breadcrumb
|
|
||||||
|
|
||||||
# syntax highlighting, see https://hbstack.dev/en/docs/modules/syntax-highlighting/.
|
|
||||||
# - path: github.com/hbstack/syntax-highlighting/styles/github-dark
|
|
||||||
|
|
||||||
# icons modules
|
|
||||||
- path: github.com/hugomods/icons/vendors/font-awesome
|
|
||||||
# - path: github.com/hugomods/icons/vendors/mdi
|
|
||||||
# - path: github.com/hugomods/icons/vendors/simple-icons
|
|
||||||
# - path: github.com/hugomods/icons/vendors/tabler
|
|
||||||
# - path: github.com/hugomods/icons/vendors/feather
|
|
||||||
|
|
||||||
# blog table of contents scrollspy
|
|
||||||
- path: github.com/hbstack/blog/modules/toc-scrollspy
|
|
||||||
|
|
||||||
# blog content panel
|
|
||||||
- path: github.com/hbstack/blog/modules/content-panel
|
|
||||||
|
|
||||||
# docs comments engine
|
|
||||||
- path: github.com/hbstack/docs/modules/giscus # (upstream default)
|
|
||||||
# - path: github.com/hbstack/docs/modules/utterances
|
|
||||||
# - path: github.com/hbstack/docs/modules/disqus
|
|
||||||
|
|
||||||
# - path: github.com/hugomods/google-analytics
|
|
||||||
- path: github.com/hugomods/google-adsense
|
|
||||||
|
|
||||||
# recommended modules
|
|
||||||
# check which modules were imported by recommended module by "hugo mod graph | grep recommended".
|
|
||||||
# see also https://hbstack.dev/en/docs/modules/meta/.
|
|
||||||
# to remove unused modules, you need to replace the recommended module with modules your need.
|
|
||||||
- path: github.com/hbstack/meta/recommended
|
|
|
@ -9,10 +9,12 @@ hb:
|
||||||
# see https://hbstack.dev/en/docs/modules/socials/.
|
# see https://hbstack.dev/en/docs/modules/socials/.
|
||||||
socials:
|
socials:
|
||||||
github: https://github.com/ditatompel/insights
|
github: https://github.com/ditatompel/insights
|
||||||
|
twitter: ditatompel
|
||||||
footer:
|
footer:
|
||||||
# see https://hbstack.dev/en/docs/modules/socials/.
|
# see https://hbstack.dev/en/docs/modules/socials/.
|
||||||
socials:
|
socials:
|
||||||
github: https://github.com/ditatompel/insights
|
github: https://github.com/ditatompel/insights
|
||||||
|
twitter: ditatompel
|
||||||
blog:
|
blog:
|
||||||
paginate: 12 # paginate.
|
paginate: 12 # paginate.
|
||||||
# post_thumbnail: false # whether to show the thumbnails.
|
# post_thumbnail: false # whether to show the thumbnails.
|
||||||
|
@ -46,7 +48,7 @@ seo:
|
||||||
icon: images/logo.png # use logo as favicon.
|
icon: images/logo.png # use logo as favicon.
|
||||||
svg_icon: images/logo.svg
|
svg_icon: images/logo.svg
|
||||||
mask_icon: images/logo.svg
|
mask_icon: images/logo.svg
|
||||||
mask_icon_color: "#712cf9"
|
mask_icon_color: '#712cf9'
|
||||||
sizes:
|
sizes:
|
||||||
- size: 180x180
|
- size: 180x180
|
||||||
rel: apple-touch-icon
|
rel: apple-touch-icon
|
||||||
|
@ -66,9 +68,9 @@ pwa:
|
||||||
- url: /en/
|
- url: /en/
|
||||||
- url: /id/
|
- url: /id/
|
||||||
manifest:
|
manifest:
|
||||||
background_color: "#712cf9"
|
background_color: '#712cf9'
|
||||||
theme_color: "#712cf9"
|
theme_color: '#712cf9'
|
||||||
short_name: "ditatompel Insights"
|
short_name: 'ditatompel Insights'
|
||||||
|
|
||||||
# see https://hugomods.com/en/docs/search/#site-parameters
|
# see https://hugomods.com/en/docs/search/#site-parameters
|
||||||
search:
|
search:
|
||||||
|
|
|
@ -5,6 +5,6 @@ images:
|
||||||
- https://avatars.githubusercontent.com/u/1184957?s=200&v=4
|
- https://avatars.githubusercontent.com/u/1184957?s=200&v=4
|
||||||
socials:
|
socials:
|
||||||
github: ditatompel
|
github: ditatompel
|
||||||
website: https://www.ditatompel.com
|
twitter: ditatompel
|
||||||
patreon: svcadm
|
patreon: svcadm
|
||||||
---
|
---
|
||||||
|
|
|
@ -5,6 +5,6 @@ images:
|
||||||
- https://avatars.githubusercontent.com/u/1184957?s=200&v=4
|
- https://avatars.githubusercontent.com/u/1184957?s=200&v=4
|
||||||
socials:
|
socials:
|
||||||
github: ditatompel
|
github: ditatompel
|
||||||
website: https://www.ditatompel.com
|
twitter: ditatompel
|
||||||
patreon: svcadm
|
patreon: svcadm
|
||||||
---
|
---
|
||||||
|
|
|
@ -34,53 +34,48 @@ authors:
|
||||||
- ditatompel
|
- ditatompel
|
||||||
---
|
---
|
||||||
|
|
||||||
Berbeda dengan sebelumnya yang menggunakan **DNS filtering**, beberapa _upstream_ telah melakukan **TCP Reset Attack** untuk memblokir akses ke website-website yang dinilai ilegal. Dan kenapa Anda harus mulai perduli untuk masalah ini.
|
Berbeda dengan sebelumnya yang menggunakan **DNS filtering**, beberapa *upstream* telah melakukan **TCP Reset Attack** untuk memblokir akses ke website-website yang dinilai ilegal. Dan kenapa Anda harus mulai perduli untuk masalah ini.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
---
|
||||||
|
|
||||||
## Latar Belakang
|
## Latar Belakang
|
||||||
|
|
||||||
Sejak beberapa bulan yang lalu, saya mulai tidak dapat mengakses **reddit.com** dari koneksi internet **ISP** saya, padahal di jaringan rumah saya sudah memakai **DNS-over-HTTPS (DoH)**. Hal yang sama terjadi juga ketika saya melakukan **VPN** ke server saya yang notabenenya tanpa **"Internet Positif"** (baca: tanpa sensor).
|
Sejak beberapa bulan yang lalu, saya mulai tidak dapat mengakses **reddit.com** dari koneksi internet **ISP** saya, padahal di jaringan rumah saya sudah memakai **DNS-over-HTTPS (DoH)**. Hal yang sama terjadi juga ketika saya melakukan **VPN** ke server saya yang notabenenya tanpa **"Internet Positif"** (baca: tanpa sensor).
|
||||||
|
|
||||||
Browser saya selalu mengatakan _error **"The connection was reset"**_. _Service_ gratis [libreddit yang saya sediakan](https://libreddit.ditatompel.com/) untuk mengakses **Reddit** tanpa konten bermuatan **NSFW** juga menjadi tidak bekerja (servernya sebelumnya ada di **Indonesia Data Center Duren Tiga** atau **IDC-3D**).
|
Browser saya selalu mengatakan _error **"The connection was reset"**_. *Service* gratis [libreddit yang saya sediakan](https://libreddit.ditatompel.com/) untuk mengakses **Reddit** tanpa konten bermuatan **NSFW** juga menjadi tidak bekerja (servernya sebelumnya ada di **Indonesia Data Center Duren Tiga** atau **IDC-3D**).
|
||||||
|
|
||||||
> _Baca juga: "[Cara Akses Reddit Tanpa VPN Dengan Libreddit]({{< ref "/blog/cara-akses-reddit-tanpa-vpn-dengan-libreddit/index.id.md" >}})"._
|
> _Baca juga: "[Cara Akses Reddit Tanpa VPN Dengan Libreddit]({{< ref "/blog/cara-akses-reddit-tanpa-vpn-dengan-libreddit/index.id.md" >}})"._
|
||||||
|
|
||||||
Setelah berdiskusi dengan rekan kantor dan melakukan sedikit observasi, saya dapat menyimpulkan bahwa yang saya alami adalah **_TCP reset attack_ (TCP RST)** dan terjadi di _**Upstream** provider_ / _network checkpoint_ yang saya gunakan. Sepertinya (menurut saya pribadi), _upstream provider_ yang saya gunakan dipaksa atau terpaksa melakukan aktifitas _"jahat"_ ini.
|
Setelah berdiskusi dengan rekan kantor dan melakukan sedikit observasi, saya dapat menyimpulkan bahwa yang saya alami adalah **_TCP reset attack_ (TCP RST)** dan terjadi di _**Upstream** provider_ / _network checkpoint_ yang saya gunakan. Sepertinya (menurut saya pribadi), *upstream provider* yang saya gunakan dipaksa atau terpaksa melakukan aktifitas *"jahat"* ini.
|
||||||
|
|
||||||
Kenapa saya bilang terpaksa atau dipaksa? Karena _Upstream provider_ adalah pelaku bisnis, dan tujuan bisnis salah satunya adalah meraih laba sebesar-besarnya. Sedangkan untuk melakukan **Deep Packet Inspection (DPI)** untuk _traffic_ yang besar bukan hal yang murah. Coba saja cari informasi harga **Palo Alto 5200** series, **Cisco Firepower 9300** series, atau **FortiGate 6000** series jika tidak percaya. Itu baru biaya _hardware_, belum untuk biaya _maintenance_, dan pengeluaran oprasional seperti _training_, gaji, dan lain-lain. Tapi jika ancamannya adalah pencabutan izin, apa boleh buat?
|
Kenapa saya bilang terpaksa atau dipaksa? Karena *Upstream provider* adalah pelaku bisnis, dan tujuan bisnis salah satunya adalah meraih laba sebesar-besarnya. Sedangkan untuk melakukan **Deep Packet Inspection (DPI)** untuk *traffic* yang besar bukan hal yang murah. Coba saja cari informasi harga **Palo Alto 5200** series, **Cisco Firepower 9300** series, atau **FortiGate 6000** series jika tidak percaya. Itu baru biaya *hardware*, belum untuk biaya *maintenance*, dan pengeluaran oprasional seperti *training*, gaji, dan lain-lain. Tapi jika ancamannya adalah pencabutan izin, apa boleh buat?
|
||||||
|
|
||||||
Memang perangkat _firewall enterprise_ sekelas dengan yang saya sebutkan diatas pasti dimiliki perusahaan ISP besar, apa lagi di _network checkpoint_. Namun saya yakin, pelaku bisnis akan lebih memilih menghemat _resource_ dan menghindari komplain dari _customer_ bisnisnya (_downstream_) daripada harus melakukan _deployment_ dan _integration_ DPI di infrastruktur _network_ yang sudah mereka punya.
|
Memang perangkat *firewall enterprise* sekelas dengan yang saya sebutkan diatas pasti dimiliki perusahaan ISP besar, apa lagi di *network checkpoint*. Namun saya yakin, pelaku bisnis akan lebih memilih menghemat *resource* dan menghindari komplain dari *customer* bisnisnya (*downstream*) daripada harus melakukan *deployment* dan *integration* DPI di infrastruktur *network* yang sudah mereka punya.
|
||||||
|
|
||||||
Jika _cost_ untuk melakukan **DPI** akan sangat mahal, mungkinkah **TCP-RST attack** tersebut diimplementasikan di setiap _checkpoint_ pada skala nasional? Tidak mungkin bukan? _Hold my beer_, Anda mungkin tidak tahu _track-record_ seberapa _"kaya"_ negara kita untuk membeli dan mengimplementasikan hal-hal seperti itu di bagian [#Privasi](#privasi).
|
Jika *cost* untuk melakukan **DPI** akan sangat mahal, mungkinkah **TCP-RST attack** tersebut diimplementasikan di setiap *checkpoint* pada skala nasional? Tidak mungkin bukan? *Hold my beer*, Anda mungkin tidak tahu *track-record* seberapa *"kaya"* negara kita untuk membeli dan mengimplementasikan hal-hal seperti itu di bagian [#Privasi](#privasi).
|
||||||
|
|
||||||
## Investigasi
|
## Investigasi
|
||||||
|
|
||||||
Saya melakukan investigasi yang sangat sederhana untuk membuktikan apakah benar **TCP-RST attack** itu secara otomatis terjadi. Ada 2 cara yang saya lakukan:
|
Saya melakukan investigasi yang sangat sederhana untuk membuktikan apakah benar **TCP-RST attack** itu secara otomatis terjadi. Ada 2 cara yang saya lakukan:
|
||||||
|
1. menggunakan browser dengan *inspect element* (*simple*).
|
||||||
1. menggunakan browser dengan _inspect element_ (_simple_).
|
2. Langsung dari server saya yang berada di Indonesia dan melakukan *network capture* menggunakan `tcpdump` (*advanced*).
|
||||||
2. Langsung dari server saya yang berada di Indonesia dan melakukan _network capture_ menggunakan `tcpdump` (_advanced_).
|
|
||||||
|
|
||||||
> _CATATAN: Dari yang selama ini saya amati, **TCP-RST attack** belum diimplementasikan di seluruh *checkpoint* / *upstream*. Jadi masih banyak provider yang belum terdampak._
|
> _CATATAN: Dari yang selama ini saya amati, **TCP-RST attack** belum diimplementasikan di seluruh *checkpoint* / *upstream*. Jadi masih banyak provider yang belum terdampak._
|
||||||
|
|
||||||
### Menggunakan Browser (_inspect element_, _simple_)
|
### Menggunakan Browser (*inspect element*, *simple*)
|
||||||
|
|
||||||
![Browser error: connection reset](browser-connection-reset.png#center)
|
![Browser error: connection reset](browser-connection-reset.png#center)
|
||||||
|
|
||||||
Cara paling mudah (tetapi tidak detail) adalah menggunakan browser Anda. Ketika Anda tidak dapat mengakses reddit.com (atau situs lain yang diblokir pemerintah) dan mendapatkan pesan _error **"The connection was reset"**_; besar kemungkinan ISP (atau _upstream_ ISP) Anda sudah mengimplementasikan metode ini.
|
Cara paling mudah (tetapi tidak detail) adalah menggunakan browser Anda. Ketika Anda tidak dapat mengakses reddit.com (atau situs lain yang diblokir pemerintah) dan mendapatkan pesan _error **"The connection was reset"**_; besar kemungkinan ISP (atau *upstream* ISP) Anda sudah mengimplementasikan metode ini.
|
||||||
|
|
||||||
Cara lebih detail, sebelum mencoba akses ke reddit.com, _klik kanan_ pada browser dan cari kata "_inspect_" atau "_developer tools_". Masuk ke tab "**Network**" kemudian baru coba akses reddit.com. Informasi "_CONNECTION_RESET_" pada kolom status muncul jika server mengirimkan _packet reset_ (**RST**).
|
Cara lebih detail, sebelum mencoba akses ke reddit.com, *klik kanan* pada browser dan cari kata "*inspect*" atau "*developer tools*". Masuk ke tab "**Network**" kemudian baru coba akses reddit.com. Informasi "*CONNECTION_RESET*" pada kolom status muncul jika server mengirimkan *packet reset* (**RST**).
|
||||||
|
|
||||||
### Menggunakan `tcpdump` dan `curl` (_advanced_)
|
### Menggunakan `tcpdump` dan `curl` (*advanced*)
|
||||||
|
> Supaya dapat mengerti metode ini, Anda perlu mengetahui **konsep dasar TCP/IP** dan **3-Way-Handshake**. Saya pernah menulis mengenai analogi [TCP/IP - 3-Way-Handshake - MiTM - Session Hijacking]({{< ref "/blog/tcp-ip-3-way-handshake-mitm-session-hijacking/index.id" >}}) di tahun 2012 lalu. Atau silahkan mencari sendiri dari mesin penelusuran favorit Anda.
|
||||||
|
|
||||||
> Supaya dapat mengerti metode ini, Anda perlu mengetahui **konsep dasar TCP/IP** dan **3-Way-Handshake**. Saya pernah menulis mengenai analogi [TCP/IP - 3-Way-Handshake - MiTM - Session Hijacking]({{< ref "/blog/tcp-ip-3-way-handshake-mitm-session-hijacking/index.id.md" >}}) di tahun 2012 lalu. Atau silahkan mencari sendiri dari mesin penelusuran favorit Anda.
|
Saya mencoba melakukan investigasi **langsung** dari server saya yang berada di **Indonesia Data Center Duren Tiga**. Caranya cukup *simple*, yaitu dengan mengirimkan **HTTP GET** ke reddit.com menggunakan `curl` dan melakukan *packet capture* menggunakan `tcpdump` secara bersamaan.
|
||||||
|
|
||||||
Saya mencoba melakukan investigasi **langsung** dari server saya yang berada di **Indonesia Data Center Duren Tiga**. Caranya cukup _simple_, yaitu dengan mengirimkan **HTTP GET** ke reddit.com menggunakan `curl` dan melakukan _packet capture_ menggunakan `tcpdump` secara bersamaan.
|
|
||||||
|
|
||||||
Dibawah ini `151.101.xx.xxx` adalah salah 1 IP reddit.com yang saya dapatkan dari **DNS resolver** saat melakukan testing. Sedangkan `xxx.xxx.x06.26` adalah IP public server milik saya.
|
Dibawah ini `151.101.xx.xxx` adalah salah 1 IP reddit.com yang saya dapatkan dari **DNS resolver** saat melakukan testing. Sedangkan `xxx.xxx.x06.26` adalah IP public server milik saya.
|
||||||
|
|
||||||
Sample `curl https://reddit.com -vvv` output:
|
Sample `curl https://reddit.com -vvv` output:
|
||||||
|
|
||||||
```plain
|
```plain
|
||||||
* Trying 151.101.xx.xxx:443...
|
* Trying 151.101.xx.xxx:443...
|
||||||
* TCP_NODELAY set
|
* TCP_NODELAY set
|
||||||
|
@ -97,7 +92,6 @@ curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to reddit
|
||||||
```
|
```
|
||||||
|
|
||||||
sample `tcpdump -i ens18 dst 151.101.xx.xxx or src 151.101.xx.xxx -Nnn`:
|
sample `tcpdump -i ens18 dst 151.101.xx.xxx or src 151.101.xx.xxx -Nnn`:
|
||||||
|
|
||||||
```plain
|
```plain
|
||||||
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
|
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
|
||||||
listening on ens18, link-type EN10MB (Ethernet), capture size 262144 bytes
|
listening on ens18, link-type EN10MB (Ethernet), capture size 262144 bytes
|
||||||
|
@ -117,98 +111,89 @@ listening on ens18, link-type EN10MB (Ethernet), capture size 262144 bytes
|
||||||
**Keterangan dari hasil `tcpdump` _flag_ diatas**:
|
**Keterangan dari hasil `tcpdump` _flag_ diatas**:
|
||||||
|
|
||||||
| TCP Flag | tcpdump flag | keterangan |
|
| TCP Flag | tcpdump flag | keterangan |
|
||||||
| --------- | ------------ | ----------------- |
|
| -------- | ------------ | ----------------- |
|
||||||
| `SYN` | `S` | Koneksi dimulai |
|
| `SYN` | `S` | Koneksi dimulai |
|
||||||
| `FIN` | `F` | Koneksi selesai |
|
| `FIN` | `F` | Koneksi selesai |
|
||||||
| **`RST`** | **`R`** | **Koneksi reset** |
|
| **`RST`** | **`R`** | **Koneksi reset** |
|
||||||
| `PUSH` | `P` | Data _push_ |
|
| `PUSH` | `P` | Data *push* |
|
||||||
| `ACK` | `.` | _Acknowledgment_ |
|
| `ACK` | `.` | *Acknowledgment* |
|
||||||
|
|
||||||
> _\* Flag diatas dapat dikombinasikan, misalnya `[s.]` adalah packet `SYN-ACK`._
|
> _* Flag diatas dapat dikombinasikan, misalnya `[s.]` adalah packet `SYN-ACK`._
|
||||||
|
|
||||||
![TCP-RST attack](tcp-rst-attack.png#center)
|
![TCP-RST attack](tcp-rst-attack.png#center)
|
||||||
|
|
||||||
Terlihat jelas setelah server melakukan _handshake_ dan mengirimkan pengiriman _packet data_, saya langsung menerima `RST` (_reset_) _flag_.
|
Terlihat jelas setelah server melakukan *handshake* dan mengirimkan pengiriman *packet data*, saya langsung menerima `RST` (*reset*) *flag*.
|
||||||
|
|
||||||
## Kenapa Anda Harus Perduli?
|
## Kenapa Anda Harus Perduli?
|
||||||
|
|
||||||
Meskipun belum sekelas [The Great Firewall of China (GFW)](https://en.wikipedia.org/wiki/Great_Firewall), tetapi indikasi menuju kesana sangat terasa. yang sebelumnya hanya dari **DNS spoofing**, **filtering** dan **redirect**; sekarang sudah menggunakan **Deep Packet Inspection** dan **TCP reset attack**.
|
Meskipun belum sekelas [The Great Firewall of China (GFW)](https://en.wikipedia.org/wiki/Great_Firewall), tetapi indikasi menuju kesana sangat terasa. yang sebelumnya hanya dari **DNS spoofing**, **filtering** dan **redirect**; sekarang sudah menggunakan **Deep Packet Inspection** dan **TCP reset attack**.
|
||||||
|
|
||||||
[Dikutip dari Wikipedia](https://en.wikipedia.org/wiki/Deep_packet_inspection#Indonesia), pemerintah Indonesia melalui **Telkom Indonesia** (ISP milik pemerintah) mengunakan teknologi **Deep Packet Inspection (DPI)** dari **Cisco Meraki** melakukan pengawasan (_surveillance_) dan _maping_ Nomor Induk Kependudukan (**NIK**) terhadap masyarakat yang menggunakan jasa ISP milik pemerintah.
|
[Dikutip dari Wikipedia](https://en.wikipedia.org/wiki/Deep_packet_inspection#Indonesia), pemerintah Indonesia melalui **Telkom Indonesia** (ISP milik pemerintah) mengunakan teknologi **Deep Packet Inspection (DPI)** dari **Cisco Meraki** melakukan pengawasan (*surveillance*) dan *maping* Nomor Induk Kependudukan (**NIK**) terhadap masyarakat yang menggunakan jasa ISP milik pemerintah.
|
||||||
|
|
||||||
Tujuan dari **Deep Packet Inspection (DPI)** termasuk melakukan _filter_ terhadap konten pornografi, ujaran kebencian dan meredakan tensi (misalnya di Papua 2019). Pemerintah Indonesia juga berencana [meningkatkan pengawasan](wikipedia-dpi-indonesia.png#center) (_surveillance_) ke tingkat lebih lanjut hingga tahun 2030.
|
Tujuan dari **Deep Packet Inspection (DPI)** termasuk melakukan *filter* terhadap konten pornografi, ujaran kebencian dan meredakan tensi (misalnya di Papua 2019). Pemerintah Indonesia juga berencana [meningkatkan pengawasan](wikipedia-dpi-indonesia.png#center) (*surveillance*) ke tingkat lebih lanjut hingga tahun 2030.
|
||||||
|
|
||||||
### Makin Terbatasnya Akses Terhadap Informasi
|
### Makin Terbatasnya Akses Terhadap Informasi
|
||||||
|
Kedepannya, ~~Anda~~ kita akan mengalami kesulitan untuk mendapatkan informasi yang dianggap *"terlarang"* oleh pemerintah. Ingin melihat dan mencoba sendiri contoh nyata-nya? Coba gunakan mesin pencari asal China bernama [Baidu](https://www.baidu.com/) dan lakukan pencarian dengan kata kunci **"Tiananmen Square"**. Bandingkan hasil penelusuran dari **Baidu** dengan hasil pencarian mesin pencari lain.
|
||||||
|
|
||||||
Kedepannya, ~~Anda~~ kita akan mengalami kesulitan untuk mendapatkan informasi yang dianggap _"terlarang"_ oleh pemerintah. Ingin melihat dan mencoba sendiri contoh nyata-nya? Coba gunakan mesin pencari asal China bernama [Baidu](https://www.baidu.com/) dan lakukan pencarian dengan kata kunci **"Tiananmen Square"**. Bandingkan hasil penelusuran dari **Baidu** dengan hasil pencarian mesin pencari lain.
|
Saya sendiri sudah mengalaminya, meskipun tidak seperti dan separah di China sana, tetapi sangat merepotkan dan menyebalkan. Misalnya ketika saya mencoba melakukan pencarian mengenai *trouble* yang saya alami mengenai masalah **IT**, sering kali mesin pencarian mengeluarkan hasil pencarian dari **Reddit** dan solusi itu ada dan sudah didiskusikan disana. Namun untuk mengaksesnya saya harus melakukan koneksi **VPN** ke server saya yang berada di luar Indonesia terlebih dahulu sebelum masuk ke *link* hasil pencarian tersebut.
|
||||||
|
|
||||||
Saya sendiri sudah mengalaminya, meskipun tidak seperti dan separah di China sana, tetapi sangat merepotkan dan menyebalkan. Misalnya ketika saya mencoba melakukan pencarian mengenai _trouble_ yang saya alami mengenai masalah **IT**, sering kali mesin pencarian mengeluarkan hasil pencarian dari **Reddit** dan solusi itu ada dan sudah didiskusikan disana. Namun untuk mengaksesnya saya harus melakukan koneksi **VPN** ke server saya yang berada di luar Indonesia terlebih dahulu sebelum masuk ke _link_ hasil pencarian tersebut.
|
|
||||||
|
|
||||||
### Rusaknya Hak Asasi dan Turunnya Nilai-Nilai Demokrasi
|
### Rusaknya Hak Asasi dan Turunnya Nilai-Nilai Demokrasi
|
||||||
|
|
||||||
Pembatasan hak digital dapat merusak hak asasi manusia dan menurunkan nilai-nilai demokrasi. Contohnya pada awal tahun 2021, penduduk **desa Wadas** yang telah menolak proyek pertambangan batu Andesit (untuk keperluan proyek **Bendungan Bener**). Selama beberapa bulan kemudian, penduduk desa Wadas masih meluncurkan seri protes dan menggunakan media sosial untuk menggerakkan dukungan dan meningkatkan kesadaran. Namun, konektivitas internet mereka justru (diyakini) dibatasi oleh pihak berwajib sebagai respon terhadap protes warga pada Februari 2022.
|
Pembatasan hak digital dapat merusak hak asasi manusia dan menurunkan nilai-nilai demokrasi. Contohnya pada awal tahun 2021, penduduk **desa Wadas** yang telah menolak proyek pertambangan batu Andesit (untuk keperluan proyek **Bendungan Bener**). Selama beberapa bulan kemudian, penduduk desa Wadas masih meluncurkan seri protes dan menggunakan media sosial untuk menggerakkan dukungan dan meningkatkan kesadaran. Namun, konektivitas internet mereka justru (diyakini) dibatasi oleh pihak berwajib sebagai respon terhadap protes warga pada Februari 2022.
|
||||||
|
|
||||||
Penduduk Wadas melaporkan kesulitan dalam mengakses akun Twitter masing-masing pada minggu yang sama, walaupun belum jelas bagaimana pembatasan tersebut dilakukan. Siilahkan baca sendiri artikel dari DetiX berjudul [Derasnya Penindasan Hak Digital di Wadas](https://news.detik.com/x/detail/investigasi/20220221/Derasnya-Penindasan-Hak-Digital-di-Wadas/).
|
Penduduk Wadas melaporkan kesulitan dalam mengakses akun Twitter masing-masing pada minggu yang sama, walaupun belum jelas bagaimana pembatasan tersebut dilakukan. Siilahkan baca sendiri artikel dari DetiX berjudul [Derasnya Penindasan Hak Digital di Wadas](https://news.detik.com/x/detail/investigasi/20220221/Derasnya-Penindasan-Hak-Digital-di-Wadas/).
|
||||||
|
|
||||||
### _Chilling Effect_ / Efek Jera dan Matinya Kebebasan Berekspresi
|
### *Chilling Effect* / Efek Jera dan Matinya Kebebasan Berekspresi
|
||||||
|
Efek jera atau biasa dikenal sebagai [*Chilling Effect*](https://en.wikipedia.org/wiki/Chilling_effect) adalah sebuah konsep ketakutan masyarakat yang muncul karena hukum atau peraturan perundang-undangan yang ambigu (*EHEMMMMM... UUITE.. Ehemmmm.. Maaf tiba-tiba batuk*). Biasanya *chilling effect* berhubungan dengan peraturan yang terkait dengan pencemaran nama baik atau fitnah (*Ehemmmm... maaf batuk lagi..*).
|
||||||
|
|
||||||
Efek jera atau biasa dikenal sebagai [_Chilling Effect_](https://en.wikipedia.org/wiki/Chilling_effect) adalah sebuah konsep ketakutan masyarakat yang muncul karena hukum atau peraturan perundang-undangan yang ambigu (_EHEMMMMM... UUITE.. Ehemmmm.. Maaf tiba-tiba batuk_). Biasanya _chilling effect_ berhubungan dengan peraturan yang terkait dengan pencemaran nama baik atau fitnah (_Ehemmmm... maaf batuk lagi.._).
|
Selama 2018, [polisi menangkap 122 orang terkait ujaran kebencian di media sosial](https://nasional.kompas.com/read/2019/02/15/15471281/selama-2018-polisi-tangkap-122-orang-terkait-ujaran-kebencian-di-medsos). Disana, ada lima jenis kejahatan, mulai dari *hoaks*, berita bohong, berita palsu, penistaan agama, hingga pencemaran nama baik ungkap **Brigjen Pol. Rachmad Wibowo** yang saat itu menjabat sebagai **Direktur Tindak Pidana Siber Badan Reserse Kriminal Polri**.
|
||||||
|
|
||||||
Selama 2018, [polisi menangkap 122 orang terkait ujaran kebencian di media sosial](https://nasional.kompas.com/read/2019/02/15/15471281/selama-2018-polisi-tangkap-122-orang-terkait-ujaran-kebencian-di-medsos). Disana, ada lima jenis kejahatan, mulai dari _hoaks_, berita bohong, berita palsu, penistaan agama, hingga pencemaran nama baik ungkap **Brigjen Pol. Rachmad Wibowo** yang saat itu menjabat sebagai **Direktur Tindak Pidana Siber Badan Reserse Kriminal Polri**.
|
Kemudian di 2021, dengan *"diaktifkannya"* **Polisi Siber** akan makin membungkam kebebasan sipil itu sendiri, khususnya tekait kebebasan berekspresi. Hal tersebut disampaikan oleh Koordinator Komisi untuk Orang Hilang dan Tindak Kekerasan (**Kontras**), **Fatia Maulidiyanti**.
|
||||||
|
|
||||||
Kemudian di 2021, dengan _"diaktifkannya"_ **Polisi Siber** akan makin membungkam kebebasan sipil itu sendiri, khususnya tekait kebebasan berekspresi. Hal tersebut disampaikan oleh Koordinator Komisi untuk Orang Hilang dan Tindak Kekerasan (**Kontras**), **Fatia Maulidiyanti**.
|
Dan di bulan februari 2022, hasil survey dari **Indikator Politik Indonesia** menunjukan bahwa 62,9% (dengan metode *stratified random* dari 1.200 responden dengan *margin of error* sekitar 2,9%) responden menyatakan setuju dan sangat setuju bahwa [masyarakat saat ini semakin takut dalam mengeluarkan pendapat](https://nasional.tempo.co/read/1580168/survei-indikator-politik-indonesia-629-persen-rakyat-semakin-takut-berpendapat).
|
||||||
|
|
||||||
Dan di bulan februari 2022, hasil survey dari **Indikator Politik Indonesia** menunjukan bahwa 62,9% (dengan metode _stratified random_ dari 1.200 responden dengan _margin of error_ sekitar 2,9%) responden menyatakan setuju dan sangat setuju bahwa [masyarakat saat ini semakin takut dalam mengeluarkan pendapat](https://nasional.tempo.co/read/1580168/survei-indikator-politik-indonesia-629-persen-rakyat-semakin-takut-berpendapat).
|
|
||||||
|
|
||||||
> "_Sekarang Polisi Siber itu gampang sekali, kalau misalnya Anda mendapatkan berita yang mengerikan, lalu lapor ke polisi, dalam waktu sekian menit diketahui dapat dari siapa, dari mana, lalu ditemukan pelakunya lalu ditangkap." - **Mahfud MD**_
|
> "_Sekarang Polisi Siber itu gampang sekali, kalau misalnya Anda mendapatkan berita yang mengerikan, lalu lapor ke polisi, dalam waktu sekian menit diketahui dapat dari siapa, dari mana, lalu ditemukan pelakunya lalu ditangkap." - **Mahfud MD**_
|
||||||
|
|
||||||
### Privasi
|
### Privasi
|
||||||
|
Sebenarnya, privasi adalah hal pertama yang seharusnya saya sebut dari semua poin-poin ini. Tapi karena di Indonesia masyarakatnya masih tidak begitu perduli urusan privasi ya saya taruh di hampir akhir. *Lha wong* data **BSI** bocor aja yang paling banyak diributin duitnya, bukan kebocoran data pribadinya.
|
||||||
Sebenarnya, privasi adalah hal pertama yang seharusnya saya sebut dari semua poin-poin ini. Tapi karena di Indonesia masyarakatnya masih tidak begitu perduli urusan privasi ya saya taruh di hampir akhir. _Lha wong_ data **BSI** bocor aja yang paling banyak diributin duitnya, bukan kebocoran data pribadinya.
|
|
||||||
|
|
||||||
> _Tenang boss, duit itu pasti balik karena perbankan pasti punya rekap data dan backup, transaksi sesama bank maupun antar bank juga pasti tercatat. Yang rugi adalah waktu dan tenaga Anda saat layanan tersebut tidak bisa digunakan. Dan yang paling penting, data pribadi Anda yang nantinya diperjual belikan._
|
> _Tenang boss, duit itu pasti balik karena perbankan pasti punya rekap data dan backup, transaksi sesama bank maupun antar bank juga pasti tercatat. Yang rugi adalah waktu dan tenaga Anda saat layanan tersebut tidak bisa digunakan. Dan yang paling penting, data pribadi Anda yang nantinya diperjual belikan._
|
||||||
|
|
||||||
Kembali ke masalah privasi dan **Deep Packet Inspection (DPI)**, sebenarnya awal DPI dibuat oleh _engineer_ adalah untuk mengukur dan mengatur keamanan jaringan dan melindungi pengguna dan mencegah penyebaran _malware_. Tapi, dengan dimanfaatkan teknologi tersebut sebagai alat _surveillance_ akan sangat berdampak buruk pada privasi ~~Anda~~ kita. Selain itu, DPI juga dapat dimanfaatkan untuk mempelajari prilaku / _interest_ seorang individu maupun instansi dari aktifitas mereka di internet yang pada akhirnya dapat digunakan untuk _targeted (behavioral) marketing_.
|
Kembali ke masalah privasi dan **Deep Packet Inspection (DPI)**, sebenarnya awal DPI dibuat oleh *engineer* adalah untuk mengukur dan mengatur keamanan jaringan dan melindungi pengguna dan mencegah penyebaran *malware*. Tapi, dengan dimanfaatkan teknologi tersebut sebagai alat *surveillance* akan sangat berdampak buruk pada privasi ~~Anda~~ kita. Selain itu, DPI juga dapat dimanfaatkan untuk mempelajari prilaku / *interest* seorang individu maupun instansi dari aktifitas mereka di internet yang pada akhirnya dapat digunakan untuk *targeted (behavioral) marketing*.
|
||||||
|
|
||||||
Berbagai laporan telah mengaitkan pihak berwajib dengan pembelian dan penggunaan _spyware_ dan alat-alat _surveillance_ canggih lainnya. Misalnya, di tahun 2015, **Citizen Lab**; sebuah kelompok penelitian yang berbasis di **Toronto** [menduga bahwa pemerintah Indonesia pernah menggunakan _spyware_ **FinFisher**](https://citizenlab.ca/2015/10/mapping-finfishers-continuing-proliferation/) yang mengumpulkan data seperti audio **Skype**, _key log_, dan tangkapan layar.
|
Berbagai laporan telah mengaitkan pihak berwajib dengan pembelian dan penggunaan *spyware* dan alat-alat *surveillance* canggih lainnya. Misalnya, di tahun 2015, **Citizen Lab**; sebuah kelompok penelitian yang berbasis di **Toronto** [menduga bahwa pemerintah Indonesia pernah menggunakan *spyware* **FinFisher**](https://citizenlab.ca/2015/10/mapping-finfishers-continuing-proliferation/) yang mengumpulkan data seperti audio **Skype**, *key log*, dan tangkapan layar.
|
||||||
|
|
||||||
Di tahun 2016, [**Joseph Cox**](https://www.vice.com/en/contributor/joseph-cox) [mengungkap](https://www.vice.com/en/article/4xaq4m/the-uk-companies-exporting-interception-tech-around-the-world) bahwa _International Mobile Subscriber Identity-catchers_ ([**IMSI-catchers**](https://en.wikipedia.org/wiki/IMSI-catcher)) pernah dijual ke Indonesia dari perusahaan Swiss dan Inggris. **IMSI-catcher** adalah perangkat yang digunakan untuk menangkap (_intercept_) _traffic_ jaringan ponsel dan melakukan pelacakan lokasi kepada pengguna ponsel. Bisa dibilang, seperti sebuah _"BTS palsu"_ sebagai perantara antara ponsel milik pengguna ke BTS asli milik ISP.
|
Di tahun 2016, [**Joseph Cox**](https://www.vice.com/en/contributor/joseph-cox) [mengungkap](https://www.vice.com/en/article/4xaq4m/the-uk-companies-exporting-interception-tech-around-the-world) bahwa *International Mobile Subscriber Identity-catchers* ([**IMSI-catchers**](https://en.wikipedia.org/wiki/IMSI-catcher)) pernah dijual ke Indonesia dari perusahaan Swiss dan Inggris. **IMSI-catcher** adalah perangkat yang digunakan untuk menangkap (*intercept*) *traffic* jaringan ponsel dan melakukan pelacakan lokasi kepada pengguna ponsel. Bisa dibilang, seperti sebuah *"BTS palsu"* sebagai perantara antara ponsel milik pengguna ke BTS asli milik ISP.
|
||||||
|
|
||||||
Pada Desember 2021, **Citizen Lab**, menyatakan bahwa ada kemungkinan besar pemerintah Indonesia telah menjadi pelanggan **Cytrox** yang menjual **Predator** _spyware_. Selain itu, **Citizen Lab** juga melaporkan pada Desember 2020 bahwa Indonesia sangat mungkin pernah membeli teknologi dari [**Circles**](https://dimse.info/circles/), sebuah perusahaan yang menjual _exploit_ dari sistem selular global yang kemudian bergabung dengan [NSO group](https://www.nsogroup.com/). Metode yang dilakukan **Citizen Lab** untuk mengetahui hal tersebut adalah dengan melakukan _scanning & signature fingerprinting_ terhadap _checkpoint firewall_ pada perangkat **Circles** melalui layanan [Shodan](https://www.shodan.io/).
|
Pada Desember 2021, **Citizen Lab**, menyatakan bahwa ada kemungkinan besar pemerintah Indonesia telah menjadi pelanggan **Cytrox** yang menjual **Predator** *spyware*. Selain itu, **Citizen Lab** juga melaporkan pada Desember 2020 bahwa Indonesia sangat mungkin pernah membeli teknologi dari [**Circles**](https://dimse.info/circles/), sebuah perusahaan yang menjual *exploit* dari sistem selular global yang kemudian bergabung dengan [NSO group](https://www.nsogroup.com/). Metode yang dilakukan **Citizen Lab** untuk mengetahui hal tersebut adalah dengan melakukan *scanning & signature fingerprinting* terhadap *checkpoint firewall* pada perangkat **Circles** melalui layanan [Shodan](https://www.shodan.io/).
|
||||||
|
|
||||||
### Dampak Terhadap Perekonomian
|
### Dampak Terhadap Perekonomian
|
||||||
|
Dari yang saya amati sampai saat ini, implementasi **TCP-RST attack** masih ada di beberapa *upstream provider* saja. Namun jika hal ini ini terus dilakukan dan diimplementasikan di seluruh *checkpoint* yang keluar dari Indonesia, maka akan berdampak pada minat beli dan investasi ke *Cloud Provider* / *Datacenter* yang berlokasi di Indonesia.
|
||||||
|
|
||||||
Dari yang saya amati sampai saat ini, implementasi **TCP-RST attack** masih ada di beberapa _upstream provider_ saja. Namun jika hal ini ini terus dilakukan dan diimplementasikan di seluruh _checkpoint_ yang keluar dari Indonesia, maka akan berdampak pada minat beli dan investasi ke _Cloud Provider_ / _Datacenter_ yang berlokasi di Indonesia.
|
Siapa yang mau jika tiba-tiba *microservices*-nya tidak berfungsi karena **TCP-RST attack** tersebut? Saya sendiri mulai memindahkan VPS-VPS saya ke luar Indonesia karena menurut saya, infrastruktur *server* / *cloud* seharusnya tidak (secara tiba-tiba) dibatasi (tanpa pemberitahuan sebelumnya) untuk mengakses data yang sudah tersedia di *public* / *public API*.
|
||||||
|
|
||||||
Siapa yang mau jika tiba-tiba _microservices_-nya tidak berfungsi karena **TCP-RST attack** tersebut? Saya sendiri mulai memindahkan VPS-VPS saya ke luar Indonesia karena menurut saya, infrastruktur _server_ / _cloud_ seharusnya tidak (secara tiba-tiba) dibatasi (tanpa pemberitahuan sebelumnya) untuk mengakses data yang sudah tersedia di _public_ / _public API_.
|
|
||||||
|
|
||||||
![Moving to AWS](moving-to-aws.png#center)
|
![Moving to AWS](moving-to-aws.png#center)
|
||||||
|
|
||||||
## Menghindari sensor
|
## Menghindari sensor
|
||||||
|
Untuk melakukan *bypass* pemblokiran yang berbasis **DNS** seperti **DNS spoofing**, **DNS filtering** dan **DNS redirect**; mengajari orang *awam* memanfaatkan **DNS-over-HTTPS (DoH)** masih cukup mudah. Tetapi untuk melakukan *bypass* DPI dan **TCP RST attack**, saya rasa akan sangat sulit dan mustahil dilakukan oleh mayoritas orang awam (secara teknologi) di Indonesia.
|
||||||
|
|
||||||
Untuk melakukan _bypass_ pemblokiran yang berbasis **DNS** seperti **DNS spoofing**, **DNS filtering** dan **DNS redirect**; mengajari orang _awam_ memanfaatkan **DNS-over-HTTPS (DoH)** masih cukup mudah. Tetapi untuk melakukan _bypass_ DPI dan **TCP RST attack**, saya rasa akan sangat sulit dan mustahil dilakukan oleh mayoritas orang awam (secara teknologi) di Indonesia.
|
Salah satu cara adalah menggunakan *tunnel* ke *server* yang berada diluar Indonesia, entah itu **VPN** atau **SOCKS5 proxy**. Itu pun pemerintah dan ISP yang Anda gunakan akan tetap tahu bahwa Anda menggunakan **Proxy** / **VPN**. Bedanya mereka hanya tahu Anda melakukan koneksi VPN / Proxy server dan dimana VPN / Proxy server tersebut berada. Selebihnya mereka tidak tahu (hanya Anda, VPN / Server / Proxy *provider* yang tahu *service* dan *host** mana Anda berkomunikasi).
|
||||||
|
|
||||||
Salah satu cara adalah menggunakan _tunnel_ ke _server_ yang berada diluar Indonesia, entah itu **VPN** atau **SOCKS5 proxy**. Itu pun pemerintah dan ISP yang Anda gunakan akan tetap tahu bahwa Anda menggunakan **Proxy** / **VPN**. Bedanya mereka hanya tahu Anda melakukan koneksi VPN / Proxy server dan dimana VPN / Proxy server tersebut berada. Selebihnya mereka tidak tahu (hanya Anda, VPN / Server / Proxy _provider_ yang tahu _service_ dan \*host\*\* mana Anda berkomunikasi).
|
Jika Anda benar-benar *concern* terhadap privasi, pemilihan **VPN provider** juga harus dilakukan dengan riset yang cukup rumit. Banyak sekali aplikasi di **App Store** yang menawarkan **VPN gratis**, tetapi tidak sedikit **VPN provider** yang pada akhirnya mengolah dan menjual data Anda.
|
||||||
|
|
||||||
Jika Anda benar-benar _concern_ terhadap privasi, pemilihan **VPN provider** juga harus dilakukan dengan riset yang cukup rumit. Banyak sekali aplikasi di **App Store** yang menawarkan **VPN gratis**, tetapi tidak sedikit **VPN provider** yang pada akhirnya mengolah dan menjual data Anda.
|
|
||||||
|
|
||||||
Kita juga berharap bahwa teknologi **QUIC/HTTP3** segera masuk ke babak baru yang **"mungkin"** akan sedikit membantu mengurangi dampak **TCP RST attack**.
|
Kita juga berharap bahwa teknologi **QUIC/HTTP3** segera masuk ke babak baru yang **"mungkin"** akan sedikit membantu mengurangi dampak **TCP RST attack**.
|
||||||
|
|
||||||
## Sumber dan Referensi
|
## Sumber dan Referensi
|
||||||
|
|
||||||
- "[Indonesia: Freedom on the Net 2022 Country Report](https://freedomhouse.org/country/indonesia/freedom-net/2022)" - freedomhouse.org.
|
- "[Indonesia: Freedom on the Net 2022 Country Report](https://freedomhouse.org/country/indonesia/freedom-net/2022)" - freedomhouse.org.
|
||||||
- "[State of Privacy Indonesia](https://privacyinternational.org/state-privacy/1003/state-privacy-indonesia)" - privacyinternational.org.
|
- "[State of Privacy Indonesia](https://privacyinternational.org/state-privacy/1003/state-privacy-indonesia)" - privacyinternational.org.
|
||||||
- NetBlocks. 2019b: "[Internet disrupted in Papua, Indonesia amid protests and calls for independence](https://netblocks.org/reports/internet-disrupted-in-papua-indonesia-amid-mass-protests-and-calls-for-independence-eBOgrDBZ)" - netblocks.org.
|
- NetBlocks. 2019b: "[Internet disrupted in Papua, Indonesia amid protests and calls for independence](https://netblocks.org/reports/internet-disrupted-in-papua-indonesia-amid-mass-protests-and-calls-for-independence-eBOgrDBZ)" - netblocks.org.
|
||||||
- Thompson, Nik; McGill, Tanya; and Vero Khristianto, Daniel, "[Public Acceptance of Internet Censorship in Indonesia](https://aisel.aisnet.org/acis2021/22)" (2021). ACIS 2021 Proceedings. 22.
|
- Thompson, Nik; McGill, Tanya; and Vero Khristianto, Daniel, "[Public Acceptance of Internet Censorship in Indonesia](https://aisel.aisnet.org/acis2021/22)" (2021). ACIS 2021 Proceedings. 22.
|
||||||
- Wildana, F. (2021) "[An Explorative Study on Social Media Blocking in Indonesia](https://journal.unesa.ac.id/index.php/jsm/article/view/12976)", The Journal of Society and Media, 5(2), pp. 456–484. doi: 10.26740/jsm.v5n2.p456-484.
|
- Wildana, F. (2021) "[An Explorative Study on Social Media Blocking in Indonesia](https://journal.unesa.ac.id/index.php/jsm/article/view/12976)", The Journal of Society and Media, 5(2), pp. 456–484. doi: 10.26740/jsm.v5n2.p456-484.
|
||||||
- Paterson, Thomas (4 May 2019). "[Indonesian cyberspace expansion: a double-edged sword](https://doi.org/10.1080%2F23738871.2019.1627476)". _Journal of Cyber Policy_. 4 (2): 216–234. doi:10.1080/23738871.2019.1627476. ISSN 2373-8871. S2CID 197825581.
|
- Paterson, Thomas (4 May 2019). "[Indonesian cyberspace expansion: a double-edged sword](https://doi.org/10.1080%2F23738871.2019.1627476)". *Journal of Cyber Policy*. 4 (2): 216–234. doi:10.1080/23738871.2019.1627476. ISSN 2373-8871. S2CID 197825581.
|
||||||
- Bill Marczak, John Scott-Railton, Bahr Abdul Razzak, Noura Al-Jizawi, Siena Anstis, Kristin Berdan, and Ron Deibert, "[Pegasus vs. Predator: Dissident’s Doubly-Infected iPhone Reveals Cytrox Mercenary Spyware](https://citizenlab.ca/2021/12/pegasus-vs-predator-dissidents-doubly-infected-iphone-reveals-cytrox-mercenary-spyware/)" - citizenlab.ca.
|
- Bill Marczak, John Scott-Railton, Bahr Abdul Razzak, Noura Al-Jizawi, Siena Anstis, Kristin Berdan, and Ron Deibert, "[Pegasus vs. Predator: Dissident’s Doubly-Infected iPhone Reveals Cytrox Mercenary Spyware](https://citizenlab.ca/2021/12/pegasus-vs-predator-dissidents-doubly-infected-iphone-reveals-cytrox-mercenary-spyware/)" - citizenlab.ca.
|
||||||
- Bill Marczak, John Scott-Railton, Siddharth Prakash Rao, Siena Anstis, and Ron Deibert, "[Running in Circles
|
- Bill Marczak, John Scott-Railton, Siddharth Prakash Rao, Siena Anstis, and Ron Deibert, "[Running in Circles
|
||||||
Uncovering the Clients of Cyberespionage Firm Circles](https://citizenlab.ca/2020/12/running-in-circles-uncovering-the-clients-of-cyberespionage-firm-circles/)" - citizenlab.ca.
|
Uncovering the Clients of Cyberespionage Firm Circles](https://citizenlab.ca/2020/12/running-in-circles-uncovering-the-clients-of-cyberespionage-firm-circles/)" - citizenlab.ca.
|
||||||
- Bill Marczak, John Scott-Railton, Adam Senft, Irene Poetranto, and Sarah McKune, "[Pay No Attention to the Server Behind the Proxy](https://citizenlab.ca/2015/10/mapping-finfishers-continuing-proliferation/)", Mapping FinFisher’s Continuing Proliferation - citizenlab.ca.
|
- Bill Marczak, John Scott-Railton, Adam Senft, Irene Poetranto, and Sarah McKune, "[Pay No Attention to the Server Behind the Proxy](https://citizenlab.ca/2015/10/mapping-finfishers-continuing-proliferation/)", Mapping FinFisher’s Continuing Proliferation - citizenlab.ca.
|
||||||
- Joseph Cox, "[British Companies Are Selling Advanced Spy Tech to Authoritarian Regimes](https://www.vice.com/en/article/4xaq4m/the-uk-companies-exporting-interception-tech-around-the-world)" - vice.com.
|
- Joseph Cox, "[British Companies Are Selling Advanced Spy Tech to Authoritarian Regimes](https://www.vice.com/en/article/4xaq4m/the-uk-companies-exporting-interception-tech-around-the-world)" - vice.com.
|
||||||
- Thomas Brewster, "[A Multimillionaire Surveillance Dealer Steps Out Of The Shadows and His $9 Million WhatsApp Hacking Van](https://www.forbes.com/sites/thomasbrewster/2019/08/05/a-multimillionaire-surveillance-dealer-steps-out-of-the-shadows-and-his-9-million-whatsapp-hacking-van/)" - forbes.com.
|
- Thomas Brewster, "[A Multimillionaire Surveillance Dealer Steps Out Of The Shadows and His $9 Million WhatsApp Hacking Van](https://www.forbes.com/sites/thomasbrewster/2019/08/05/a-multimillionaire-surveillance-dealer-steps-out-of-the-shadows-and-his-9-million-whatsapp-hacking-van/)" - forbes.com.
|
||||||
- Moh. Khory Alfarizi, Febriyan, "[Survei Indikator Politik Indonesia: 62,9 Persen Rakyat Semakin Takut Berpendapat](https://nasional.tempo.co/read/1580168/survei-indikator-politik-indonesia-629-persen-rakyat-semakin-takut-berpendapat)" - tempo.co .
|
- Moh. Khory Alfarizi, Febriyan, "[Survei Indikator Politik Indonesia: 62,9 Persen Rakyat Semakin Takut Berpendapat](https://nasional.tempo.co/read/1580168/survei-indikator-politik-indonesia-629-persen-rakyat-semakin-takut-berpendapat)" - tempo.co .
|
||||||
- Abba Gabrillin, Krisiandi, "[Selama 2018, Polisi Tangkap 122 Orang Terkait Ujaran Kebencian di Medsos](https://nasional.kompas.com/read/2019/02/15/15471281/selama-2018-polisi-tangkap-122-orang-terkait-ujaran-kebencian-di-medsos)" - kompas.com.
|
- Abba Gabrillin, Krisiandi, "[Selama 2018, Polisi Tangkap 122 Orang Terkait Ujaran Kebencian di Medsos](https://nasional.kompas.com/read/2019/02/15/15471281/selama-2018-polisi-tangkap-122-orang-terkait-ujaran-kebencian-di-medsos)" - kompas.com.
|
||||||
- Tsarina Maharani, Dani Prabowo "[Kontras: Polisi Siber yang Akan Diaktifkan Pemerintah Berpotensi Bungkam Kebebasan Berekspresi](https://nasional.kompas.com/read/2020/12/28/14074121/kontras-polisi-siber-yang-akan-diaktifkan-pemerintah-berpotensi-bungkam)" - kompas.com.
|
- Tsarina Maharani, Dani Prabowo "[Kontras: Polisi Siber yang Akan Diaktifkan Pemerintah Berpotensi Bungkam Kebebasan Berekspresi](https://nasional.kompas.com/read/2020/12/28/14074121/kontras-polisi-siber-yang-akan-diaktifkan-pemerintah-berpotensi-bungkam)" - kompas.com.
|
||||||
|
|
||||||
|
|
71
go.mod
|
@ -1,96 +1,43 @@
|
||||||
module github.com/ditatompel/insights
|
module github.com/ditatompel/insights
|
||||||
|
|
||||||
go 1.21.3
|
go 1.19
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/GoogleChrome/workbox v7.1.0+incompatible // indirect
|
github.com/GoogleChrome/workbox v7.1.0+incompatible // indirect
|
||||||
github.com/KaTeX/KaTeX v0.16.10 // indirect
|
github.com/KaTeX/KaTeX v0.16.10 // indirect
|
||||||
github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20200 // indirect
|
github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20200 // indirect
|
||||||
github.com/gohugoio/hugo-mod-jslibs-dist/popperjs/v2 v2.21100.20000 // indirect
|
|
||||||
github.com/hbstack/back-to-top v0.2.0 // indirect
|
|
||||||
github.com/hbstack/base v0.6.0 // indirect
|
github.com/hbstack/base v0.6.0 // indirect
|
||||||
github.com/hbstack/bigger-picture v0.10.1 // indirect
|
|
||||||
github.com/hbstack/blog v0.35.1 // indirect
|
|
||||||
github.com/hbstack/blog/modules/breadcrumb v0.1.23 // indirect
|
|
||||||
github.com/hbstack/blog/modules/content-panel v0.1.21 // indirect
|
github.com/hbstack/blog/modules/content-panel v0.1.21 // indirect
|
||||||
github.com/hbstack/blog/modules/featured-image v0.2.21 // indirect
|
github.com/hbstack/blog/modules/giscus v0.1.23 // indirect
|
||||||
github.com/hbstack/blog/modules/heading-sign v0.1.23 // indirect
|
github.com/hbstack/blog/modules/toc-scrollspy v0.1.20 // indirect
|
||||||
github.com/hbstack/blog/modules/post-nav v0.4.0 // indirect
|
|
||||||
github.com/hbstack/blog/modules/related-posts v0.4.0 // indirect
|
|
||||||
github.com/hbstack/blog/modules/toc-scrollspy v0.2.0 // indirect
|
|
||||||
github.com/hbstack/bootstrap v0.2.2 // indirect
|
|
||||||
github.com/hbstack/breadcrumb v0.7.1 // indirect
|
|
||||||
github.com/hbstack/carousel v0.2.5 // indirect
|
github.com/hbstack/carousel v0.2.5 // indirect
|
||||||
github.com/hbstack/code-block-panel v0.1.2 // indirect
|
github.com/hbstack/docs/modules/content-panel v0.1.8 // indirect
|
||||||
github.com/hbstack/content-panel v0.10.1 // indirect
|
|
||||||
github.com/hbstack/docs v0.17.2 // indirect
|
|
||||||
github.com/hbstack/docs/modules/breadcrumb v0.1.10 // indirect
|
|
||||||
github.com/hbstack/docs/modules/doc-nav v0.3.7 // indirect
|
|
||||||
github.com/hbstack/docs/modules/featured-image v0.2.8 // indirect
|
|
||||||
github.com/hbstack/docs/modules/giscus v0.1.10 // indirect
|
github.com/hbstack/docs/modules/giscus v0.1.10 // indirect
|
||||||
github.com/hbstack/docs/modules/heading-sign v0.1.9 // indirect
|
github.com/hbstack/docs/modules/toc-scrollspy v0.1.7 // indirect
|
||||||
github.com/hbstack/featured-image v0.2.1 // indirect
|
github.com/hbstack/featured-image v0.2.1 // indirect
|
||||||
github.com/hbstack/footer v0.4.1 // indirect
|
|
||||||
github.com/hbstack/footer/modules/socials v0.3.0 // indirect
|
|
||||||
github.com/hbstack/gallery v0.13.0 // indirect
|
github.com/hbstack/gallery v0.13.0 // indirect
|
||||||
github.com/hbstack/gallery/modules/breadcrumb v0.1.1 // indirect
|
github.com/hbstack/gallery/modules/breadcrumb v0.1.0 // indirect
|
||||||
github.com/hbstack/giscus v0.1.1 // indirect
|
|
||||||
github.com/hbstack/hb v0.12.2 // indirect
|
|
||||||
github.com/hbstack/header v0.14.5 // indirect
|
|
||||||
github.com/hbstack/header/modules/language-picker v0.1.25 // indirect
|
|
||||||
github.com/hbstack/header/modules/search v0.1.36 // indirect
|
|
||||||
github.com/hbstack/header/modules/socials v0.2.0 // indirect
|
|
||||||
github.com/hbstack/header/modules/theme-toggle v0.5.1 // indirect
|
|
||||||
github.com/hbstack/heading-sign v0.2.0 // indirect
|
github.com/hbstack/heading-sign v0.2.0 // indirect
|
||||||
github.com/hbstack/mermaid v0.2.2 // indirect
|
|
||||||
github.com/hbstack/meta/recommended v0.2.10 // indirect
|
github.com/hbstack/meta/recommended v0.2.10 // indirect
|
||||||
github.com/hbstack/noscript v0.7.0 // indirect
|
|
||||||
github.com/hbstack/pagination v0.8.0 // indirect
|
github.com/hbstack/pagination v0.8.0 // indirect
|
||||||
github.com/hbstack/progress-bar v0.1.0 // indirect
|
|
||||||
github.com/hbstack/pwa v0.1.2 // indirect
|
|
||||||
github.com/hbstack/scrollbar v0.1.0 // indirect
|
|
||||||
github.com/hbstack/search v0.2.2 // indirect
|
|
||||||
github.com/hbstack/slide v0.4.0 // indirect
|
|
||||||
github.com/hbstack/snackbar v0.1.2 // indirect
|
github.com/hbstack/snackbar v0.1.2 // indirect
|
||||||
github.com/hbstack/socials v0.15.0 // indirect
|
github.com/hbstack/socials v0.15.0 // indirect
|
||||||
github.com/hbstack/syntax-highlighting v0.2.0 // indirect
|
|
||||||
github.com/hbstack/syntax-highlighting/styles/gruvbox v0.1.1 // indirect
|
|
||||||
github.com/hbstack/toc-scrollspy v0.1.0 // indirect
|
|
||||||
github.com/henrygd/bigger-picture v1.1.16 // indirect
|
github.com/henrygd/bigger-picture v1.1.16 // indirect
|
||||||
github.com/hugomods/ascii v0.1.0 // indirect
|
github.com/hugomods/ascii v0.1.0 // indirect
|
||||||
github.com/hugomods/base v0.7.0 // indirect
|
github.com/hugomods/base v0.7.0 // indirect
|
||||||
github.com/hugomods/bootstrap v0.22.2 // indirect
|
github.com/hugomods/bootstrap v0.22.0 // indirect
|
||||||
github.com/hugomods/code-block-panel v0.7.0 // indirect
|
github.com/hugomods/code-block-panel v0.6.0 // indirect
|
||||||
github.com/hugomods/font-awesome v6.5.2+incompatible // indirect
|
|
||||||
github.com/hugomods/fuse-js v0.1.0 // indirect
|
|
||||||
github.com/hugomods/giscus v0.1.1 // indirect
|
github.com/hugomods/giscus v0.1.1 // indirect
|
||||||
github.com/hugomods/google-adsense v0.1.0 // indirect
|
github.com/hugomods/google-adsense v0.1.0 // indirect
|
||||||
github.com/hugomods/gravatar v0.2.0 // indirect
|
github.com/hugomods/gravatar v0.2.0 // indirect
|
||||||
github.com/hugomods/hugopress v0.4.0 // indirect
|
github.com/hugomods/hugopress v0.4.0 // indirect
|
||||||
github.com/hugomods/i18n-js v0.2.1 // indirect
|
|
||||||
github.com/hugomods/icons v0.6.3 // indirect
|
|
||||||
github.com/hugomods/icons/vendors/bootstrap v0.5.6 // indirect
|
github.com/hugomods/icons/vendors/bootstrap v0.5.6 // indirect
|
||||||
github.com/hugomods/icons/vendors/font-awesome v0.6.6 // indirect
|
github.com/hugomods/icons/vendors/font-awesome v0.6.6 // indirect
|
||||||
github.com/hugomods/icons/vendors/simple-icons v1.0.40 // indirect
|
|
||||||
github.com/hugomods/idb-js v0.1.0 // indirect
|
github.com/hugomods/idb-js v0.1.0 // indirect
|
||||||
github.com/hugomods/images v0.10.1 // indirect
|
github.com/hugomods/images v0.10.1 // indirect
|
||||||
github.com/hugomods/katex v0.3.1 // indirect
|
|
||||||
github.com/hugomods/mermaid v0.1.1 // indirect
|
github.com/hugomods/mermaid v0.1.1 // indirect
|
||||||
github.com/hugomods/pwa v0.9.0 // indirect
|
github.com/hugomods/pwa v0.9.0 // indirect
|
||||||
github.com/hugomods/search v0.14.0 // indirect
|
github.com/hugomods/search v0.13.4 // indirect
|
||||||
github.com/hugomods/seo/modules/alternatives v0.1.0 // indirect
|
|
||||||
github.com/hugomods/seo/modules/base v0.1.2 // indirect
|
|
||||||
github.com/hugomods/seo/modules/favicons v0.2.1 // indirect
|
|
||||||
github.com/hugomods/seo/modules/open-graph v0.1.0 // indirect
|
|
||||||
github.com/hugomods/seo/modules/schema v0.1.2 // indirect
|
|
||||||
github.com/hugomods/seo/modules/translations v0.1.0 // indirect
|
|
||||||
github.com/hugomods/seo/modules/twitter-cards v0.1.0 // indirect
|
|
||||||
github.com/hugomods/shortcodes v0.21.0 // indirect
|
|
||||||
github.com/hugomods/simple-icons v12.1.0+incompatible // indirect
|
github.com/hugomods/simple-icons v12.1.0+incompatible // indirect
|
||||||
github.com/hugomods/snackbar v0.1.2 // indirect
|
|
||||||
github.com/hugomods/workbox v0.1.0 // indirect
|
|
||||||
github.com/jakearchibald/idb v8.0.0+incompatible // indirect
|
|
||||||
github.com/krisk/Fuse v7.0.0+incompatible // indirect
|
github.com/krisk/Fuse v7.0.0+incompatible // indirect
|
||||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
|
||||||
github.com/twbs/icons v1.11.3 // indirect
|
|
||||||
)
|
)
|
||||||
|
|
251
go.sum
|
@ -1,181 +1,174 @@
|
||||||
|
github.com/GoogleChrome/workbox v7.0.0+incompatible h1:/bqYzSkS1O9leTJ8kT0v9d61ANMJKt+GemdhmcaSB9c=
|
||||||
|
github.com/GoogleChrome/workbox v7.0.0+incompatible/go.mod h1:dyEoGLpJeO43pUVJb+nNNr1WRgoF81hNEl4UGLV+yow=
|
||||||
github.com/GoogleChrome/workbox v7.1.0+incompatible h1:xy3Z0rMQTqBiAz2HiLMZH8DjamG7nriortPNgtWH7AY=
|
github.com/GoogleChrome/workbox v7.1.0+incompatible h1:xy3Z0rMQTqBiAz2HiLMZH8DjamG7nriortPNgtWH7AY=
|
||||||
github.com/GoogleChrome/workbox v7.1.0+incompatible/go.mod h1:dyEoGLpJeO43pUVJb+nNNr1WRgoF81hNEl4UGLV+yow=
|
github.com/GoogleChrome/workbox v7.1.0+incompatible/go.mod h1:dyEoGLpJeO43pUVJb+nNNr1WRgoF81hNEl4UGLV+yow=
|
||||||
|
github.com/KaTeX/KaTeX v0.16.9 h1:4VYWM2nMSCfOPi63mTRJYQs0UmZPGTx3noiQ/vJu9Rk=
|
||||||
|
github.com/KaTeX/KaTeX v0.16.9/go.mod h1:VI+aE+CVs/VqtbHnuhstfQST46GmrwpXH7LQAzYIouw=
|
||||||
github.com/KaTeX/KaTeX v0.16.10 h1:Q7Zw1aTBezZ0y7zYkipTq9Z+Gkkohyk7xBaiZKO8yZs=
|
github.com/KaTeX/KaTeX v0.16.10 h1:Q7Zw1aTBezZ0y7zYkipTq9Z+Gkkohyk7xBaiZKO8yZs=
|
||||||
github.com/KaTeX/KaTeX v0.16.10/go.mod h1:VI+aE+CVs/VqtbHnuhstfQST46GmrwpXH7LQAzYIouw=
|
github.com/KaTeX/KaTeX v0.16.10/go.mod h1:VI+aE+CVs/VqtbHnuhstfQST46GmrwpXH7LQAzYIouw=
|
||||||
github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20200 h1:SmpwwN3DNzJWbV+IT8gaFu07ENUFpCvKou5BHYUKuVs=
|
github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20200 h1:SmpwwN3DNzJWbV+IT8gaFu07ENUFpCvKou5BHYUKuVs=
|
||||||
github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20200/go.mod h1:kx8MBj9T7SFR8ZClWvKZPmmUxBaltkoXvnWlZZcSnYA=
|
github.com/gohugoio/hugo-mod-bootstrap-scss/v5 v5.20300.20200/go.mod h1:kx8MBj9T7SFR8ZClWvKZPmmUxBaltkoXvnWlZZcSnYA=
|
||||||
github.com/gohugoio/hugo-mod-jslibs-dist/popperjs/v2 v2.21100.20000 h1:GZxx4Hc+yb0/t3/rau1j8XlAxLE4CyXns2fqQbyqWfs=
|
|
||||||
github.com/gohugoio/hugo-mod-jslibs-dist/popperjs/v2 v2.21100.20000/go.mod h1:mFberT6ZtcchrsDtfvJM7aAH2bDKLdOnruUHl0hlapI=
|
github.com/gohugoio/hugo-mod-jslibs-dist/popperjs/v2 v2.21100.20000/go.mod h1:mFberT6ZtcchrsDtfvJM7aAH2bDKLdOnruUHl0hlapI=
|
||||||
github.com/hbstack/back-to-top v0.2.0 h1:oVGYYL34PL4OX2O725YmRL9kHjZuxBuyT33/ZG1Zze0=
|
github.com/hbstack/base v0.4.1 h1:rRmnQonYwixoo/MzDAGOH5S1aIB6/ArPRueRDil0cnc=
|
||||||
github.com/hbstack/back-to-top v0.2.0/go.mod h1:lVnZhVZ8pabJJ/M27APUyayelJO5yr9jkwsVnxk1O4k=
|
github.com/hbstack/base v0.4.1/go.mod h1:ihI8NSFogNNXLpt7vWEYTGgSWE9UvgnfyFKJqmyOauU=
|
||||||
github.com/hbstack/base v0.6.0 h1:kIMI5C7X1aTWffKnG9N5Db20O6DhjyztN5yAPIFFDbY=
|
github.com/hbstack/base v0.4.2 h1:fGJ3McmCNcbnT5r2jGFfxsaGAQb8QbOaWZMvghSVRPA=
|
||||||
|
github.com/hbstack/base v0.4.2/go.mod h1:TimBDf5axaS0vfBwKOo4+NMGO4Qy5G7P8s909I/nd2o=
|
||||||
|
github.com/hbstack/base v0.4.3/go.mod h1:J5A7oLAuKGyUU3SPhvwhZ9kWvVBRjWyWIANgR+6fppg=
|
||||||
|
github.com/hbstack/base v0.4.4/go.mod h1:oSKOFOxBtKd2zHjWq68SaF+zgtrNar9icGmRxDGPT0M=
|
||||||
|
github.com/hbstack/base v0.4.5/go.mod h1:03s6ySDgFTfhIKUc8y1C7xEp8eCtRp0NfYNY57myd1g=
|
||||||
|
github.com/hbstack/base v0.4.6 h1:RP8J+c9XzmQ57jWLSP51lBfXFQK/O5n1/UNHMPnuEY4=
|
||||||
|
github.com/hbstack/base v0.4.6/go.mod h1:+kxOsRxZqtZG4BF9Vmk8APlSSez95515EQqoz0xPK7M=
|
||||||
|
github.com/hbstack/base v0.5.0 h1:loZ6amGhRW0fGJqa7d5n8yJSXvOk+3HzDbYOCcR1Zss=
|
||||||
|
github.com/hbstack/base v0.5.0/go.mod h1:4A2bxdXMjpj4HSEnugN7hlFECiap4zUX56jOqtu4YPY=
|
||||||
|
github.com/hbstack/base v0.5.1 h1:E3I05k9LG6ZhkXHkDJt+SIhr0AGH1RpI5+oeoj3mgHg=
|
||||||
|
github.com/hbstack/base v0.5.1/go.mod h1:4A2bxdXMjpj4HSEnugN7hlFECiap4zUX56jOqtu4YPY=
|
||||||
|
github.com/hbstack/base v0.5.2/go.mod h1:4A2bxdXMjpj4HSEnugN7hlFECiap4zUX56jOqtu4YPY=
|
||||||
github.com/hbstack/base v0.6.0/go.mod h1:4A2bxdXMjpj4HSEnugN7hlFECiap4zUX56jOqtu4YPY=
|
github.com/hbstack/base v0.6.0/go.mod h1:4A2bxdXMjpj4HSEnugN7hlFECiap4zUX56jOqtu4YPY=
|
||||||
github.com/hbstack/bigger-picture v0.10.1 h1:EgUYZgSGhl4KwKVqryf6ncB2QY4YYgOqTpDW6+5tq14=
|
|
||||||
github.com/hbstack/bigger-picture v0.10.1/go.mod h1:wZpRrOlTFrt2lO3tl9Y7cIAJbAJN1MdvRu0UsbCnkaE=
|
|
||||||
github.com/hbstack/blog v0.35.1 h1:2fHcVrZwMuJI6sD1WgvInWfTkakIwpf4SGXxiNd0sKo=
|
|
||||||
github.com/hbstack/blog v0.35.1/go.mod h1:/A1EQoCCs9zlcn7dWecP0YMUmH2n1juv3DO4e/mfQ+o=
|
|
||||||
github.com/hbstack/blog/modules/breadcrumb v0.1.23 h1:MgUR88vv4cs/M1/cVBKUInFw3DcRw0W2AlmmcdhxewY=
|
|
||||||
github.com/hbstack/blog/modules/breadcrumb v0.1.23/go.mod h1:smQySqXDtUv2pP7bb+XBr+QGNFxhDGN0fLmQkOIWa5g=
|
|
||||||
github.com/hbstack/blog/modules/content-panel v0.1.21 h1:g43IVjn3O6QCQSvCbgr9iYCgZcI5XG8YAiuVPb269Ok=
|
github.com/hbstack/blog/modules/content-panel v0.1.21 h1:g43IVjn3O6QCQSvCbgr9iYCgZcI5XG8YAiuVPb269Ok=
|
||||||
github.com/hbstack/blog/modules/content-panel v0.1.21/go.mod h1:fVnvVtnfo3R78jnGLgckfC43j7rYMMN+l1PhU9E6Jas=
|
github.com/hbstack/blog/modules/content-panel v0.1.21/go.mod h1:fVnvVtnfo3R78jnGLgckfC43j7rYMMN+l1PhU9E6Jas=
|
||||||
github.com/hbstack/blog/modules/featured-image v0.2.21 h1:G4nwll995EsnEAJOBUKJMjH12HtJ0YFPL0nH8m7qneI=
|
github.com/hbstack/blog/modules/giscus v0.1.23 h1:k70d91K6mU6LJGhXYh1Mrpk+MFFrxwTOGyCVWHWHgbo=
|
||||||
github.com/hbstack/blog/modules/featured-image v0.2.21/go.mod h1:+gxtGAEh7aXDDKQA0wWzdi9HPLcqCSRtRp63F+NN8QU=
|
github.com/hbstack/blog/modules/giscus v0.1.23/go.mod h1:oWy++0xYLRWvAuszra5zyFNpepgWG43HINvZvpcwBeg=
|
||||||
github.com/hbstack/blog/modules/heading-sign v0.1.23 h1:Z6QZvCKER/O3Y0eXQtRtkICEzYllFZW0m5fkT5OXrTE=
|
github.com/hbstack/blog/modules/toc-scrollspy v0.1.20 h1:DnN7Vl7rvsl5pPRpwcMkW9hQgCaO7mASLd778VLQOHI=
|
||||||
github.com/hbstack/blog/modules/heading-sign v0.1.23/go.mod h1:fBpZ5ifaLbAVClB/cXGQCD45wFc7bU/GBuNyTwTMjJ8=
|
github.com/hbstack/blog/modules/toc-scrollspy v0.1.20/go.mod h1:Ord7TP0ZP4C+l6a83oEAvPyTOnnGsmrIC26MTJaKYmI=
|
||||||
github.com/hbstack/blog/modules/post-nav v0.4.0 h1:oc90hYrFTQXXAgbi73xeaD+BxYjDwCvpCAxKJRDx4UE=
|
github.com/hbstack/carousel v0.2.4 h1:OkMRqyhklJBMbOXo8p/dsS+iQVQTrMUI7Jfm13Js3L4=
|
||||||
github.com/hbstack/blog/modules/post-nav v0.4.0/go.mod h1:tgP0PtW87TQPYz52S6rAjwusQcBheJLBC8US/bwxy0Q=
|
github.com/hbstack/carousel v0.2.4/go.mod h1:AchKlXiqYNZouE3Ee/VSSQle2FUZV5CJgTnPBFI7Gj0=
|
||||||
github.com/hbstack/blog/modules/related-posts v0.4.0 h1:FujQXAfdqixHGJibxkO3wSBhidElq/kM0XxfoSAJVus=
|
|
||||||
github.com/hbstack/blog/modules/related-posts v0.4.0/go.mod h1:h+O7tmtrhKImBt6/RS0GYDnOgDXCE632yyzlVVHTtN0=
|
|
||||||
github.com/hbstack/blog/modules/toc-scrollspy v0.2.0 h1:UgA7UxoHTOzFDRp1XxhCmCNiSZlfpXqyEBnkPMCMjsM=
|
|
||||||
github.com/hbstack/blog/modules/toc-scrollspy v0.2.0/go.mod h1:61D0fK0cilgwUzQm4fhVqfAc0cFYkvTE4pVSP6+FvHI=
|
|
||||||
github.com/hbstack/bootstrap v0.2.2 h1:Kiy+XEiyDvH9KVfuS7uWYTDoTLbiww0PWTheEXO/fdM=
|
|
||||||
github.com/hbstack/bootstrap v0.2.2/go.mod h1:2Qd2g72fKgje8fCMSaz8KlKIv60c6PAak59Zg2FJHs0=
|
|
||||||
github.com/hbstack/breadcrumb v0.7.1 h1:PntlY/kcdivpQ6/ae13qaR5RsTinYo3gtF1Xv2jGeK4=
|
|
||||||
github.com/hbstack/breadcrumb v0.7.1/go.mod h1:iLp0/AKYRVTNo+Sae1V55hX7CfhX9i0F/nMZ0SnicLQ=
|
|
||||||
github.com/hbstack/carousel v0.2.5 h1:+N4U9wvCvd8gWI0anyNVqelkrDqsWI/jDc8LG/KvB1E=
|
github.com/hbstack/carousel v0.2.5 h1:+N4U9wvCvd8gWI0anyNVqelkrDqsWI/jDc8LG/KvB1E=
|
||||||
github.com/hbstack/carousel v0.2.5/go.mod h1:37ffr9r5ilAS4b7KrplyCeOcTPmFd2PMygLo+VPe3oY=
|
github.com/hbstack/carousel v0.2.5/go.mod h1:37ffr9r5ilAS4b7KrplyCeOcTPmFd2PMygLo+VPe3oY=
|
||||||
github.com/hbstack/code-block-panel v0.1.2 h1:7ZW54ZA7tBNr5oQSWrBrAvEyXfm0Usk9+Nsp7X7Xhko=
|
github.com/hbstack/docs/modules/content-panel v0.1.8 h1:jdvI05iKD3awcCFx9UoGNh7DfNK60jWLJjVAspqEH+o=
|
||||||
github.com/hbstack/code-block-panel v0.1.2/go.mod h1:VK2kn+hD3pr5HPz8izFAUyFG0lB/nXybe8ix5uc/LLs=
|
github.com/hbstack/docs/modules/content-panel v0.1.8/go.mod h1:hlcrr8ZLfC+hOuzgCZh3YIlmwzKOiUvbb2oP20PBO8k=
|
||||||
github.com/hbstack/content-panel v0.10.1 h1:DB0sg3nNWD4oy7RMCxe3xXYjAzhy3G58r6QlM324bEA=
|
|
||||||
github.com/hbstack/content-panel v0.10.1/go.mod h1:lEyMXJYCNHL6fkT260oX2FnXF6gD5Vd3EytifVuz3iQ=
|
|
||||||
github.com/hbstack/docs v0.17.2 h1:qGUhtRykmndetii9LcFLF0jFuXrNrJWHd2sGX6BDhFs=
|
|
||||||
github.com/hbstack/docs v0.17.2/go.mod h1:8nM1YwlDGfIkb51arJR8Viy35NFkytHfKqKUjdjLb8w=
|
|
||||||
github.com/hbstack/docs/modules/breadcrumb v0.1.10 h1:Ryp68WkRdOxL2UlGNYtN5ZJUxbbHv7bWe0NdzDt2Obg=
|
|
||||||
github.com/hbstack/docs/modules/breadcrumb v0.1.10/go.mod h1:pTh43gl04dPERZZVDQ70KVU0j0Z4hmPK7GrxUfLw15s=
|
|
||||||
github.com/hbstack/docs/modules/doc-nav v0.3.7 h1:K0U0EAsYYsnOV4AGYMbbkMEJe2HrBSmuWipbpBg4V4A=
|
|
||||||
github.com/hbstack/docs/modules/doc-nav v0.3.7/go.mod h1:EoYAPHmhHmM7hDgDvIJIRNRiy6G+n/Eeto6HUgsw5ww=
|
|
||||||
github.com/hbstack/docs/modules/featured-image v0.2.8 h1:5sYRhNxVa/EYGCsgS5SKiZMIAdhZQJxam4CEyTFWL8Q=
|
|
||||||
github.com/hbstack/docs/modules/featured-image v0.2.8/go.mod h1:zg3OOJK2GXuggE0w/Ov2M0FDzyCHs8BRoWiD7Nz5o58=
|
|
||||||
github.com/hbstack/docs/modules/giscus v0.1.10 h1:rSZKSrgiZeuf4nizv2A9BJGikm7PSsQy7T6u/6u+/Yw=
|
github.com/hbstack/docs/modules/giscus v0.1.10 h1:rSZKSrgiZeuf4nizv2A9BJGikm7PSsQy7T6u/6u+/Yw=
|
||||||
github.com/hbstack/docs/modules/giscus v0.1.10/go.mod h1:6MTfPyydWOJ2hH/9vhQw1r6Z5lvNTgDN7zpAfgjIQz0=
|
github.com/hbstack/docs/modules/giscus v0.1.10/go.mod h1:6MTfPyydWOJ2hH/9vhQw1r6Z5lvNTgDN7zpAfgjIQz0=
|
||||||
github.com/hbstack/docs/modules/heading-sign v0.1.9 h1:gwqg3R5YGwqCHFXrnV1ligZ2wFHbOj9chFS6bmqh2f8=
|
github.com/hbstack/docs/modules/toc-scrollspy v0.1.7 h1:uBSdzKiDVYjqMxCr7UIC25J+YcC26q64bxmE2tWU0eI=
|
||||||
github.com/hbstack/docs/modules/heading-sign v0.1.9/go.mod h1:64D1dr+tmjfQh0F1PtYa+cs9PiZttR6LCoXaiBXD4bI=
|
github.com/hbstack/docs/modules/toc-scrollspy v0.1.7/go.mod h1:gRkFkDSPj8+j0rqIXbo1SQiD0UC7ZlDbbW+6FmilX0g=
|
||||||
|
github.com/hbstack/featured-image v0.1.2 h1:Bc/deRi++p4rmoM8SWwgVR8sLpaythdceZYqPM5RGYQ=
|
||||||
|
github.com/hbstack/featured-image v0.1.2/go.mod h1:zVzCNnwRWcxv9mdrUooPigdIGBFqD1RUPUcGxrKiTVM=
|
||||||
github.com/hbstack/featured-image v0.2.1 h1:sRIzjV6YPVG7Ah0Hxjiuxd9bQnEV+62McOgXZjGNV7g=
|
github.com/hbstack/featured-image v0.2.1 h1:sRIzjV6YPVG7Ah0Hxjiuxd9bQnEV+62McOgXZjGNV7g=
|
||||||
github.com/hbstack/featured-image v0.2.1/go.mod h1:hux3nYqQUVnQHPttJxVrvwfTsULGuVGRGFk3lO2Si54=
|
github.com/hbstack/featured-image v0.2.1/go.mod h1:hux3nYqQUVnQHPttJxVrvwfTsULGuVGRGFk3lO2Si54=
|
||||||
github.com/hbstack/footer v0.4.1 h1:dGEIcqCM6K/s9bygnFQlPcVMJn+BblAjaESied8H7ug=
|
github.com/hbstack/gallery v0.11.0 h1:JP5juBRkO09WpVvSM0gEgOjS6yG0YEiwpi/1pr/0OnE=
|
||||||
github.com/hbstack/footer v0.4.1/go.mod h1:EvignAN0ShrWDbPAlf9+lrRfJSha9G4wYPDUed4wPzg=
|
github.com/hbstack/gallery v0.11.0/go.mod h1:ni5LadxEx6YVdu+/67+VQZ0FEgSAj5Zqd+tfXLd1RFY=
|
||||||
github.com/hbstack/footer/modules/socials v0.3.0 h1:m8d8o9j+3BQUfxpONEaGP4tL8WSgnrA50bM4ux6twg8=
|
github.com/hbstack/gallery v0.12.0 h1:QEwPH8T7Jyy5OLax89/5DW2CTgSfgFUz89Sw6lrL9Z4=
|
||||||
github.com/hbstack/footer/modules/socials v0.3.0/go.mod h1:clVl77mC1//pSZuHEr8aHqDk8Ylggk+I+XOQoBiim8w=
|
github.com/hbstack/gallery v0.12.0/go.mod h1:FeLNZqjpKCj1ryfPoTJVk59Bph2N1BfDcNBHyudWT4o=
|
||||||
github.com/hbstack/gallery v0.13.0 h1:xIS5vK0g4wlxgNjxBOdn+9E5n1VsQiZNjBUX5IcPBpQ=
|
|
||||||
github.com/hbstack/gallery v0.13.0/go.mod h1:FeLNZqjpKCj1ryfPoTJVk59Bph2N1BfDcNBHyudWT4o=
|
github.com/hbstack/gallery v0.13.0/go.mod h1:FeLNZqjpKCj1ryfPoTJVk59Bph2N1BfDcNBHyudWT4o=
|
||||||
github.com/hbstack/gallery/modules/breadcrumb v0.1.1 h1:hPP+FuHcBo2nieDA3eY/f7714JBe/egECb6TRnmPHTo=
|
github.com/hbstack/gallery/modules/breadcrumb v0.1.0 h1:zenzwq4EiE2PIB2gx8QU4I2Zx9KAK901EWpgLGu5XqA=
|
||||||
github.com/hbstack/gallery/modules/breadcrumb v0.1.1/go.mod h1:LdbDrxkgYlIOn/x9HFrde+mpIagFayRuLjIDXL1zCHw=
|
github.com/hbstack/gallery/modules/breadcrumb v0.1.0/go.mod h1:7E1zwN0GC59OsXAUEALUiYWJhQw5hGPnpHfRHQDS/5Q=
|
||||||
github.com/hbstack/giscus v0.1.1 h1:jKbA17XjAcbD59QIDUVoFOdbi9P2WzQMtOcIpG/Znuo=
|
github.com/hbstack/heading-sign v0.1.3 h1:bkyBAwTETrbLqPBM89EuSscgLt2MOrmEPSeooeR0Jfc=
|
||||||
github.com/hbstack/giscus v0.1.1/go.mod h1:XElW8oNLnS0dRVFzoo9Gq8xknvz3D2PuTHC7yw9h3EE=
|
github.com/hbstack/heading-sign v0.1.3/go.mod h1:uR6DdjYDoLDFanc8kSglEe/08GyNyQBmyNEJ6Z1KRAg=
|
||||||
github.com/hbstack/hb v0.12.2 h1:zFIPi39iB68P9y5o5ckVqK4qCc/6cl7oYRvfEpQucPs=
|
|
||||||
github.com/hbstack/hb v0.12.2/go.mod h1:gwKZN1bsmMuSjEkI/l/9zJCG0Xz96h0r7Cv/WOjjNjc=
|
|
||||||
github.com/hbstack/header v0.14.5 h1:TGjaudDop6df38A0K8hjMOdmcD1WpUN03xenpgR7tJw=
|
|
||||||
github.com/hbstack/header v0.14.5/go.mod h1:W7eolpYJctsTD8GVFEj09Ogbqqy8OAqcxBEbW3ZTYIg=
|
|
||||||
github.com/hbstack/header/modules/language-picker v0.1.25 h1:F8ervz2fAJa2PaCaexmQaVRqkcVb7/dHK1ZSiHCcu6A=
|
|
||||||
github.com/hbstack/header/modules/language-picker v0.1.25/go.mod h1:kkNF76Y6HJUA+sCAVVlhAR9UoKJirpnZSIT2z/9tyoo=
|
|
||||||
github.com/hbstack/header/modules/search v0.1.36 h1:SqQjKXX46dABksZp9UR/QH9eayxAkRD5CAbBenOUGJQ=
|
|
||||||
github.com/hbstack/header/modules/search v0.1.36/go.mod h1:enMXYMhDd+V2OQ0e2xzD9qbkktwK5DzbpP5UxvdALXo=
|
|
||||||
github.com/hbstack/header/modules/socials v0.2.0 h1:ztbnGhgFrgViU8+TlvFpOajVWcQztqc+C0wPNp7iyJo=
|
|
||||||
github.com/hbstack/header/modules/socials v0.2.0/go.mod h1:OoJfwBEicrezWzSF+F/mKuqCoo9FfP1nb8Oo4vmGWG8=
|
|
||||||
github.com/hbstack/header/modules/theme-toggle v0.5.1 h1:CXognO+rbqUVXCJ/Udc3frntSu15mY1ZH15I/H20aF4=
|
|
||||||
github.com/hbstack/header/modules/theme-toggle v0.5.1/go.mod h1:EHXmyYT45ZhcUIXdL45lRG3HpxodbHSr4KpD9Ynhzfg=
|
|
||||||
github.com/hbstack/heading-sign v0.2.0 h1:yXKZQEjPn/+jKyQxCJh34X+wXbiG4Bnr1VVF6lgMhi8=
|
github.com/hbstack/heading-sign v0.2.0 h1:yXKZQEjPn/+jKyQxCJh34X+wXbiG4Bnr1VVF6lgMhi8=
|
||||||
github.com/hbstack/heading-sign v0.2.0/go.mod h1:SXJWIr9C/7phTOXfWMzNSVZCeimKbYualuwIOHDeOu0=
|
github.com/hbstack/heading-sign v0.2.0/go.mod h1:SXJWIr9C/7phTOXfWMzNSVZCeimKbYualuwIOHDeOu0=
|
||||||
github.com/hbstack/mermaid v0.2.2 h1:TtGzO04if+jgnLXdFDiI2opnzvcTDJqoaQAQvNgG0xs=
|
|
||||||
github.com/hbstack/mermaid v0.2.2/go.mod h1:gVO/itIHv07hiGqzmUtLw78vkcTU8RMnOl72GVSUUrA=
|
|
||||||
github.com/hbstack/meta/recommended v0.2.10 h1:RzRe2LT/lJxlsfGv5UzYC3onl7lp1VWbCm1jAb69kSw=
|
github.com/hbstack/meta/recommended v0.2.10 h1:RzRe2LT/lJxlsfGv5UzYC3onl7lp1VWbCm1jAb69kSw=
|
||||||
github.com/hbstack/meta/recommended v0.2.10/go.mod h1:OdGN+zqdgFbet5A6XrfjaTNUTd5L91rOUNRJxgq38fo=
|
github.com/hbstack/meta/recommended v0.2.10/go.mod h1:OdGN+zqdgFbet5A6XrfjaTNUTd5L91rOUNRJxgq38fo=
|
||||||
github.com/hbstack/noscript v0.7.0 h1:PxHaeCInP9SFofMOS+QUmAxujwP+Nh2D1kO5C0IlZIE=
|
github.com/hbstack/pagination v0.6.0 h1:sUirQEsW9ZmRU0GxlsE2pN7ZYghI4aqJYgfWAgd+iys=
|
||||||
github.com/hbstack/noscript v0.7.0/go.mod h1:F0qU9/caEaqa45OfHiL+8nTCohs2rg97Hek2KQUzK8M=
|
github.com/hbstack/pagination v0.6.0/go.mod h1:xAvZzN0UZW0j/IAUipcRIIQ7P9Sq44M3k47HaHy7OuU=
|
||||||
github.com/hbstack/pagination v0.8.0 h1:xnrLD6c7HalpQFQKN9pcQi1M8H0o8b3yrjbjBFs/03o=
|
github.com/hbstack/pagination v0.7.0 h1:h+4/d9WItx5joCk0x/zj+LWjTmYK+l8ehRrEkNqx3vk=
|
||||||
|
github.com/hbstack/pagination v0.7.0/go.mod h1:XaYSS/iReEFQo+fbVAx2YfjP4muWEraVNGeaTcVA35o=
|
||||||
github.com/hbstack/pagination v0.8.0/go.mod h1:XaYSS/iReEFQo+fbVAx2YfjP4muWEraVNGeaTcVA35o=
|
github.com/hbstack/pagination v0.8.0/go.mod h1:XaYSS/iReEFQo+fbVAx2YfjP4muWEraVNGeaTcVA35o=
|
||||||
github.com/hbstack/progress-bar v0.1.0 h1:2ZiGS3RFZbZYBUbT2nFCoU9SJsbD9jtV4A7ab41B4jg=
|
|
||||||
github.com/hbstack/progress-bar v0.1.0/go.mod h1:JZt160XK62FxThzt+RmokjOww3De8ZL0ITcxMJLVE7g=
|
|
||||||
github.com/hbstack/pwa v0.1.2 h1:zJhLf5Uf+jO9aCBKvFcASlw7sULK2i0qUJZxscBo0HM=
|
|
||||||
github.com/hbstack/pwa v0.1.2/go.mod h1:8x01rczLrSw1aCWD+yrn6v5FRQPtaEh/PYCtFDICEWo=
|
|
||||||
github.com/hbstack/scrollbar v0.1.0 h1:uQMNbkWbLxnjQMiD3zdt33RG48sY2a0XWyGQkK2HsyY=
|
|
||||||
github.com/hbstack/scrollbar v0.1.0/go.mod h1:BEDha5gOjQfXBKZfwT+4vn8hCE88qElocjEI2SY1eAs=
|
|
||||||
github.com/hbstack/search v0.2.2 h1:OcGCw2cVzZlB48wogNatcbaHk2BB7Boc/ESt9txI4Gw=
|
|
||||||
github.com/hbstack/search v0.2.2/go.mod h1:sVNCCvokrCfydqCNF/q7kcAd+U73a7Y/0P+v8vJaC0I=
|
|
||||||
github.com/hbstack/slide v0.4.0 h1:rWrbEmL1bKW1VF1coMtMblDUwzMvVcm1MgvauFX6vMg=
|
|
||||||
github.com/hbstack/slide v0.4.0/go.mod h1:5LOWGyawNzSWFlW+3kuUBSrK15kottNvolEc7FVcYVg=
|
|
||||||
github.com/hbstack/snackbar v0.1.2 h1:/9R2CdWnLcOBobxzdpe30cgM1gcKJAXtbVbZtp2pgmY=
|
github.com/hbstack/snackbar v0.1.2 h1:/9R2CdWnLcOBobxzdpe30cgM1gcKJAXtbVbZtp2pgmY=
|
||||||
github.com/hbstack/snackbar v0.1.2/go.mod h1:4uZSGpI9ZtR9by0bA8yJW2y61sRks2W4a8VvyMluXuo=
|
github.com/hbstack/snackbar v0.1.2/go.mod h1:4uZSGpI9ZtR9by0bA8yJW2y61sRks2W4a8VvyMluXuo=
|
||||||
github.com/hbstack/socials v0.15.0 h1:Nyn+7S9B1BJ0CsRYmJTds/TfoquLK3gae7gKyKnCWyQ=
|
github.com/hbstack/socials v0.9.0 h1:Lru22qqydHTcBJkkYlsk0Dl91IuZPLWBpr+BQB6d87U=
|
||||||
|
github.com/hbstack/socials v0.9.0/go.mod h1:8H+ztN27J59oWcQyQTFj95HsauF2a22GXqQlNMGTQw4=
|
||||||
|
github.com/hbstack/socials v0.10.0 h1:XU2UwFq/6EzZMEIND/hfa+6CsvvzqPGK4odPwudBwo0=
|
||||||
|
github.com/hbstack/socials v0.10.0/go.mod h1:VeK9k0+f+HsKuPbVAqRwwz5KqWm+2+NlYlJsMdja4c8=
|
||||||
|
github.com/hbstack/socials v0.12.0/go.mod h1:VeK9k0+f+HsKuPbVAqRwwz5KqWm+2+NlYlJsMdja4c8=
|
||||||
|
github.com/hbstack/socials v0.13.0/go.mod h1:xCbwzO1NzuLhll79QlkG9r/wS0r3Hl5Cy+GhxZBqceo=
|
||||||
|
github.com/hbstack/socials v0.14.0/go.mod h1:xCbwzO1NzuLhll79QlkG9r/wS0r3Hl5Cy+GhxZBqceo=
|
||||||
|
github.com/hbstack/socials v0.14.1 h1:5LZ6VGMzTtvrEP5vOsxepnsYimcSuoe9v7qLhexZ47g=
|
||||||
|
github.com/hbstack/socials v0.14.1/go.mod h1:xCbwzO1NzuLhll79QlkG9r/wS0r3Hl5Cy+GhxZBqceo=
|
||||||
github.com/hbstack/socials v0.15.0/go.mod h1:Bu1TdfuxLKtpEImsmuvB8OwbYJaGzOriQbOh3u7gTtc=
|
github.com/hbstack/socials v0.15.0/go.mod h1:Bu1TdfuxLKtpEImsmuvB8OwbYJaGzOriQbOh3u7gTtc=
|
||||||
github.com/hbstack/syntax-highlighting v0.2.0 h1:BP5SR/AbVlJyAFtVdgYjeqVZKmncEmuplTR5R2AUbw8=
|
github.com/henrygd/bigger-picture v1.1.13 h1:J9ABjwQjk+AHb3ZXwFFTuYcj3ToMWYsxmXTxN8OL9vk=
|
||||||
github.com/hbstack/syntax-highlighting v0.2.0/go.mod h1:6IoaM+tSIkKZblIrT1i5L3zVH68nt4UScU9JB30FQsc=
|
github.com/henrygd/bigger-picture v1.1.13/go.mod h1:LayqbjDNNsZH+ZXklmjBe5T02qxpH9Cah/ygAraOBIk=
|
||||||
github.com/hbstack/syntax-highlighting/styles/gruvbox v0.1.1 h1:IzJlnkHGS8XhibNjUFvyV3YE7rc7WMsAhdxWZTbORI4=
|
github.com/henrygd/bigger-picture v1.1.15 h1:qFdNSaVP50zNndP+N0jsOVKbdKwL2L5bW851/fPjG9M=
|
||||||
github.com/hbstack/syntax-highlighting/styles/gruvbox v0.1.1/go.mod h1:ar5ZFplNyVZCVG6rvo69co1hNZwptxtrDz3zproGLPg=
|
github.com/henrygd/bigger-picture v1.1.15/go.mod h1:LayqbjDNNsZH+ZXklmjBe5T02qxpH9Cah/ygAraOBIk=
|
||||||
github.com/hbstack/toc-scrollspy v0.1.0 h1:sr9HidxHVYeSZR1FVOGQzphONSsct/OscbWPSV+vMlo=
|
|
||||||
github.com/hbstack/toc-scrollspy v0.1.0/go.mod h1:wIqdWFRjqGGKX6Y5XVRQzaBBeZ91kZBKgovQp8IPvtk=
|
|
||||||
github.com/henrygd/bigger-picture v1.1.16 h1:S7xIGHnzUSpRnSzSMVvs4Cs8oWc+Pongjggdzs3GInQ=
|
github.com/henrygd/bigger-picture v1.1.16 h1:S7xIGHnzUSpRnSzSMVvs4Cs8oWc+Pongjggdzs3GInQ=
|
||||||
github.com/henrygd/bigger-picture v1.1.16/go.mod h1:LayqbjDNNsZH+ZXklmjBe5T02qxpH9Cah/ygAraOBIk=
|
github.com/henrygd/bigger-picture v1.1.16/go.mod h1:LayqbjDNNsZH+ZXklmjBe5T02qxpH9Cah/ygAraOBIk=
|
||||||
github.com/hugomods/ascii v0.1.0 h1:c7E0nV3z7PiNchGXkIuFBWsKym17k0iOo+o6Bp6bw30=
|
github.com/hugomods/ascii v0.1.0 h1:c7E0nV3z7PiNchGXkIuFBWsKym17k0iOo+o6Bp6bw30=
|
||||||
github.com/hugomods/ascii v0.1.0/go.mod h1:vvC2YaCuNBWl/8F/mfk9vMxVpwXluH80cROV9TDpmLk=
|
github.com/hugomods/ascii v0.1.0/go.mod h1:vvC2YaCuNBWl/8F/mfk9vMxVpwXluH80cROV9TDpmLk=
|
||||||
github.com/hugomods/base v0.7.0 h1:KEZ1HrZdkx1Yt8BKE750a+zJOusLz9iefU2clqw6duc=
|
github.com/hugomods/base v0.4.0 h1:jzBIJpqDx8aLAlNe/zF1xbefu1XYxumZc39tOO0ZjSw=
|
||||||
|
github.com/hugomods/base v0.4.0/go.mod h1:hnWCPbVxuhXBwdFax3mmbMlWKmIo/7OP36MCLOyHtT4=
|
||||||
|
github.com/hugomods/base v0.4.1/go.mod h1:hnWCPbVxuhXBwdFax3mmbMlWKmIo/7OP36MCLOyHtT4=
|
||||||
|
github.com/hugomods/base v0.4.2 h1:CffAsy/2nxsMm1TazpnFC/Nb+IQnwed5yLAVvt1dmZQ=
|
||||||
|
github.com/hugomods/base v0.4.2/go.mod h1:hnWCPbVxuhXBwdFax3mmbMlWKmIo/7OP36MCLOyHtT4=
|
||||||
|
github.com/hugomods/base v0.5.0/go.mod h1:hnWCPbVxuhXBwdFax3mmbMlWKmIo/7OP36MCLOyHtT4=
|
||||||
|
github.com/hugomods/base v0.6.0 h1:trDA6k742kUb7VOwrvC564MgalMsAtsQGfB9AZFbVeo=
|
||||||
|
github.com/hugomods/base v0.6.0/go.mod h1:hnWCPbVxuhXBwdFax3mmbMlWKmIo/7OP36MCLOyHtT4=
|
||||||
github.com/hugomods/base v0.7.0/go.mod h1:hnWCPbVxuhXBwdFax3mmbMlWKmIo/7OP36MCLOyHtT4=
|
github.com/hugomods/base v0.7.0/go.mod h1:hnWCPbVxuhXBwdFax3mmbMlWKmIo/7OP36MCLOyHtT4=
|
||||||
github.com/hugomods/bootstrap v0.22.2 h1:wdZbyx/kLs3WH33pdDBmo/MH+42TTZzMtF0bH7otNXs=
|
github.com/hugomods/bootstrap v0.15.0 h1:00+Lkt6zJO71aN5MspuwAM50VwbQsM8P2QlLLUt7EPw=
|
||||||
github.com/hugomods/bootstrap v0.22.2/go.mod h1:daEkGLSsmfI8vQ1SjKR7KELPSrm1G+yUnTptKdRxFN0=
|
github.com/hugomods/bootstrap v0.15.0/go.mod h1:uieaNCwD8ajNXjXmvCGoV0DluFraEn2h8WzXhwtmkig=
|
||||||
github.com/hugomods/code-block-panel v0.7.0 h1:7y8wbXMPvaFpqNIRUb8ykOQtz+E8lVcYd3yWGv2gMGw=
|
github.com/hugomods/bootstrap v0.17.3 h1:YdsTcRRr1Aidk6jntyGW2HGP5U+iehguJz9swVDQrNw=
|
||||||
github.com/hugomods/code-block-panel v0.7.0/go.mod h1:3J9yUxaShbhYvFFZbGVHcBoHPl6TUKLL3f2fTsnVNNg=
|
github.com/hugomods/bootstrap v0.17.3/go.mod h1:SaJtm/hMN0giD5tCUzT+6UsphTIFpAspsZHisGA081U=
|
||||||
github.com/hugomods/font-awesome v6.5.2+incompatible h1:sDSRuMLUK7N7u/PTpNngqoqbfUI/UP9Rcb+885kV4Wk=
|
github.com/hugomods/bootstrap v0.18.4/go.mod h1:Ss7a4kP2fqt6qMlU4XUunU0XDc8GAN8mJlOWwwdUJaA=
|
||||||
github.com/hugomods/font-awesome v6.5.2+incompatible/go.mod h1:C2wW6xDvHkcMlJMVTPQ+Npt+rO0OGv13xT1iyll2z2Q=
|
github.com/hugomods/bootstrap v0.18.5/go.mod h1:Ss7a4kP2fqt6qMlU4XUunU0XDc8GAN8mJlOWwwdUJaA=
|
||||||
github.com/hugomods/fuse-js v0.1.0 h1:CmWHBZANvjOP44RDNQNLntqlLf9GLqeM29jekxTNcPE=
|
github.com/hugomods/bootstrap v0.19.0/go.mod h1:NsS0rxUANr6nWIUrOK2Qw0T90lu4SdPUuglpodNl93k=
|
||||||
github.com/hugomods/fuse-js v0.1.0/go.mod h1:srCqvtBQR02HS/abTraDU4oINv1D3PljNPdexdoHhpo=
|
github.com/hugomods/bootstrap v0.21.2 h1:lu9LHkj7RLxkVp2bX//li2Z/OsG36TGHjlFZG4/p9Tw=
|
||||||
|
github.com/hugomods/bootstrap v0.21.2/go.mod h1:3U2SkU7l1+n8/wJZwB8/2phYhvRyFwCMix7pPNJ4U+I=
|
||||||
|
github.com/hugomods/bootstrap v0.22.0/go.mod h1:3U2SkU7l1+n8/wJZwB8/2phYhvRyFwCMix7pPNJ4U+I=
|
||||||
|
github.com/hugomods/code-block-panel v0.5.0 h1:IjlVQZJccs02x0TaNxsLR4S2PRyzy3tBXE3nFT2vJxA=
|
||||||
|
github.com/hugomods/code-block-panel v0.5.0/go.mod h1:3J9yUxaShbhYvFFZbGVHcBoHPl6TUKLL3f2fTsnVNNg=
|
||||||
|
github.com/hugomods/code-block-panel v0.6.0 h1:gH4FRxFSU1QwmzKkGHxdPd4oEYBWKFoq2XNWPB71SAY=
|
||||||
|
github.com/hugomods/code-block-panel v0.6.0/go.mod h1:3J9yUxaShbhYvFFZbGVHcBoHPl6TUKLL3f2fTsnVNNg=
|
||||||
github.com/hugomods/giscus v0.1.1 h1:Kb8137Cp2nQJPFb6e+CdXy8nyIAJ2dFIymG4bDdaXWI=
|
github.com/hugomods/giscus v0.1.1 h1:Kb8137Cp2nQJPFb6e+CdXy8nyIAJ2dFIymG4bDdaXWI=
|
||||||
github.com/hugomods/giscus v0.1.1/go.mod h1:tCRkqNi/sMsLh3kjDesXZNzf4R/w+b5oc5boS/l8Jtw=
|
github.com/hugomods/giscus v0.1.1/go.mod h1:tCRkqNi/sMsLh3kjDesXZNzf4R/w+b5oc5boS/l8Jtw=
|
||||||
github.com/hugomods/google-adsense v0.1.0 h1:eykHVCF+JjJRpEQ/b+EkH9aQLQxIdGI8m06qsq1iybA=
|
github.com/hugomods/google-adsense v0.1.0 h1:eykHVCF+JjJRpEQ/b+EkH9aQLQxIdGI8m06qsq1iybA=
|
||||||
github.com/hugomods/google-adsense v0.1.0/go.mod h1:zXQIuUr9pIqlNdCzOLY04Rx7oeUm5R+OhUmscNPiI0w=
|
github.com/hugomods/google-adsense v0.1.0/go.mod h1:zXQIuUr9pIqlNdCzOLY04Rx7oeUm5R+OhUmscNPiI0w=
|
||||||
github.com/hugomods/gravatar v0.2.0 h1:642HNhGN7Mw7qefNcUFJKzLoT2zJKt4IQkrS53mIUfA=
|
github.com/hugomods/gravatar v0.2.0 h1:642HNhGN7Mw7qefNcUFJKzLoT2zJKt4IQkrS53mIUfA=
|
||||||
github.com/hugomods/gravatar v0.2.0/go.mod h1:oATWuh5u2XUK/ZKzOD0VEP5I/TZfVZwplTyhT61Q4Fc=
|
github.com/hugomods/gravatar v0.2.0/go.mod h1:oATWuh5u2XUK/ZKzOD0VEP5I/TZfVZwplTyhT61Q4Fc=
|
||||||
github.com/hugomods/hugopress v0.4.0 h1:ZNORTaUTdw3/AJdu3F280r9aM84c+tZyDQpcJOQJ7Ks=
|
github.com/hugomods/hugopress v0.2.3 h1:tbQlJkGcou1KQJOeCN7E3oK8ZREFZoP3kSHcM/Kz718=
|
||||||
|
github.com/hugomods/hugopress v0.2.3/go.mod h1:CRYvr60xOkZOf4Atkuj+uEj2EH5pjJ39Ws3aJAkoMkA=
|
||||||
github.com/hugomods/hugopress v0.4.0/go.mod h1:CRYvr60xOkZOf4Atkuj+uEj2EH5pjJ39Ws3aJAkoMkA=
|
github.com/hugomods/hugopress v0.4.0/go.mod h1:CRYvr60xOkZOf4Atkuj+uEj2EH5pjJ39Ws3aJAkoMkA=
|
||||||
github.com/hugomods/i18n-js v0.2.1 h1:uIUl4LiYdwo8IK08oq7OmluYLedL21Wc9Rig1taDTSI=
|
github.com/hugomods/icons v0.6.0 h1:G6RU93okhPPRDh/jqcew9gwkcYpSpg0rCBv4S6yUAFw=
|
||||||
github.com/hugomods/i18n-js v0.2.1/go.mod h1:eJfxjgI2CQsNA1/ReIVvr5127DftUKcbHd2A2SQmDvU=
|
github.com/hugomods/icons/vendors/bootstrap v0.5.3 h1:3twbdiKpeCudV0UFNBZqUgBLIjG5qcv4lvvlALgR5ro=
|
||||||
github.com/hugomods/icons v0.6.3 h1:2Ra6NU2GOeVvz8vowLq/OZCTzxqhq84MA0TICRBVxeY=
|
github.com/hugomods/icons/vendors/bootstrap v0.5.3/go.mod h1:SuPcqO3u8gN4epmf+2L1G8pg6X3nXj2D6FYRWd+OIrw=
|
||||||
github.com/hugomods/icons v0.6.3/go.mod h1:cIkSvK6W0q6N4U6n9KGz+QfRWQXAW0INd+1P31gPNGg=
|
github.com/hugomods/icons/vendors/bootstrap v0.5.4/go.mod h1:DtuYP+dG9Sttfsggd9k09h/hapZBsel6JJ1vNetkaCg=
|
||||||
|
github.com/hugomods/icons/vendors/bootstrap v0.5.5 h1:xXqHc6AeJGdc/HkV7sTyACIFu373i1BK3y6yr+lCQjU=
|
||||||
|
github.com/hugomods/icons/vendors/bootstrap v0.5.5/go.mod h1:DtuYP+dG9Sttfsggd9k09h/hapZBsel6JJ1vNetkaCg=
|
||||||
github.com/hugomods/icons/vendors/bootstrap v0.5.6 h1:4Vj7u52gFUnO+Jj/CqmGfsLroify2aysRpIvgHRNjjI=
|
github.com/hugomods/icons/vendors/bootstrap v0.5.6 h1:4Vj7u52gFUnO+Jj/CqmGfsLroify2aysRpIvgHRNjjI=
|
||||||
github.com/hugomods/icons/vendors/bootstrap v0.5.6/go.mod h1:Sw1RhQvFcsQlJ5a4SKpp7A0XHDYQ0DK0pQwnnx+l+Ao=
|
github.com/hugomods/icons/vendors/bootstrap v0.5.6/go.mod h1:Sw1RhQvFcsQlJ5a4SKpp7A0XHDYQ0DK0pQwnnx+l+Ao=
|
||||||
|
github.com/hugomods/icons/vendors/font-awesome v0.6.1 h1:MyYF67fPthN4EDkT/IwY0ydowxzE6J/oKFTltOCY2vY=
|
||||||
|
github.com/hugomods/icons/vendors/font-awesome v0.6.1/go.mod h1:kmMci4qX8yTQPT28sskzKRudJiQAAiZZugjNbkakRhk=
|
||||||
|
github.com/hugomods/icons/vendors/font-awesome v0.6.3 h1:S0Vl11E8Ihn5vQZuvIOUuLXi1eOLALtK/auJLScSP+g=
|
||||||
|
github.com/hugomods/icons/vendors/font-awesome v0.6.3/go.mod h1:S7BE6/wpDplzG9uTnZqG6Q7ruMFi8MN1R+DqE8gNc3Y=
|
||||||
|
github.com/hugomods/icons/vendors/font-awesome v0.6.5/go.mod h1:olo6073bAL17apxc7lTLfQKpT9sIam8Zx+d9lrCwV/o=
|
||||||
github.com/hugomods/icons/vendors/font-awesome v0.6.6 h1:rb12roByF9LZfUxBpyhyqenkcX2+VGkYf5jJ/55OPHo=
|
github.com/hugomods/icons/vendors/font-awesome v0.6.6 h1:rb12roByF9LZfUxBpyhyqenkcX2+VGkYf5jJ/55OPHo=
|
||||||
github.com/hugomods/icons/vendors/font-awesome v0.6.6/go.mod h1:2IVdmnq+IWCnPFYsvbxq59dTuW3+prPLerpu8Ezobro=
|
github.com/hugomods/icons/vendors/font-awesome v0.6.6/go.mod h1:2IVdmnq+IWCnPFYsvbxq59dTuW3+prPLerpu8Ezobro=
|
||||||
github.com/hugomods/icons/vendors/simple-icons v1.0.40 h1:esnu84uFnWGhDMqBJF9qBHTXKAC170lwqZlRA9FjXeA=
|
|
||||||
github.com/hugomods/icons/vendors/simple-icons v1.0.40/go.mod h1:594XsVTJ2lgbzAUy/4OopxsZEeAOKmg8GfOBwiBiCe8=
|
|
||||||
github.com/hugomods/idb-js v0.1.0 h1:mA6hEGtR0aFEdmq9zYMGpfSpCU6SMilx9RzC4uK3DqY=
|
github.com/hugomods/idb-js v0.1.0 h1:mA6hEGtR0aFEdmq9zYMGpfSpCU6SMilx9RzC4uK3DqY=
|
||||||
github.com/hugomods/idb-js v0.1.0/go.mod h1:GPfnmr+BQpP4s6Epd4Yu+RlUog8q/Djw8qy8BZFWZ04=
|
github.com/hugomods/idb-js v0.1.0/go.mod h1:GPfnmr+BQpP4s6Epd4Yu+RlUog8q/Djw8qy8BZFWZ04=
|
||||||
|
github.com/hugomods/images v0.8.3 h1:tvccLmr4ydDw2rWtfRJUuXbDMYzoK9eB2HRTfVFi8to=
|
||||||
|
github.com/hugomods/images v0.8.3/go.mod h1:U6Gwj16LKvk66rOMyGFrnF6f0aV8lT89lqOsckOAjYY=
|
||||||
|
github.com/hugomods/images v0.9.1 h1:+wUsdPf+v0bRXQHkcQRhIJukYQEx2sdu5I+jEB+Q174=
|
||||||
|
github.com/hugomods/images v0.9.1/go.mod h1:U6Gwj16LKvk66rOMyGFrnF6f0aV8lT89lqOsckOAjYY=
|
||||||
|
github.com/hugomods/images v0.9.2/go.mod h1:U6Gwj16LKvk66rOMyGFrnF6f0aV8lT89lqOsckOAjYY=
|
||||||
|
github.com/hugomods/images v0.9.3/go.mod h1:U6Gwj16LKvk66rOMyGFrnF6f0aV8lT89lqOsckOAjYY=
|
||||||
|
github.com/hugomods/images v0.10.0/go.mod h1:U6Gwj16LKvk66rOMyGFrnF6f0aV8lT89lqOsckOAjYY=
|
||||||
github.com/hugomods/images v0.10.1 h1:ok3ZUZ63MAcmFuTx2kC5JJ3Sffd420RRW9yO57SFeQA=
|
github.com/hugomods/images v0.10.1 h1:ok3ZUZ63MAcmFuTx2kC5JJ3Sffd420RRW9yO57SFeQA=
|
||||||
github.com/hugomods/images v0.10.1/go.mod h1:U6Gwj16LKvk66rOMyGFrnF6f0aV8lT89lqOsckOAjYY=
|
github.com/hugomods/images v0.10.1/go.mod h1:U6Gwj16LKvk66rOMyGFrnF6f0aV8lT89lqOsckOAjYY=
|
||||||
github.com/hugomods/katex v0.3.1 h1:uxaETvO5zIMQeNYjTCOulfGGb7EPBlMhNI/jUujg35M=
|
|
||||||
github.com/hugomods/katex v0.3.1/go.mod h1:EBY1YQTN6F8FDQz+mWp3EzEh8vDN31YjL9luVni+Wm0=
|
|
||||||
github.com/hugomods/mermaid v0.1.1 h1:12b8DbdiKOTtPmkWOMXsBz3LKkAWVqa5tGkbEboj0a4=
|
github.com/hugomods/mermaid v0.1.1 h1:12b8DbdiKOTtPmkWOMXsBz3LKkAWVqa5tGkbEboj0a4=
|
||||||
github.com/hugomods/mermaid v0.1.1/go.mod h1:7sKIZLAeYsXXnKRh4KR70UQx27xnzf0mSQ2o99zTLS0=
|
github.com/hugomods/mermaid v0.1.1/go.mod h1:7sKIZLAeYsXXnKRh4KR70UQx27xnzf0mSQ2o99zTLS0=
|
||||||
github.com/hugomods/pwa v0.9.0 h1:bEKFkP7xkow6IadY9hKEwPbdKeLC0XZfVT31gGP7CPc=
|
github.com/hugomods/pwa v0.7.0 h1:4m8WTkWSEWi2FCnfHMJm1ZbcAPbPbHElh2gepPzfM3A=
|
||||||
|
github.com/hugomods/pwa v0.7.0/go.mod h1:KpYK2Ffn969+Py5SzV3+iXYase4UoUeRAsd9jY7Q2Us=
|
||||||
|
github.com/hugomods/pwa v0.8.0 h1:Onl3YgtpjgSsW+iHgar3YEJzGClGxjz7jl3MJKcM/Ek=
|
||||||
|
github.com/hugomods/pwa v0.8.0/go.mod h1:KpYK2Ffn969+Py5SzV3+iXYase4UoUeRAsd9jY7Q2Us=
|
||||||
github.com/hugomods/pwa v0.9.0/go.mod h1:KpYK2Ffn969+Py5SzV3+iXYase4UoUeRAsd9jY7Q2Us=
|
github.com/hugomods/pwa v0.9.0/go.mod h1:KpYK2Ffn969+Py5SzV3+iXYase4UoUeRAsd9jY7Q2Us=
|
||||||
github.com/hugomods/search v0.14.0 h1:mN52YGIaIBr2pv5NWGJiQhAVFt+lOUHDNcpbz9T4CxA=
|
github.com/hugomods/search v0.8.3 h1:IIeU8Xw5t+SRYwpX08NjROt+YtDtWjjW0Xa00nEaYVs=
|
||||||
github.com/hugomods/search v0.14.0/go.mod h1:xPnDGjP/HCdEWJrJBwwdI2mEtdxFxp+wHBwSl/r2m00=
|
github.com/hugomods/search v0.8.3/go.mod h1:FURp5HBUm8JiuJajLk9sZ1Z1QUSJATboYEp1sFi46a4=
|
||||||
github.com/hugomods/seo/modules/alternatives v0.1.0 h1:G5IjM7j7ExgXEMyxQj1Z/5JwwRW8DEmL0nDJYxA3NhE=
|
github.com/hugomods/search v0.13.2 h1:gdtJENHE6RKXQ8oL2dELCGR7gpy0wzpCKmLW4CM9YQg=
|
||||||
github.com/hugomods/seo/modules/alternatives v0.1.0/go.mod h1:ff9uz+f5yii9k2jbwt/HKM3RpLR3EYZrNQBAOabNxMA=
|
github.com/hugomods/search v0.13.2/go.mod h1:xPnDGjP/HCdEWJrJBwwdI2mEtdxFxp+wHBwSl/r2m00=
|
||||||
github.com/hugomods/seo/modules/base v0.1.2 h1:Md3RgadMJpGnM1w/9Advmn4Gp406kNsA/AsKT3olzZs=
|
github.com/hugomods/search v0.13.3 h1:1U85TBFesVcV1rTC0fV5Qjh01IEHVmDVfiQ7O33hh9Y=
|
||||||
github.com/hugomods/seo/modules/base v0.1.2/go.mod h1:qfm1Vga0eGxL+Szgz8Jopm+NtJ5PGov2a2dikTg1qSg=
|
github.com/hugomods/search v0.13.3/go.mod h1:xPnDGjP/HCdEWJrJBwwdI2mEtdxFxp+wHBwSl/r2m00=
|
||||||
github.com/hugomods/seo/modules/favicons v0.2.1 h1:9FP4DIbdmBhmUpBuJVJYo60iwv9Xc/XNQX1mT8zCNj0=
|
github.com/hugomods/search v0.13.4/go.mod h1:xPnDGjP/HCdEWJrJBwwdI2mEtdxFxp+wHBwSl/r2m00=
|
||||||
github.com/hugomods/seo/modules/favicons v0.2.1/go.mod h1:xFDhrpWUZR4NMMVkilzT6xFBHiF5eyCQ8PlzOS2K9lY=
|
github.com/hugomods/simple-icons v10.4.0+incompatible h1:ddkpJhI+76GK0WLiyLKVd0xrJoQaEx9Fhfqn2jsbW7w=
|
||||||
github.com/hugomods/seo/modules/open-graph v0.1.0 h1:Whveal1j1n2xZWcAlNAd2rdfKp7Fh5apol36wLGLb54=
|
github.com/hugomods/simple-icons v10.4.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/seo/modules/open-graph v0.1.0/go.mod h1:G7mXf7D1QtRN/i7A9v+cUF5P55H/QaxRqxJ8tp9fVq4=
|
github.com/hugomods/simple-icons v11.6.0+incompatible h1:zc72l13asPvaKdxidFO8Quyyg+zeP0ESZQZo3md0X+Q=
|
||||||
github.com/hugomods/seo/modules/schema v0.1.2 h1:IAz1sG31S/jtEufb47+hpwKLp/rjPATT2Yd616Mom/4=
|
github.com/hugomods/simple-icons v11.6.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/seo/modules/schema v0.1.2/go.mod h1:R6hRr2FIJITcMnFA/3V3dPAZgGQLNWGS7v1PLsmVRxU=
|
github.com/hugomods/simple-icons v11.8.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/seo/modules/translations v0.1.0 h1:wPDuPKGx/x+otHn2HfAankKCGQxSrC3gLHhRHpNjC18=
|
github.com/hugomods/simple-icons v11.10.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/seo/modules/translations v0.1.0/go.mod h1:yU2p2hk2dK86YNRU9zfoWRoCrYmrjEmf3oN7cCTbzcM=
|
github.com/hugomods/simple-icons v11.11.0+incompatible h1:ApE4707MM/exTTk4Hj9dNpdfWjaXBXRBpqWpJv6BGgM=
|
||||||
github.com/hugomods/seo/modules/twitter-cards v0.1.0 h1:jH9WfmFZ3kCndUkATM/D/BYL+TQYoXA7/IxgQJbifKQ=
|
github.com/hugomods/simple-icons v11.11.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/seo/modules/twitter-cards v0.1.0/go.mod h1:QYs7SWbhXSQrsn/RHZSD7DwzaCHFpoLQdVPxEI3j63k=
|
github.com/hugomods/simple-icons v11.13.0+incompatible h1:6V5xwEgLaFxKStxgqAhB3QPMx852jTNjxf5hj1Ltg0M=
|
||||||
github.com/hugomods/shortcodes v0.21.0 h1:h8Vulwd3Kiff5FERe3KaAXsI9GWW3msNof6XjNgGGEo=
|
github.com/hugomods/simple-icons v11.13.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/shortcodes v0.21.0/go.mod h1:EnVopbZMNI/HeteM3Lp3phBTCRLvPSe7l142qhRFFPY=
|
github.com/hugomods/simple-icons v11.14.0+incompatible h1:p9H77q11aNJE5oN5qWNiXeeIWXr1Y5Dbti6o/7qf1Dg=
|
||||||
github.com/hugomods/simple-icons v12.1.0+incompatible h1:ovp83b4IfedZnVSq8S8OvnWW54L9kEn1m73ndjgqlTE=
|
github.com/hugomods/simple-icons v11.14.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
|
github.com/hugomods/simple-icons v11.15.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
|
github.com/hugomods/simple-icons v12.0.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/simple-icons v12.1.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
github.com/hugomods/simple-icons v12.1.0+incompatible/go.mod h1:1Lvymol7AMVY7ji/o88jMoDHHZIJ5Wc+WwNe5hjmk+U=
|
||||||
github.com/hugomods/snackbar v0.1.2 h1:SLpfH9jlYwf81epH7DvM2XTZHo+3fXXpk6XKtxmo964=
|
|
||||||
github.com/hugomods/snackbar v0.1.2/go.mod h1:ykFm0IFibeQPuPAm8Gaa27xJS/bNZcSez4omVSl2gQ0=
|
|
||||||
github.com/hugomods/workbox v0.1.0 h1:yxuTj3gT1BNf6OitxrjxSJXfmbFBj2UTwdWr142eYFQ=
|
|
||||||
github.com/hugomods/workbox v0.1.0/go.mod h1:RpFcIcltqYsiHWJV6PHPOdMagFZxO7nrO5XUpn/TMoc=
|
|
||||||
github.com/jakearchibald/idb v8.0.0+incompatible h1:sTNGHgh+JoyQ4Eqey+1ScX4F03uTsYGhs2MbVSJNfF4=
|
|
||||||
github.com/jakearchibald/idb v8.0.0+incompatible/go.mod h1:AuDoW54s2DKfbclM+ScrnPp8ahUQ9rHph9bb8sZTEXc=
|
|
||||||
github.com/krisk/Fuse v7.0.0+incompatible h1:jVyg6No+Joc51Rn97QQYJZIpCxzd4ywACn/4+FKWjvo=
|
github.com/krisk/Fuse v7.0.0+incompatible h1:jVyg6No+Joc51Rn97QQYJZIpCxzd4ywACn/4+FKWjvo=
|
||||||
github.com/krisk/Fuse v7.0.0+incompatible/go.mod h1:3moWv8rDjwoKic9nwiPLgZjldkbdTAbtzJHCu/Vsj4A=
|
github.com/krisk/Fuse v7.0.0+incompatible/go.mod h1:3moWv8rDjwoKic9nwiPLgZjldkbdTAbtzJHCu/Vsj4A=
|
||||||
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
||||||
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=
|
|
||||||
github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
|
||||||
github.com/twbs/icons v1.11.3 h1:XhvrQ1XDom9ggBbQx3wQCFGEr8qAQwQP/dAcw8OXMtA=
|
|
||||||
github.com/twbs/icons v1.11.3/go.mod h1:GnRlymgVWp5iVJCMa0Me5b6tFyGpVc2bSxPMRGIJmyA=
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
{"Target":"css/hb.24d5939835ba0c2a9348a3f33579c59bb6fe34f5a0b9d0e8c1782a78c8c43bb3.css","MediaType":"text/css","Data":{"Integrity":"sha256-JNWTmDW6DCqTSKPzNXnFm7b+NPWgudDowXgqeMjEO7M="}}
|
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 168 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 238 KiB |
After Width: | Height: | Size: 635 KiB |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 190 KiB |
After Width: | Height: | Size: 459 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 230 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 178 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 146 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 183 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 25 KiB |