انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => شبکه و سرویس‌ دهنده‌ها => نویسنده: مجتبی باغبان در 17 بهمن 1403، 06:51 ب‌ظ

عنوان: کلاینت سایفون با استفاده از systemctl (حل شد)
ارسال شده توسط: مجتبی باغبان در 17 بهمن 1403، 06:51 ب‌ظ
من از دستور زیر برای اجرای سایفون استفاده می‌کنم و به‌درستی کار می کنه.
psiphon-console-client -config /etc/psiphon/client.configو محتوای فایل کانفیگ هم اینه:
{
    "___comment": "More options: https://github.com/Psiphon-Labs/psiphon-tunnel-core/blob/master/psiphon/config.go",
    "___comment": "DataRootDirectory must exist (otherwise this crashes). If the key is missing, it uses the current directory.",
    "LocalHttpProxyPort": 8081,
    "LocalSocksProxyPort": 1081,
    "PropagationChannelId": "FFFFFFFFFFFFFFFF",
    "SponsorId": "FFFFFFFFFFFFFFFF",
    "EgressRegion": "GB",
    "UpstreamProxyURL": ""
}
حالا برای اینکه این دستور رو به عنوان سرویس با systemd کنترل کنم فایل psiphon.service رو در مسیر
/lib/systemd/systemایجاد کردم که محتوای فایل اینه:
[Unit]
Description=Psiphon
# After=network.target
[Service]
# Type=forking
ExecStart=psiphon-console-client -config /etc/psiphon/client.config
# ExecStop=/usr/local/bin/nzbget -Q
# Restart=on-failure
# User=mojtaba
# Group=mojtaba
[Install]
# WantedBy=default.target

با اینکه الان خیلی راحت می تونم با systemd کنترلش کنم و هیچ خطایی هم نمی‌دهد اما هنگام اجرا با systemd وقتی نتظیمات مرورگر را روی پروکسی سایفون تنظیم می‌کنم هیچ سایتی باز نمی‌شود. در صورتی که وقتی بدون استفاده از systemd و به‌صورت دستی آن را اجرا می کنم و نتظیمات مرورگر را روی پروکسی سایفون تنظیم می‌کنم همه‌چیز به‌خوبی کار می‌کند.
ممنون میشم راهنمایی بفرمایید.
عنوان: پاسخ : کلاینت سایفون با استفاده از systemctl
ارسال شده توسط: abc در 17 بهمن 1403، 11:42 ب‌ظ
تا حالا از این استفاده نکرده‌ام و باهاش آشنا نیستم، ولی اگر این محتوایی که گذاشتی دقیقا برابر با چیزی است که در psiphon.service قرارداده‌ای، باید عرض کنم که (به جز در مواردی خاص) خط‌هایی که با هشتگ شروع می‌شوند عملا در اجرای سرویس تاثیری ندارند. اگر شد هشتگ‌های ابتدای خطوط را حذف کن و بعد سرویس را دوباره راه‌اندازه کن و ببین آیا درست کار می‌کند یا نه.
عنوان: پاسخ : کلاینت سایفون با استفاده از systemctl
ارسال شده توسط: مجتبی باغبان در 18 بهمن 1403، 01:28 ق‌ظ
تا حالا از این استفاده نکرده‌ام و باهاش آشنا نیستم، ولی اگر این محتوایی که گذاشتی دقیقا برابر با چیزی است که در psiphon.service قرارداده‌ای، باید عرض کنم که (به جز در مواردی خاص) خط‌هایی که با هشتگ شروع می‌شوند عملا در اجرای سرویس تاثیری ندارند. اگر شد هشتگ‌های ابتدای خطوط را حذف کن و بعد سرویس را دوباره راه‌اندازه کن و ببین آیا درست کار می‌کند یا نه.
این مورد که خطوطی که با # شروع می‌شن بی‌تاثیر هستن رو می‌دونم.
سرویس درست اجرا میشه و وقتی سرویس رو استارت می‌کنم، کد زیر
psiphon-console-client -config /etc/psiphon/client.configاجرا میشه ولی پروکسی کار نمی‌کنه. در حالی که با اجرای دستی این خط، پروکسی کار می‌کنه
عنوان: پاسخ : کلاینت سایفون با استفاده از systemctl
ارسال شده توسط: مجتبی باغبان در 19 بهمن 1403، 01:21 ق‌ظ
مشکل ربطی به فایل سرویس نداشت. بلکه مشکل این بود که نمیدونم چرا اگه مسیر DataRootDirectory از مقدار پیش‌فرضش که دایرکتوری جاری است و واسه من دایرکتوری home کاربر بود تغییر کنه، دیگه سایفون نمی‌تونه به سرورهاش کانکت بشه.
محتوای فایل کانفیگ رو به این  تغییر دادم.
{
    "___comment": "More options: https://github.com/Psiphon-Labs/psiphon-tunnel-core/blob/master/psiphon/config.go",
    "___comment": "DataRootDirectory must exist (otherwise this crashes). If the key is missing, it uses the current directory.",
    "LocalHttpProxyPort": 8081,
    "DataRootDirectory": "/home/mojtaba",
    "LocalSocksProxyPort": 1081,
    "PropagationChannelId": "FFFFFFFFFFFFFFFF",
    "SponsorId": "FFFFFFFFFFFFFFFF",
    "EgressRegion": "GB",
    "UpstreamProxyURL": ""
}
و محتوای فایل psiphon.service رو هم تغییر دادم
[Unit]
Description=Psiphon
After=network.target
[Service]
# Type=forking
ExecStart=/usr/bin/psiphon-console-client -config /etc/psiphon/client.config
# ExecStop=/usr/local/bin/nzbget -Q
# Restart=on-failure
User=mojtaba
Group=mojtaba
[Install]
WantedBy=default.target
نمی‌دونم کلا اصولی کار کردم یا نه ولی با حدس و آزمایش انجام دادم و داره کار می‌کنه.
اگه پیشنهاد بهتری نبود «حل شد» رو به عنوان اضافه می‌کنم.
ممنون از شما
عنوان: پاسخ : کلاینت سایفون با استفاده از systemctl
ارسال شده توسط: مجتبی باغبان در 19 بهمن 1403، 04:15 ب‌ظ
کلا مشکل از کانفیگ سایفون بود. و دلیل اینکه وقتی DataRootDirectory روی home کاربر بود کار می‌کرد این بود که قبلش بسته  psiphonlinuxgui اجرا شده بود و با تنظیمات درست فایل‌های مورد نیاز رو در شاخه home کاربر ساخته بود. پس من تنطیمات درست رو از صفحه گیت‌هاب psiphonlinuxgui کپی و استفاده کردم. الان با تنظیمات زیر همه‌چیز به‌درستی کار می‌کنه.
فایل client.config
{
  "LocalHttpProxyPort": 8081,
  "LocalSocksProxyPort": 1081,
  "EgressRegion": "GB",
  "PropagationChannelId": "FFFFFFFFFFFFFFFF",
  "RemoteServerListDownloadFilename": "remote_server_list",
  "RemoteServerListSignaturePublicKey": "MIICIDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAt7Ls+/39r+T6zNW7GiVpJfzq/xvL9SBH5rIFnk0RXYEYavax3WS6HOD35eTAqn8AniOwiH+DOkvgSKF2caqk/y1dfq47Pdymtwzp9ikpB1C5OfAysXzBiwVJlCdajBKvBZDerV1cMvRzCKvKwRmvDmHgphQQ7WfXIGbRbmmk6opMBh3roE42KcotLFtqp0RRwLtcBRNtCdsrVsjiI1Lqz/lH+T61sGjSjQ3CHMuZYSQJZo/KrvzgQXpkaCTdbObxHqb6/+i1qaVOfEsvjoiyzTxJADvSytVtcTjijhPEV6XskJVHE1Zgl+7rATr/pDQkw6DPCNBS1+Y6fy7GstZALQXwEDN/qhQI9kWkHijT8ns+i1vGg00Mk/6J75arLhqcodWsdeG/M/moWgqQAnlZAGVtJI1OgeF5fsPpXu4kctOfuZlGjVZXQNW34aOzm8r8S0eVZitPlbhcPiR4gT/aSMz/wd8lZlzZYsje/Jr8u/YtlwjjreZrGRmG8KMOzukV3lLmMppXFMvl4bxv6YFEmIuTsOhbLTwFgh7KYNjodLj/LsqRVfwz31PgWQFTEPICV7GCvgVlPRxnofqKSjgTWI4mxDhBpVcATvaoBl1L/6WLbFvBsoAUBItWwctO2xalKxF5szhGm8lccoc5MZr8kfE0uxMgsxz4er68iCID+rsCAQM=",
  "RemoteServerListUrl": "https://s3.amazonaws.com//psiphon/web/mjr4-p23r-puwl/server_list_compressed",
  "SponsorId": "FFFFFFFFFFFFFFFF",
  "UseIndistinguishableTLS": true
}
فایل psiphon.service
[Unit]
Description=Psiphon Proxy Client Service
After=network-online.target
Wants=network-online.target

[Service]
WorkingDirectory=%E/psiphon/
ExecStart=/usr/bin/psiphon-console-client -config client.config -formatNotices
Restart=on-failure

[Install]
WantedBy=multi-user.target