@צדיק-תמים אמר בפרקטיקת התמודדות מוצלחת עם מחרוזות טקסט ארוכות:
ה-pithy לא הצלחתי למצוא CDN שלו בגוגל כדי לטעון אותו.
https://cdn.jsdelivr.net/gh/caolan/pithy@latest/lib/pithy.min.js
@צדיק-תמים אמר בפרקטיקת התמודדות מוצלחת עם מחרוזות טקסט ארוכות:
ה-pithy לא הצלחתי למצוא CDN שלו בגוגל כדי לטעון אותו.
https://cdn.jsdelivr.net/gh/caolan/pithy@latest/lib/pithy.min.js
@צדיק-תמים אם אתה רוצה עזרה בהורדה מתוך יוטיוב ישירות, ואתה מכיר טוב JS, אני יכול לתת כיוון איך להתחיל.
אם זה כלי שאתה רוצה לתת לאחרים שיפעילו בדפדפן, ושיעבוד גם כשהם לא נמצאים באתר יוטיוב, יש לזה היתכנות רק דרך תוסף (TM גם בכלל, נדמה לי).
כאמור צריך עבודה כדי להגיע למצב שזה פועל כרצוי.
מוכר, אבל ..
https://github.com/sindresorhus/awesome
@dovid
JS:
https://1loc.dev/
https://javascript.plainenglish.io/20-javascript-shorthand-techniques-that-will-save-your-time-f1671aab405f
https://www.30secondsofcode.org/
https://github.com/trekhleb/javascript-algorithms
CSS:
https://csslayout.io/
bash\shell
https://linuxcommand.org/
אבטחת מידע:
https://github.com/riramar/Web-Attack-Cheat-Sheet
https://cyber-eliya.com/ (בעברית)
זה מה שכרגע נזכרתי או שמרתי ממה שראיתי בעבר, אם יהיה עוד אשתדל לשתף.
זה שייך ל"מסתעף":
https://github.com/awesome-selfhosted/awesome-selfhosted
https://github.com/trimstray/the-book-of-secret-knowledge
https://github.com/ripienaar/free-for-dev
יש עוד כמה וכמה כאלו, השאלה אם זה גם כיוון טוב.
@זלמן
נסה גם אופציה נוספת:
לפתוח את קובץ התוכנה באמצעות תוכנת 7-ZIP ולחלץ את כל התוכן שלה לתיקייה כלשהי (עדיף ריקה ובמיקום מסודר).
לאחר מכן הפעל את הקובץ wsatoolbox.hta .
@פלורידה
ראה לדוגמה
https://f1.210.co.il/fix-le.bat
מכאן
https://netfree.link/wiki/תיקון_בעיית_פג_תוקף_של_תעודת_Lets_Encrypt
יש עוד אופציות שמופיעות בחיפוש SO
@katz אין לי ניסיון מספק בנושא שליחת מייל דרך שרתי GMAIL (כשניסיתי כמה פעמים זה כן עבד, וזה היה די מזמן, אולי אתה משתמש בחיבור לא מאובטח כלומר בSMTP לא מאובטח כדי לגשת לשרתי גוגל).
יש כאן גם אלמנט של מניעת שימוש מסחרי בשירות שלהם.
למה שלא תשקול לרכוש דומיין ולהקים שרת SMTP פרטי.
או לשלוח דרך שירותים צד ג'.
לא מזמן נתקלתי בתכונה חמודה שנוספה לאובייקט net - המודול המובנה בnode.js לטיפול בתעבורת רשת.
האובייקט שנוסף נקרא BlockList, והוא מאפשר לשמור ולעדכן (באופן חד-כיווני) רשימה "שחורה" של מספרי IP או טווח של מספרים כאלו, בצמוד לאובייקט net.
ומה קורה כשמתקבלת בקשה בשרת ממספר שנמצא ברשימה הרשחורה? - טוב ששאלתם: כלום.. כלומר, קורה בדיוק מה שקורה כשמספר אחר שולח בקשה דומה.
לפי הנוסח המופיע באתר התיעוד, בתרגום חופשי, אפשר לנסח זאת כך: "האובייקט יכול לבוא לשימוש עם מערכות API כלשהן, כדי לבטל את האפשרות של חיבורים נכנסים או יוצאים עבור מספרי IP ספציפיים או טווח של מספרים".
אז איך זה יכול לעזור לנו לממש את החלומות על מערכת מפולטרת ומאובטחת שתמיד חלמנו לפתח?
אז זהו שלא ממש עוזר, אבל נחמד זה כן.
קוד בסיסי לדוגמה עבור המודול HTTP:
const http = require('http');
const net = require('net');
let server = http.createServer((req, res) => {
//console.log(`source ip: ${req.socket.remoteAddress} ,BlockList rules: ${res.socket.server.BlockList.rules} ,ip match rules: ${res.socket.server.BlockList.check(req.socket.remoteAddress)}`);
if (server.BlockList.check(req.socket.remoteAddress)) {
res.statusCode = 403;
return res.end();
}
res.end('hello FILTERED world!')
});
const BlockList = new net.BlockList();
BlockList.addAddress('127.0.0.1', 'ipv4');
server.BlockList = BlockList;
server.listen(8080, '0.0.0.0');
ובשימוש בexpress ניתן להוסיף middleware:
app.use((req, res, next) => {
if (req.socket.server.BlockList.check(req.socket.remoteAddress)) {
return res.status(403).end();
next();
});
כמה נקודות:
לחסום את אלו שברשימה השחורה באופן "מקצועי", כלומר לחסום את האפשרות ליצור socket עם השרת (בשונה מהקמת סוקט ושליחת תוכן בתוך הסוקט, כשהתוכן כולל הודעת חסימה), באמצעות REJECT או DROP (מונחים שמתייחסים לתעבורת הTCP: שליחת הודעת ניתוק בעת ניסיון ליצור סוקט, או חוסר תגובה לניסיון כזה, בהתאמה) לא ניתן באמצעות הprocess של Node עצמו (וגם לא באמצעות python לדוגמה) בלי התממשקות עם מערכת ההפעלה באופן כלשהו (בlinux התממשקות עם netfilter, ובwin עם winsock), מכיון שמערכת ההפעלה היא זו שמקימה את החיבור, ומעבירה את השליטה בsocket שהוקם לnode לאחר שהחיבור כבר הוקם.
ניתן לקרוא בנושא למשל כאן.
אמנם עדיין נוכל לטרוק להם את הדלת בצורה לא נעימה בכלל, עם הקוד הזה:
req.socket.destroy()
למהדרין ניתן בקלות להוסיף קוד שיריץ פקודה בiptables (או netsh עבור WIN) שתבצע את החסימה ולא תאפשר ל"שחורים" לפתוח סוקט עם השרת, אבל שני פרטים כדאי לזכור:
השאלות שנשארו פתוחות:
אשמח למידע בתגובות.
@ב-ל אמר בעזרה heroku + mongoose:
mongodb://127.0.0.1:27017/blog
כי זה לא נגיש לה, כנראה, זה קיים רק בתוך המחשב שלך.
האם הגדרת את זה:
process.env.MONGO_URI
?
הפקודה הזו:
WMIC path win32_process get | findstr -i csrss.exe
וגם אולי הדוגמה הקודמת שהבאת, אמנם לא נותנים את הpath, אבל כנראה שאפשר לעבד מתוכם מידע אם התהליך רץ בהרשאות system. עצם זה שהתהליך רץ בהרשאות system אומרת לך שלא טעית בקובץ, ואם מישהו שינה את שם קובץ כלשהי והריץ אותו הוא לא ירוץ בהרשאות כאלו.
@freedom זה בדרך כלל כן שייך לקבוצה כלשהי.
נסו להכנס לקבוצות גוגל, ולמחוק קבוצה שאתם לא מכירים, אם קיימת.
@yits אמר בהמרת קבצי SVG ל PDF:
אני מעוניין במוסף הסיפורים בPDF
https://send.magicode.me/send-file/file/12bf59b4fac7a6449aa66ea5380a9e7e8e17983d/download
האם ניתן באמצעות הדפדפן להדפיס דף אינטרנט מתוך אתר כקובץ PDF בעל דפים בגדלים שונים?
הכוונה היא שהנ"ל יעשה באמצעות קוד CSS סטטי ולא באמצעות יצירת קובץ בצד השרת.
ניסיתי על פי האמור כאן ולא הצלחתי.
אשמח לדעת שאפשר על פי ניסיון או לקבל דוגמת קוד שתמחיש זאת..
תודה.
@יוני אמר בהורדת הרבה תמונות מאתר:
תודה רבה עם איזה פקודה עשית את זה ?
for i in {01..60}; do curl http://www.coloring-book.info/coloring/Hello%20Kitty/hello-kitty-$i.jpg -OJL; done && zip img.zip *