• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות
    1. דף הבית
    2. Perfect
    3. פוסטים
    P מנותק
    • פרופיל
    • עוקב אחרי 0
    • עוקבים 2
    • נושאים 4
    • פוסטים 15
    • קבוצות 0

    פוסטים

    פוסטים אחרונים הגבוה ביותר שנוי במחלוקת
    • RE: תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

      עדכון: בקרוב תתווסף אפשרות לשמיעת וחיפוש הודעות מערכת, וכן קבלת כל קבצי ההגדרות במייל.

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • כל הגדרות המערכת להורדה⬇️כקבצי טקסט📋

      לתועלת הרבים מצורף בזה כל קבצי ההגדרות המעודכנים.
      קבצי הגדרות - ימות המשיח מעודכן אלול פ''ו

      כמו כן ניתן לקבל למייל במספר 033046966 שלוחה 6

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

      בנוסף קוד פייתון להורדת כל הקבצים מאזור התעשייה.

      #!/usr/bin/env python3
      import argparse, json, re, sys, ssl, os
      from urllib.request import Request, urlopen
      from urllib.error import HTTPError, URLError
      from urllib.parse import quote
      
      BASE = "https://f2.freeivr.co.il"
      DCID = "1"
      DSLUG = "אזור-התעשייה-הגדרות-המערכת"
      ctx = ssl.create_default_context()
      ctx.check_hostname = False
      ctx.verify_mode = ssl.CERT_NONE
      
      def fj(url):
          r = Request(url, headers={"Accept": "application/json", "User-Agent": "scraper/1.0"})
          with urlopen(r, timeout=15, context=ctx) as resp:
              return json.loads(resp.read().decode("utf-8"))
      
      def sh(text):
          if not text:
              return ""
          text = re.sub(r"<[^>]*>", "", text)
          for o, n in {"&nbsp;": " ", "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#39;": "'", "&#x2F;": "/"}.items():
              text = text.replace(o, n)
          return text.strip()
      
      def dl(tid):
          posts = []
          title = ""
          for page in range(1, 51):
              data = fj(f"{BASE}/api/topic/{tid}?page={page}")
              if page == 1:
                  title = sh(data.get("title", str(tid)))
              tp = data.get("pagination", {}).get("pageCount", 1)
              for p in data.get("posts", []):
                  posts.append(sh(p.get("content", "")))
              if page >= tp:
                  break
          lines = []
          for p in posts:
              lines.append(p)
              lines.append("")
              lines.append("")
          st = re.sub(r'[\\/:*?"<>|]', "", title)
          st = re.sub(r'[a-zA-Z_]+', " ", st)
          st = re.sub(r'\s+', " ", st).strip()[:50]
          desk = os.path.join(os.path.expanduser("~"), "Desktop")
          folder = os.path.join(desk, "אזור התעשיה")
          os.makedirs(folder, exist_ok=True)
          fn = os.path.join(folder, f"{st}.txt")
          with open(fn, "w", encoding="utf-8") as f:
              f.write("\n".join(lines))
          print(f"  OK {st}.txt ({len(posts)} posts)")
      
      def main():
          ap = argparse.ArgumentParser()
          ap.add_argument("--txt-all", action="store_true")
          ap.add_argument("--txt", action="store_true")
          ap.add_argument("--topics")
          ap.add_argument("--cid", default=DCID)
          ap.add_argument("--slug", default=DSLUG)
          ap.add_argument("--page", type=int, default=1)
          ap.add_argument("--save")
          a = ap.parse_args()
          try:
              if a.txt_all:
                  items = []
                  page = 1
                  while True:
                      data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={page}")
                      ts = data.get("topics", [])
                      if not ts:
                          break
                      for t in ts:
                          items.append({"tid": t.get("tid"), "title": t.get("title", "")})
                      page += 1
                  print(f"Found {len(items)} topics")
                  c = 0
                  for i in items:
                      if i["tid"] is None:
                          continue
                      try:
                          print(f"Topic {i['tid']}")
                          dl(i["tid"])
                          c += 1
                      except Exception as e:
                          print(f"  SKIP {i['tid']}: {e}")
                  print(f"\nDone! {c} files saved")
                  return
              if a.txt and a.topics:
                  for t in a.topics.split(","):
                      print(f"\nDownloading topic {t.strip()}")
                      dl(int(t.strip()))
                  return
              data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={a.page}")
              topics = []
              for t in data.get("topics", []):
                  topics.append({"id": t.get("tid"), "title": t.get("title"), "author": t.get("user", {}).get("username"), "posts": t.get("postcount")})
              result = {"topic_count": len(topics), "topics": topics}
              if a.save:
                  with open(a.save, "w", encoding="utf-8") as f:
                      f.write(json.dumps(result, ensure_ascii=False, indent=2))
                  print(f"Saved: {a.save}")
              else:
                  print(json.dumps(result, ensure_ascii=False, indent=2))
          except Exception as e:
              print(f"ERROR: {e}", file=sys.stderr)
              sys.exit(1)
      
      if __name__ == "__main__":
          main()
      
      

      לא ממש יודעים מה זה פייתון?
      הדרכה מסודרת שלב אחר שלב בספויילר

      מדריך מלא — הורדת פוסטים מפורום FreeIVR
      מה אנחנו עושים?
      אנחנו הולכים להוריד פוסטים מאתר אינטרנט (פורום) ולשמור אותם כקבצי טקסט במחשב.

      שלב 1 — התקנת פייתון (Python)
      פייתון היא תוכנה חינמית שמריצה סקריפטים (קטעי קוד קטנים).

      כנס לאתר: https://www.python.org/downloads/
      לחץ על הכפתור הצהוב "Download Python" (הורד פייתון)
      פתח את הקובץ שהורדת
      חשוב מאוד! במסך הראשון שנפתח, למטה יש תיבה קטנה שכתוב עליה "Add Python to PATH" (הוסף פייתון ל-PATH) — סמן אותה ב-V!
      לחץ על "Install Now" (התקן עכשיו)
      חכה שההתקנה תסתיים (יופיע כיתוב "Setup was successful")
      לחץ "Close" (סגור)
      שלב 2 — פתיחת שורת הפקודה (Command Prompt)
      שורת הפקודה היא חלון שחור שבו אנחנו כותבים פקודות למחשב.

      לחץ על מקש Windows (המקש עם הלוגו של Windows, בין Ctrl ל-Alt)
      כתוב: cmd
      לחץ Enter
      ייפתח חלון שחור עם טקסט לבן.

      כתוב את הפקודה הבאה ולחץ Enter:

      python --version
      

      אמור להופיע משהו כמו Python 3.12.x. אם כן — מצוין, פייתון מותקן. אם לא — חזור לשלב 1 וודא שסימנת "Add Python to PATH".

      שלב 3 — יצירת תיקייה לעבודה
      לחץ על מקש Windows
      כתוב: cmd
      לחץ Enter
      כתוב את הפקודות הבאות (כל אחת ואז Enter):

      cd Desktop
      mkdir freeivr
      cd freeivr
      

      מה זה עושה?

      cd Desktop — עובר לשולחן העבודה (Desktop = שולחן עבודה)
      mkdir freeivr — יוצר תיקייה חדשה בשם freeivr (mkdir = make directory = צור תיקייה)
      cd freeivr — נכנס לתיקייה (cd = change directory = החלף תיקייה)
      שלב 4 — יצירת קובץ הסקריפט
      לחץ על מקש Windows
      כתוב: notepad
      לחץ Enter — ייפתח פנקס רשימות (Notepad)
      העתק את כל הקוד הבא והדבק ב-Notepad:

      #!/usr/bin/env python3
      import argparse, json, re, sys, ssl, os
      from urllib.request import Request, urlopen
      from urllib.error import HTTPError, URLError
      from urllib.parse import quote
      
      BASE = "https://f2.freeivr.co.il"
      DCID = "1"
      DSLUG = "אזור-התעשייה-הגדרות-המערכת"
      ctx = ssl.create_default_context()
      ctx.check_hostname = False
      ctx.verify_mode = ssl.CERT_NONE
      
      def fj(url):
          r = Request(url, headers={"Accept": "application/json", "User-Agent": "scraper/1.0"})
          with urlopen(r, timeout=15, context=ctx) as resp:
              return json.loads(resp.read().decode("utf-8"))
      
      def sh(text):
          if not text:
              return ""
          text = re.sub(r"<[^>]*>", "", text)
          for o, n in {"&nbsp;": " ", "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#39;": "'", "&#x2F;": "/"}.items():
              text = text.replace(o, n)
          return text.strip()
      
      def dl(tid):
          posts = []
          title = ""
          for page in range(1, 51):
              data = fj(f"{BASE}/api/topic/{tid}?page={page}")
              if page == 1:
                  title = sh(data.get("title", str(tid)))
              tp = data.get("pagination", {}).get("pageCount", 1)
              for p in data.get("posts", []):
                  posts.append(sh(p.get("content", "")))
              if page >= tp:
                  break
          lines = []
          for p in posts:
              lines.append(p)
              lines.append("")
              lines.append("")
          st = re.sub(r'[\\/:*?"<>|]', "", title)
          st = re.sub(r'[a-zA-Z_]+', " ", st)
          st = re.sub(r'\s+', " ", st).strip()[:50]
          desk = os.path.join(os.path.expanduser("~"), "Desktop")
          folder = os.path.join(desk, "אזור התעשיה")
          os.makedirs(folder, exist_ok=True)
          fn = os.path.join(folder, f"{st}.txt")
          with open(fn, "w", encoding="utf-8") as f:
              f.write("\n".join(lines))
          print(f"  OK {st}.txt ({len(posts)} posts)")
      
      def main():
          ap = argparse.ArgumentParser()
          ap.add_argument("--txt-all", action="store_true")
          ap.add_argument("--txt", action="store_true")
          ap.add_argument("--topics")
          ap.add_argument("--cid", default=DCID)
          ap.add_argument("--slug", default=DSLUG)
          ap.add_argument("--page", type=int, default=1)
          ap.add_argument("--save")
          a = ap.parse_args()
          try:
              if a.txt_all:
                  items = []
                  page = 1
                  while True:
                      data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={page}")
                      ts = data.get("topics", [])
                      if not ts:
                          break
                      for t in ts:
                          items.append({"tid": t.get("tid"), "title": t.get("title", "")})
                      page += 1
                  print(f"Found {len(items)} topics")
                  c = 0
                  for i in items:
                      if i["tid"] is None:
                          continue
                      try:
                          print(f"Topic {i['tid']}")
                          dl(i["tid"])
                          c += 1
                      except Exception as e:
                          print(f"  SKIP {i['tid']}: {e}")
                  print(f"\nDone! {c} files saved")
                  return
              if a.txt and a.topics:
                  for t in a.topics.split(","):
                      print(f"\nDownloading topic {t.strip()}")
                      dl(int(t.strip()))
                  return
              data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={a.page}")
              topics = []
              for t in data.get("topics", []):
                  topics.append({"id": t.get("tid"), "title": t.get("title"), "author": t.get("user", {}).get("username"), "posts": t.get("postcount")})
              result = {"topic_count": len(topics), "topics": topics}
              if a.save:
                  with open(a.save, "w", encoding="utf-8") as f:
                      f.write(json.dumps(result, ensure_ascii=False, indent=2))
                  print(f"Saved: {a.save}")
              else:
                  print(json.dumps(result, ensure_ascii=False, indent=2))
          except Exception as e:
              print(f"ERROR: {e}", file=sys.stderr)
              sys.exit(1)
      
      if __name__ == "__main__":
          main()
      

      ב-Notepad לחץ קובץ (File) → שמירה בשם (Save As)
      נווט לתיקייה freeivr שיצרנו על שולחן העבודה
      בשדה "שם הקובץ" (File name) כתוב בדיוק: freeivr_scraper.py
      בשדה "שמור כסוג" (Save as type) בחר "כל הקבצים" (All Files) — לא "מסמכי טקסט"!
      בשדה "קידוד" (Encoding) בחר UTF-8
      לחץ "שמור" (Save)
      שלב 5 — הרצת הסקריפט
      חזור לחלון השחור (cmd)
      ודא שאתה בתיקייה freeivr (אם לא — כתוב cd Desktop\freeivr)
      כתוב את הפקודה:

      python freeivr_scraper.py --txt-all
      

      לחץ Enter
      מה יקרה עכשיו? הסקריפט יוריד את כל הנושאים מהפורום וישמור כל אחד כקובץ טקסט בתיקיית אזור התעשיה על שולחן העבודה. זה יכול לקחת דקה-שתיים.

      בסוף תראה משהו כמו:

      Done! 163 files saved
      

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

      python freeivr_scraper.py --txt --topics 8166
      

      (החלף 8166 במספר הנושא שתרצה)

      לראות רשימת נושאים בלי להוריד

      python freeivr_scraper.py
      

      מילון מונחים
      אנגלית עברית
      Python פייתון (שפת תכנות)
      Download הורדה
      Install התקנה
      Command Prompt (cmd) שורת הפקודה
      Desktop שולחן העבודה
      Directory / Folder תיקייה
      File קובץ
      Save As שמירה בשם
      All Files כל הקבצים
      Encoding קידוד
      UTF-8 UTF-8 (פורמט טקסט שתומך בעברית)
      Notepad פנקס רשימות
      PATH PATH (משתנה סביבה של Windows)
      Script סקריפט (קטע קוד)
      Enter Enter (מקש אישור)
      Copy העתקה
      Paste הדבקה

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • RE: דרוש מתנדב להעלאת כמה קבצים לאתר שעדיין לא נבדק

      אכן @הדיבל-המעופף שלח לי מייל, כרגע אני לא צריך עוד, אולי מחר.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      P
      Perfect
    • RE: דרוש מתנדב להעלאת כמה קבצים לאתר שעדיין לא נבדק

      קדרה דבי שותפי... עדיין לא קיבלתי מייל מי שיכול שישלח.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      P
      Perfect
    • RE: תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

      @הדיבל-המעופף טוב רק שבוע שאני צריך להיות על זה כל היום.

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • RE: תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

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

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • RE: דרוש מתנדב להעלאת כמה קבצים לאתר שעדיין לא נבדק

      @וזכיני-לגדל @פלפל-שחור @מ.ל.ל @איפכא-מסתברא @דף-חדש @חרב-פיפיות
      או כל מישהו אחר, אם תוכל לשלוח ל a033046966@gmail.com

      פורסם בעזרה הדדית למשתמשים מתקדמים
      P
      Perfect
    • RE: דרוש מתנדב להעלאת כמה קבצים לאתר שעדיין לא נבדק

      לא תכננתי כזאת הצפה...
      סה"כ הלכתי כמה דקות, עכ"פ המייל שלי הוא a033046966@gmail.com

      פורסם בעזרה הדדית למשתמשים מתקדמים
      P
      Perfect
    • דרוש מתנדב להעלאת כמה קבצים לאתר שעדיין לא נבדק

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

      זה יתפרסם פה בעז"ה כך שזה גם זיכוי הרבים.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      P
      Perfect
    • RE: תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

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

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • RE: תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

      @אA שלחתי

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • RE: תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

      @אA כתב:

      @Perfect
      מה זה החלפת טקסטים?

      לדוגמא אם כתוב בקובץ no_ringing=yes ואתה רוצה להחליף ל no_ringing=no אז אתה נכנס לשלוחה מקיש מילה להחלפה yes ומקיש מילה חדשה no וזהו.

      מחיקת שורה יש בעזר פון.

      אבל רק בקובץ ext

      @121244 כתב:

      @Perfect דווקא היה נראה לי שלקחת השראה מהמערכת הגדרות שלי....

      גם נכון ריכזתי את כל מה שחשבתי עליו כמובן שזה כולל גם את המערכת שלך...

      @הדיבל-המעופף כתב:

      @Perfect
      א. תוסיף אשף להגדרת סוג שלוחה

      איפה ואיך?

      ב. תבטל את הצליל חיוג!!!

      בוצע

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • RE: תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

      @lavitoren-הטי-ל כתב:

      @Perfect • שינוי שם הקובץ. דבר שלא היה בשום פלטפורמה חזק ביותר!!!

      נראה לי שיש את זה בדוד מלך ישראל, ועם כל הכבוד לא הייתי משקיע רק על זה...

      האופציות שאין בקווים אחרים (עד כמה שידוע לי)

      • שמיעת כמות שמות הקבצים בשלוחה.
      • שמיעת תוכן הקובץ במילים.
      • עדכון הגדרות בקובץ – כולל בדיקה האם קיים ערך ישן והחלפתו בקובץ ini
      • מחיקת שורה בודדת ע"פ מספר שורה/ע"פ מפתח הגדרה בקובץ ini
      • החלפת טקסטים בקובץ ini

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • תגובות: חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

      כאן ניתן להגיב על חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...
      שימו לב אין שום אחריות על כל נזק שיגרם כתוצאה משימוש בקו, עם זאת כל האופציות נבדקו עשרות פעמים ללא תקלות.
      נשמח מאוד לשמוע כל הערה שיש לכם או דיווח על באגים שקיימים במערכת.

      פורסם בטיפים עצות והדגמות מהמשתמשים
      P
      Perfect
    • חדש! קו טלפון 📞 לעריכת קבצי ini 📄 באופן מלא + הגדרות נוספות בדרך...

      שלום לכולם!
      אני שמח להציג בפניכם מערכת טלפונית לניהול מלא של קבצי ini + ניהול שלוחות.

      מה הם האופציות בקו?

      • ניהול קבצי ini
        • שמיעת כמות שמות הקבצים בשלוחה.
        • בדיקה האם הקובץ קיים.
        • שמיעת תוכן הקובץ במילים.
        • שמיעת תוכן הקובץ אות אחר אות.
        • עדכון הגדרות בקובץ – כולל בדיקה האם קיים ערך ישן והחלפתו.
        • כתיבת תוכן הקובץ מחדש.
        • שינוי שם הקובץ.
        • העתקת הקובץ לשלוחה אחרת.
        • מחיקת הקובץ.
        • שמיעת מספר השורות בקובץ.
        • מחיקת שורה בודדת ע"פ מספר שורה/ע"פ מפתח הגדרה.
        • החלפת טקסטים בקובץ.

      • ניהול שלוחות:
        • העתקת שלוחות.
        • העברת שלוחות.
        • מחיקת שלוחות.

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

      • שמיעת וחיפוש הודעות מערכת.

      • קבלת כל קבצי ההגדרות למייל

      מספר הקו הוא 033046966

      אשמח לראות הערות הארות ובקשות לשלוחות נוספות בתגובות

      פורסם בהסברים מסודרים ממשתמשים
      P
      Perfect