‏הצגת רשומות עם תוויות שירותי ענן. הצג את כל הרשומות
‏הצגת רשומות עם תוויות שירותי ענן. הצג את כל הרשומות

יום ראשון, דצמבר 04, 2022

שרת מטריקס לבית

מי שמשתמש בשירותי מטריקס כנראה ישים לב במוקדם או במאוחר כי זה לא כל כך נוח שמישהוא אחר מנהל את השירות שאתה צורך. דוגמא יפה צצה עכשיו כשראתי הודעה באחד משרתי המטריקס כי הודעות מעל שלושה חודשים יימחקו בקרוב בגלל מקום פנויי. 
 
אז ביום שישי על הבוקר החלתי להרים שרת ולראות איך זה, בגלל מגבלות זמן (יום שישי בכל זאת) לא יכלתי לסיים כל מה שרציתי אז זה בערך מה שנעשה.

הרמתי לעצמי שרת matrix מבית synapse ברשת הביתית שלי, את השרת התקנתי מאחורי reverse-proxy מסוג apache2. התהליך לוקח בערך 4 שעות מאפס מוחלט (לא היה לי שום מושג מה נדרש) עד הרמת סביבה  שמספקת יכולת משלוח הודעות , תמונות. 
 
החלק העיקרי של הזמן היה לקרוא ולהבין את התיעוד, מציאת ה access_token הנדרש לפעולות הניהול.

את ההתקנה עשיתי מחבילות דביאן ולא מדוקר , תחת מכונה וירטואלית ב virt-manager.
 
אתה השירות אני מספק דרך ipv6-only מהבית הפרטי (אין לי כתובת ipv4 ציבורית בבית).
 
השלבים הם:
 
רשימת סאב דומיין בחינם בצורה אנונימית תחת afraid.org ופרסום רשומת AAAA אליו.
 
בחירת שם לשרת המטריקס שלי בצורה של subdomain.example.net אני בחרתי להתקין את הסביבה שלי כך שכל לקוח אצלי ייתחבר בצורה של @username:subdomain.example.net ולא @username:example.net מהסיבה כי אני משתמש בsubdomain שניתן לבחור ב afraid.org.
 
יצרת bridge בין כרטיס הרשת הקווית לבין הרשת שמשומשת ע"י המכונה הוירטואלית (בכוונה תסריט ולא הגדרה קבועה):
#!/bin/bash

ip link add name br0 type bridge
ip link set enp0s31f6 master br0
ip addr add 192.168.4.7/16 dev br0 brd 192.168.255.255
ip link set up enp0s31f6 up
ip link set up br0

התקנת מכונה וירטואלית מסוג דביאן תחת virt-manager , ובחירת רשת מסוג bride שמקבלת את br0.

את זה אני עושה כי אני רוצה להשתמש ביכולת ה DHCP-PD שייתנו כתובת ipv6 ציבורית למכונה הוירטואלית בצורה ישירה, בצורה כזאת ה ipv6 שאני מקבל מספק האינטרנט יימשך ע"י המכונה הוירטואלית ללא שום הגדרה נוספת מצידי.
 
 
בתוך המכונה הוירטואלית:
 
התקנה של matrix-synapse ושימוש ב subdomain.example.net בהצליך ההגדרה.
התקנה של apache2
התקנה של פוסטגרס, ויצרת בסיס נתונים חדש עבור matrix-synapse בשם synapse.
התקנה והגדרה של תעודה TLS מבית Letsencrypt ב apache2.
שינוי הגדרת homeserver שיצביע לשימוש בפוסטגרס.
שינוי הגדרת homeserver  לעבוד עם התעודה של letsencrypt
הגדרת חומת אש המונעת הכל פרט למה שאני צריך.
הגדרה של reverse-proxy ע"י apache2 שייגיע לmatrix-synapse.
יצרת מסלול .well-known על שרת ה apache2 : 
   cat /var/www/html/.well-known/matrix/server 
{ "m.server": "subdomain.example.net:443" }
הגדרת טסריט שמעדכן כתובת ipv6 לשירותי afraid (שבסופו של יום פשוט מבצע) : 
curl https://v6.sync.afraid.org/u/?u=myafraiduser\&p=myafraidpassword\&h=subdomain.example.net\&ip=$ip
הדברים הקשים שהיה לגלות:
 
איך מגלים את ה accsess-token ?

הפתרון הוא או התחברות לחשבון באמצעות pidgin ואז פתיחת הקובץ accounts.xml וחיפוש השורה access_token או ביצוע הפקודה :
curl -d '{"type":"m.login.password", "user":"'user'", "password":"'supersecretpassword'"}' "https://subdomain.example.net/_matrix/client/v3/login"
{"user_id":"@user:subdomain.example.net","access_token":"syt_vdlsnvdslv_dsfdds_24124","home_server":"subdomain.example.net","device_id":"SAFASF241"} 
 
הדברים שעדיין לא עשיתי עד הסוף כמו שצריך:
  • הגדרת החלק של ה VoIP עבור רשת ipv6-only, אני מנחש שהכוונה להרים שרת TURN אבל מצד שני זה לא הגיוני להחזיק שרת TURN בשביל ipv6.

  • למצוא לקוח matrix בחנות f-droid שעושה את העבודה כמו שצריך. מצליח לעשות שיחות ולשלוח הודעות ואולי אפילו חי בתוך ה dialer והממשק של ההודעות.
  • מציאת אריזה של element.io שיהיה ניתן להתקין מדביאן טהור (כרגע באג #866502 לא סגור).
  • התממשקות לשרת הרדיוס שלי לאימות משתמשים.
  • מציאת ממשק גרפי נוח לניהול הסביבה.
  • מציאת לקוח ששומר הודעות מקומית ולא פשוט אריזת אלקטרון למה שהשרת שומר.

יום שישי, מרץ 18, 2022

מעבר לoffline

בימים האחרונים אני רואה פגיע בשירותי איחסון בחלק מהמקומות, והחלטתי שעדיף להתכונן לגרוע מכל ולהעביר דברים ל offline.
 
מפה לשם התחלתי לגבות, דבר ראשון הורדתי את גיבויי הויקיפדיה שאני משתמש כי לך תדע מה יוליד יום, די הופתעתי אבל לא הצלחתי להוריד קבצים מתוך kiwix עצמו, ורק הורדה ידנית עבדה לי לקבצים הגדולים בשפה האנגלית.

מה שעשיתי היה להפעיל wget על כל אחד מהקבצים הנדרשים עבורי:

wget https://dumps.wikimedia.org/other/kiwix/zim/wikipedia/ -O - | \
grep _en_ |\
sed -rne 's/.*href="(.*)".*/https:\/\/dumps.wikimedia.org\/other\/kiwix\/zim\/wikipedia\/\1/p' |\
xargs wget -c
לאחר מכאן העתקתי את הקבצים הללו (ויש פה הרבה) לכל אחד מהמכשירים שמריצים kiwix, אנמנם אפשר למסור את זה מאותו המחשב , אבל הביזור הרבה יותר טוב ומעניין. הייתי די מופתע אבל התוכן שקיים בעברית קטן בסדר גודל ממה שיש באנגלית.

אם רוצים אפשר להתקין את kiwix-serve, להגדיר proxy ב apache ותוכל לספק אתר ויקיפדיה שדורש עידכון חודשי. 

השלב הבא היה לייצר apt-mirror למאגרי דביאן (לי זה לקח כ 240 ג"ב עבור deb ו deb-src למה שאני צריך) , דרך אכב המירור המקומי לא תומך ב arm64 (וזה מאוד מאוד מבאס!), בעייה רצינית של apt-mirror זה מהירות ההורדה הבעייתית מ deb.debian.org.

יש בעייה רצינית להתקין והלשתמש ב VS2019 מהתקנה קרה כאשר משמשים ב C++, יש צורך בחיבור לרשת לשלב אחד גם אם הורדת את כל מה שצריך מהרשת מלפני כן.  קבצי ההתקנה של VS2019 לקחו לי כ 59 ג"ב.

יום שבת, ינואר 22, 2022

importing google's mbox file into dovecot

בעקבות סגירת חבילת ה־G בגוגל נזכרתי שמזמן לא עשיתי גיבוי וטעינה למייל לשרת אחר.
 
לאחר שעושים גיבוי בגמייל ומקבלים קובץ mbox ענק צריך להכניס אותו לשרת ה dovecot
 
אני טוען את כל הגיבוי למשתמש user תחת תת תיקייה, וטוען את התוכן ממערכת הקבצים.

sudo doveadm -D import  -u user\
      /home/user/GmailUser-20220103T083149Z-002.mbox  20220103T083149Z ALL
כשמריצים את הפקודה חשוב שהמשתמש לא יהיה מחובר לשירות ה dovecot ,
אחרת תקבלו שגיאה קריפטית failed: message already expunged(stream). 

שרת המייל הזה מקונפג ברירת מחדל מדביאן:


grep mail_location /etc/dovecot/conf.d/10-mail.conf  | sed -e 's/^[ \t]*#.*$//p'

mail_location = mbox:~/mail:INBOX=/var/mail/%u

את dovecot-imapd התקנתי ללא שום שינוי , וביצעתי חיבור ראשוני באמצעות mutt לכל משתמש : 
mutt -f imap://user@mailserver.local

זה נועד בשביל :
  • לבדוק שהשרת באמת עובד
  • לבדוק שפרטי ההזדהות עובדים
  • ליצור את תיקיות ברירת המחדל שישומשו לאחר מכן
מכיוון שמדובר בשירות גיבוי מקומי, לא הגדרתי שירותי TLS , ואיפילו לא דומיינים חלופיים, מהסיבה הפשוטה שמדובר בשירות גיבוי.

יום שלישי, ספטמבר 01, 2020

RIP Cloudforge

היה שלום ספק יקר, קלאודפורג' (cloudforge) שעבדתי איתו מימי ה CollabNet העליזים סוגר את שעריו לאחר מעבר לבעלות אחרת. 

במשך תקופה, הספק היה מאפשר עבודה עם כלי קוד פתוח אמייתים, לא דרש קוד קנייני וספק שירות שאהבתי מאוד. 
אבל כמו כל דבר טוב יום אחד הם נרכשים ע"י חברה גדולה יותר.

היה שלום חבר , ותודה על הדגים.