‏הצגת רשומות עם תוויות מטריקס. הצג את כל הרשומות
‏הצגת רשומות עם תוויות מטריקס. הצג את כל הרשומות

יום ראשון, דצמבר 15, 2024

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

יש לכם חברה שמעניקה שירות דרך ווצאפ או אתם מנהלים וועד בית עם ווצאפ ? תעשו לעצמכם טובה , תתקינו שרת synapse ותחברו את ווצאפ עליו, בצורה כזאת גם תקבלו בחינם גיבוי נגיש וגם זה יעבוד עם הרבה מערכות, והכי חשוב איבוד מספר ווצאפ לא יאבד את כל המידע שלכם.
 
מכירים את זה שיש קבוצת ווצאפ לניהול הבניין,  ואתם יודעים שאתם צריכים לשמור את כל ההתכבות לשבע שנים (נכון שזכרתם? יופי כל הכבוד) לקוות שיהיה לכם מכשיר שיחייה שבע שנים ללא תקלות זה תקווה ממש טובה, לעומת זאת להשתמש במשהוא שמגבה החוצה את כל ההודעות הקבוצתיות , מאפשר לשמור את התוכן בצורת html או json  זה קצת עבודה אבל זה אפשרי, אבל יש עוד דרך ממש ממש פשוטה, משתמשים בגשר.
 
בגדול בתוכנה יש לנו הרבה סוגי גשרים, למשל גשר של טלגרם ל irc , בצורה כזאת הודעות מטלגרם בערוץ מסויים עוברות לערוץ הזה ב irc, יש גם גשר של הודעת SMS למייל , והודעות MMS למייל (לשני הצדדים) וכמובן בין התוכנה שכל כך הרבה אנשים אוהבים להשתמש בה (ואני לא משתמש בה כלל) ישירות למטריקס או אפילו למייל.
 
למה זה טוב לשמור למייל ? כי כולם יודעים להשתמש במיילים, ולשמור ולחפש במיילים זה פשט לאללה.אפשר גם להעביר הודעות שוב ושוב למכתבי שרשרת באורך קילומטר שאפר לחפש בהם ללא בעייה.

לגבי ווצאפ ? ממה שאני יודע הגשר של axel-angel די לא מתחוזק יותר, אבל  ישנם מספר חברות שמספקות את השירות הזה בתשלום, כלומר יש חברות שמאפשרות לכם לקשר את הודעות הווצב העיסקי שלכם עם ממשק מיילים למשל או עם teams.
 
 ישנו פרוייקט בשם pywhatkit (כן בפייתון , זה מה שיש מצטער) שמאפשר לשלוח הודעות, וניתן להשתמש בselnium בשביל לפרסר את ההודעות שמתקבלות ב web.whatsapp.com ולשלוח, הגישה הזאת של לפרסר את ההודעות מאפשרת לכם לעבוד ללא כלים חיצוניים, לא לפתוח את המידע שלכם לחברות אחרות,
 
ואז יש לשנו את mautrix , הכלי הזה מאפשר לכם לחבר את ההודעות שיעברו ישר, וממה שאני יודע החלק הכי חשוב זה שזה דו כיווני ולא צריך להשתמש בכלים לפרסר, כי הודעות למטריקס יש לנו סיפריות למשלוח הודעות אפילו ממשק המשתמש הנורמאלי  וגם דרך באש (cli זה הנורמאלי ! ) .

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

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

והכי חשוב, האם בדקתם שעשיתם גיבי לכל ההודעת והקבוצות שלכם ? האם טענתם את הגיבויי ב VM ובדקתם שזה קורה את המידע הזה ? יופי עשו את היום!

יום חמישי, ינואר 19, 2023

הורדת תוכן משירותי מטריקס מרוחקים

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

אם תלחצו על view-source לקובץ שצורף לראות את המאפיינים ומזה לבנות את המסלול הנכון בשביל הורדה: 
 
 {
  "content": {
    "body": "logs.tar.gz",
    "info": {
      "mimetype": "application/gzip",
      "size": 25810898
    },
    "msgtype": "m.file",
    "url": "mxc://server.org/HSGQuUjcCwDioUpxqfuhLcbF"
  },
  "origin_server_ts": 1674012440565,
  "room_id": "!aposmhFoWUVIUzfllB:matrix.org",
  "sender": "@user:server.org",
  "type": "m.room.message",
  "unsigned": {},
  "event_id": "$4bhQ2eL6-CbWVaO0R8KKxWcFZYRpt3MOIYPktx7TwXI",
  "user_id": "@user:server.org"
}
  
המידע הזה צריך לשלוף את ה path מתוך ה url ולשרשר כך :

https://server.org/_matrix/media/r0/download/server.org/HSGQuUjcCwDioUpxqfuhLcbF 
 
הגישה הזאת תתן לכם להוריד את הקובץ ישירות דרך wget או אפילו דפדפן.

יום ראשון, דצמבר 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 לא סגור).
  • התממשקות לשרת הרדיוס שלי לאימות משתמשים.
  • מציאת ממשק גרפי נוח לניהול הסביבה.
  • מציאת לקוח ששומר הודעות מקומית ולא פשוט אריזת אלקטרון למה שהשרת שומר.