מפתחות גישה דינמיים

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

יש שלושה פורמטים לציון פרטי הגישה שבהם ישתמשו מפתחות הגישה הדינמיים:

אפליקציית הלקוח של 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

בחירת פלטפורמת אירוח

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

במצבים שבהם הגישה למידע עשויה להיות מוגבלת, כדאי להשתמש בפלטפורמות עמידות בצנזורה כמו Google Drive,‏ pad.riseup.net,‏ Amazon S3 (עם גישה מסוג נתיב),‏ Netlify או GitHub secret gists. חשוב להעריך את הצרכים הספציפיים של הפריסה ולבחור פלטפורמה שתואמת לדרישות שלכם לגבי נגישות ואבטחה.