ב-Outline יש שני סוגים של מפתחות גישה: סטטיים ודינמיים. במפתחות סטטיים כל פרטי החיבור מקודדים בתוך המפתח עצמו, ואילו במפתחות דינמיים מקודדים המיקום של פרטי החיבור, כך שאפשר לאחסן את המידע הזה מרחוק ולשנות אותו לפי הצורך. המשמעות היא שאפשר לעדכן את הגדרות השרת בלי שתצטרכו ליצור מפתחות חדשים ולחלק אותם למשתמשים. במאמר הזה מוסבר איך להשתמש במפתחות גישה דינמיים לניהול גמיש ויעיל יותר של שרת Outline.
יש שלושה פורמטים לציון פרטי הגישה שבהם ישתמשו מפתחות הגישה הדינמיים:
שימוש בקישור ss://
אפליקציית הלקוח של Outline מגרסה 1.8.1 ואילך
אפשר להשתמש ישירות בקישור ss://
קיים. השיטה הזו אידיאלית אם אתם לא צריכים לשנות לעיתים קרובות את השרת, היציאה או שיטת ההצפנה, אבל עדיין רוצים ליהנות מגמישות לעדכון כתובת השרת.
דוגמה:
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl@outline-server.example.com:8388/?outline=1
שימוש באובייקט JSON
אפליקציית הלקוח של Outline מגרסה 1.8.0 ואילך.
השיטה הזו מאפשרת יותר גמישות בניהול כל ההיבטים של החיבור של המשתמשים ל-Outline. כך תוכלו לעדכן את השרת, היציאה, הסיסמה ושיטת ההצפנה.
דוגמה:
{
"server": "outline-server.example.com",
"server_port": 8388,
"password": "example",
"method": "chacha20-ietf-poly1305"
}
- server: הדומיין או כתובת ה-IP של שרת ה-VPN.
- server_port: מספר היציאה שבו פועל שרת ה-VPN.
- password: הסיסמה הנדרשת כדי להתחבר ל-VPN.
- method: שיטת ההצפנה שבה משתמש ה-VPN. מפתחות הצפנה מסוג AEAD שנתמכים ב-Shadowsocks
שימוש באובייקט YAML
אפליקציית הלקוח של Outline מגרסה 1.15.0 ואילך.
השיטה הזו דומה לשיטה הקודמת של JSON, אבל היא מוסיפה גמישות רבה יותר על ידי ניצול הפורמט המתקדם של Outline להגדרות. אפשר לעדכן את השרת, היציאה, הסיסמה, שיטת ההצפנה ועוד הרבה.
דוגמה:
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint: outline-server.example.com:8388
cipher: chacha20-ietf-poly1305
secret: example
udp:
$type: shadowsocks
endpoint: outline-server.example.com:8388
cipher: chacha20-ietf-poly1305
secret: example
- transport: הגדרת פרוטוקולי התעבורה שישמשו (TCP ו-UDP במקרה הזה).
- tcp/udp: קובע את ההגדרה של כל פרוטוקול.
- $type: מציין את סוג ההגדרה, במקרה הזה shadowsocks.
- נקודת קצה: הדומיין או כתובת ה-IP והיציאה של שרת ה-VPN.
- secret: הסיסמה הנדרשת כדי להתחבר ל-VPN.
- cipher: שיטת ההצפנה שבה משתמש ה-VPN. מידע על הצפנים של AEAD הנתמכים ב-Shadowsocks
במאמר הגדרת מפתח גישה מפורטות כל הדרכים שבהן אפשר להגדיר גישה לשרת Outline, כולל אמצעי תחבורה, נקודות קצה, מתקשרים ומאזינים לחבילות.
חילוץ פרטי הגישה ממפתח סטטי
אם יש לכם מפתח גישה סטטי קיים, תוכלו לחלץ את המידע כדי ליצור מפתח גישה דינמי שמבוסס על JSON או YAML. מפתחות הגישה הסטטיים פועלים לפי הדפוס הבא:
SS-URI = "ss://" userinfo "@" hostname ":" port [ "/" ] [ "#" tag ]
userinfo = websafe-base64-encode-utf8(method ":" password)
method ":" password
דוגמה:
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl@outline-server.example.com:8388/?outline=1
- שרת:
outline-server.example.com
- יציאת השרת:
8388
User Info:
Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl
מפוענח כ-base64 באמצעות כלי כמו Encode/Decode מארגז הכלים של Google Admin- Method:
chacha20-ietf-poly1305
- סיסמה:
example
- Method:
בחירת פלטפורמת אירוח
עכשיו, אחרי שהבנתם איך יוצרים מפתחות גישה דינמיים, חשוב לבחור פלטפורמת אירוח מתאימה להגדרת מפתחות הגישה. כשאתם מקבלים את ההחלטה הזו, כדאי להביא בחשבון גורמים כמו האמינות, האבטחה, קלות השימוש והעמידות של הפלטפורמה בצנזורה. האם הפלטפורמה תספק באופן עקבי את פרטי מפתח הגישה ללא זמן השבתה? האם יש בה אמצעי אבטחה מתאימים להגנה על ההגדרות? עד כמה קל לנהל את פרטי מפתח הגישה בפלטפורמה? האם אפשר לגשת לפלטפורמה באזורים עם צנזור באינטרנט?
במצבים שבהם הגישה למידע עשויה להיות מוגבלת, כדאי להשתמש בפלטפורמות עמידות בצנזורה כמו Google Drive, pad.riseup.net, Amazon S3 (עם גישה מסוג נתיב), Netlify או GitHub secret gists. חשוב להעריך את הצרכים הספציפיים של הפריסה ולבחור פלטפורמה שתואמת לדרישות שלכם לגבי נגישות ואבטחה.