macOS · Linux · Windows · one small binarymacOS · Linux · Windows · ملف تنفيذي واحد صغير
Friendly names for your local servicesأسماء سهلة لخدماتك المحلية
Turn 127.0.0.1:3000 into http://app.local with a single command, no port to type. Locly writes only its own section of your hosts file, and a small router on 127.0.0.1 drops the port. No DNS server, nothing else on your system changes.حوّل 127.0.0.1:3000 إلى http://app.local بأمر واحد، بدون كتابة رقم المنفذ. يكتب Locly في قسمه الخاص فقط من ملف hosts، وموجّه صغير على 127.0.0.1 يستغني عن المنفذ. بلا خادم DNS، ولا يتغيّر أي شيء آخر في نظامك.
Built for developers and AI agents: a scriptable CLI with JSON output, plus a simple web UI.مصمَّم للمطورين ولوكلاء الذكاء الاصطناعي: واجهة أوامر قابلة للأتمتة بمخرجات JSON، وواجهة ويب بسيطة.
$curl -fsSL https://github.com/Devehab/Locly-DNS/releases/latest/download/install.sh | sh
Instead of memorizing IP addresses and ports, pick a name you like and use it right away. No domain to register, no DNS to link, no waiting.بدل أن تحفظ عناوين IP وأرقام المنافذ، اختر اسمًا يعجبك واستخدمه فورًا. بلا حجز دومين، وبلا ربط DNS، وبلا انتظار.
Read the narrationاقرأ نص الفيديو
Every time you work on a local app, are you still remembering numbers like… 127.0.0.1… port 3000? Why make local development harder than it needs to be? With Locly, it starts with just one line. Install it with a single command… and you're ready. Then open the user interface, add your local services, and give each one a name you can actually remember. Instead of 127.0.0.1… you get app.local. No domain registration. No complicated DNS setup. And when you want more control as a developer, Locly also gives you a terminal interface. Add, edit, enable, or remove services with simple commands… and even use JSON for automation and AI tools. Everything stays local, simple, and organized. Locly. Remember names, not numbers.
تخيّل إنك كل مرة تشتغل على تطبيق محلي، لازم تتذكّر أرقام مثل… 127.0.0.1… بورت 3000. ليش كل هالتعقيد؟ مع Locly، كل شيء يبدأ بسطر واحد. تثبّته بأمر واحد… وتكون جاهز. بعدها، افتح واجهة المستخدم، وأضف خدماتك المحلية، وخصّص لكل خدمة اسم سهل تتذكّره. بدل 127.0.0.1… بورت 3000، صار عندك app.local. بدون تسجيل دومين، وبدون إعداد DNS معقّد. ولما بدك تحكم أكبر كمطوّر، عندك كمان واجهة الـTerminal. أضف، عدّل، فعّل، أو احذف خدماتك بأوامر بسيطة… وحتى استخدم JSON للأتمتة وأدوات الذكاء الاصطناعي. كل شيء محلي، بسيط، ومنظّم. Locly. تذكّر الأسماء… مش الأرقام.
Adding and managing names is this easyإضافة الأسماء وإدارتها بهذه السهولة
1
Add a nameأضف اسمًا
Choose any local name and point it at an IP, with or without a port. One command, or + Add Host in the web UI.اختر أي اسم محلي ووجّهه إلى عنوان IP، مع منفذ أو بدونه. أمر واحد، أو زر + Add Host في واجهة الويب.
$localdns add app.local 127.0.0.1:3000
2
See everythingاعرض كل شيء
Every name with its address, full URL and live status, in the terminal, as JSON, or on the dashboard.كل اسم مع عنوانه ورابطه الكامل وحالته المباشرة، في الطرفية أو بصيغة JSON أو في لوحة التحكم.
$localdns list
3
Change, pause or removeعدّل أو أوقف مؤقتًا أو احذف
Point a name somewhere new or rename it (localdns edit or the Edit button), switch it off for a while without losing it (localdns pause or its switch), or remove it. Nothing else on your system is touched.وجّه الاسم إلى عنوان جديد أو غيّر اسمه (localdns edit أو زر Edit)، أو أوقفه مؤقتًا دون أن تفقده (localdns pause أو المفتاح بجانبه)، أو احذفه. ولا يُمس أي شيء آخر في نظامك.
$localdns pause app.local
How it worksكيف يعمل
Your hosts file, done rightملف hosts، بالطريقة الصحيحة
Your operating system already checks the hosts file before asking DNS. Locly simply manages one clearly marked block in that file, and never touches anything else.نظام التشغيل يقرأ ملف hosts قبل أن يسأل خوادم DNS. كل ما يفعله Locly هو إدارة قسم واحد واضح ومحدَّد داخل هذا الملف، ولا يلمس أي شيء آخر.
1
Add a nameأضف اسمًا
Tell Locly which name points to which address. The port is optional.أخبر Locly أي اسم يشير إلى أي عنوان. رقم المنفذ اختياري.
$localdns add app.local 127.0.0.1:3000
2
Locly writes one lineيكتب Locly سطرًا واحدًا
Inside its own # BEGIN LOCALDNS block. The port is kept in Locly's config, because hosts files can't store ports.داخل قسمه الخاص # BEGIN LOCALDNS. ويحفظ رقم المنفذ في إعداداته، لأن ملف hosts لا يدعم المنافذ.
127.0.0.1 app.local
3
Open itافتحه
Your browser now reaches the service by name, without the port: Locly's router on 127.0.0.1:80 forwards app.local to port 3000. Every other name, google.com included, keeps using your normal DNS.يصل متصفحك الآن إلى الخدمة باسمها وبدون رقم المنفذ: موجّه Locly على 127.0.0.1:80 يحوّل app.local إلى المنفذ 3000. وكل الأسماء الأخرى، ومنها google.com، تبقى على DNS المعتاد.
http://app.local
/etc/hosts
127.0.0.1 localhost255.255.255.255 broadcasthost::1 localhost10.0.0.5 nas.home.arpa# BEGIN LOCALDNS127.0.0.1 app.local127.0.0.1 api.local# END LOCALDNS
Your entries: never modifiedمدخلاتك: لا تُعدَّل أبدًاManaged by Loclyيديره Locly
A name Locly managesاسم يديره Locly
app.localhosts file · Locly blockملف hosts · قسم Locly127.0.0.1:3000 ✓
Everything elseكل ما عدا ذلك
google.comnot in the blockليس في القسمyour normal DNSDNS المعتاد
Not in the block? Locly isn't involved at all. It never answers DNS queries and never intercepts traffic.ليس في القسم؟ لا يتدخل Locly إطلاقًا. فهو لا يجيب على استعلامات DNS ولا يعترض أي حركة مرور.
Web UIواجهة الويب
Prefer clicking? There's a web UIتفضّل النقر؟ هناك واجهة ويب
Run localdns ui and it opens at http://localdns.local in your browser, with no IP to remember (it's always at http://127.0.0.1:7357 too). Add names with one-click endings, paste links as they are, edit or rename in place, pause a name without deleting it, and switch port-free URLs on or off. It's built into the binary (no Node.js or Python) and listens on localhost only.شغّل localdns ui فتُفتح في متصفحك على http://localdns.local، بلا أي عنوان IP تحفظه (وهي متاحة دائمًا أيضًا على http://127.0.0.1:7357). أضف الأسماء بنهايات تختارها بنقرة واحدة، والصق الروابط كما هي، وعدّل الاسم أو غيّره في مكانه، وأوقف أي اسم مؤقتًا دون حذفه، وفعّل الروابط بدون منفذ أو أوقفها. الواجهة مدمجة في البرنامج نفسه (بلا Node.js أو Python) وتعمل على localhost فقط.
It will ask for your password. Adding or deleting names edits /etc/hosts, which only an administrator can change, so on macOS and Linux the UI asks for sudo when it starts. Only the UI server runs with sudo, and Ctrl+C stops it completely. Want view-only? localdns ui --no-elevate.ستُطلب منك كلمة المرور. إضافة الأسماء أو حذفها تعدّل /etc/hosts، ولا يغيّره إلا المسؤول، لذلك تطلب الواجهة sudo عند تشغيلها على macOS وLinux. خادم الواجهة وحده يعمل بـ sudo، و Ctrl+C يوقفه تمامًا. تريد العرض فقط؟ localdns ui --no-elevate.
localdns.local
Type the name, click the endingاكتب الاسم واختر النهاية بنقرة
Type blog, click .localhost, .local or .test: Locly adds the ending, or swaps the one that's there. Paste http://localhost:4000/ as it is; only the address is kept.اكتب blog ثم انقر .localhost أو .local أو .test: يضيف Locly النهاية، أو يستبدل الموجودة. والصق http://localhost:4000/ كما هو، فيُحفظ العنوان فقط.
For apps on this computer it suggests .localhost: browsers treat it as secure, like localhost, so sign-in, uploads and copy keep working exactly as they did on localhost:4000.ولتطبيقات جهازك يقترح .localhost: المتصفحات تعتبرها آمنة مثل localhost، فيبقى تسجيل الدخول ورفع الملفات والنسخ يعمل تمامًا كما كان على localhost:4000.
One-click endingsنهايات بنقرة واحدة
Paste links as they areالصق الروابط كما هي
Edit or rename in placeعدّل أو غيّر الاسم في مكانه
Pause a name, resume it laterأوقف اسمًا مؤقتًا وأعده لاحقًا
Port-free URLs switchمفتاح الروابط بدون منفذ
Delete always asks firstالحذف يطلب التأكيد دائمًا
Live status for every entryحالة مباشرة لكل اسم
Light and dark modeوضع فاتح وداكن
Examplesأمثلة
One format for everythingصيغة واحدة لكل شيء
The format is always localdns add <hostname> <ip[:port]>.الصيغة دائمًا هي localdns add <hostname> <ip[:port]>.
A local web appتطبيق ويب محلي
$localdns add app.local 127.0.0.1:3000
http://app.local
A backend APIواجهة API خلفية
$localdns add api.local 127.0.0.1:3002
http://api.local
A device on your networkجهاز على شبكتك
$localdns add ha.local 192.168.1.60:8123
http://ha.local:8123Home Assistant
No port neededبدون منفذ
$localdns add nas.lan 192.168.1.20
http://nas.lan
Change an existing nameتعديل اسم موجود
$localdns edit app.local 127.0.0.1:4000
Updated successfully
IPv6 works tooيدعم IPv6 أيضًا
$localdns add v6.test [::1]:8080
http://v6.test:8080
Remove when you're doneاحذف عندما تنتهي
People get a confirmation question. Scripts and agents pass --yes.يظهر للمستخدم سؤال تأكيد، بينما تمرّر السكربتات والوكلاء الخيار --yes.
Open a new terminal with “Run as administrator” and check that it works:افتح طرفية جديدة بخيار «تشغيل كمسؤول» وتأكد أنه يعمل:
PS>localdns info
Add your first name:أضف أول اسم:
PS>localdns add app.local 127.0.0.1:3000
Administrator rights: only changing the hosts file needs them. On macOS and Linux, localdns asks for sudo for that single command and then exits. On Windows, use a terminal opened with “Run as administrator”. Reading (list, status, info, doctor) never needs them.صلاحيات المسؤول: لا يحتاجها إلا تعديل ملف hosts. على macOS وLinux يطلب localdns صلاحية sudo لذلك الأمر وحده ثم ينتهي. وعلى Windows استخدم طرفية مفتوحة بخيار «تشغيل كمسؤول». أوامر القراءة (list وstatus وinfo وdoctor) لا تحتاجها أبدًا.
Command guideدليل الأوامر
A handful of commands. That's the whole tool.أوامر قليلة. هذه هي الأداة كلها.
Every command supports --help and --json. Start with localdns info, or read the full terminal guide (English and Arabic).كل أمر يدعم --help و--json. ابدأ بالأمر localdns info، أو اقرأ دليل الطرفية الكامل (بالعربية والإنجليزية).
Show all commands, flags and exit codesعرض كل الأوامر والخيارات ورموز الخروج
add
localdns add <hostname> <ip[:port]>
Map a local hostname to an IP on this machine or your network. Adding the same entry twice changes nothing; use --force to change an existing one.يربط اسمًا محليًا بعنوان IP على جهازك أو شبكتك. إضافة المدخل نفسه مرتين لا تغيّر شيئًا، واستخدم --force لتعديل مدخل موجود.
--force
Replace an entry that points somewhere elseاستبدال مدخل يشير إلى عنوان آخر
--json
Print the result as JSONطباعة النتيجة بصيغة JSON
--no-elevate
Never ask for sudo automaticallyعدم طلب sudo تلقائيًا
Show every managed name with its address and status: active, missing (the line was deleted by hand) or conflict (another line overrides it).يعرض كل الأسماء المُدارة مع العنوان والحالة: active (نشط)، أو missing (حُذف السطر يدويًا)، أو conflict (سطر آخر يتجاوزه).
--json
hostname, ip, port, url and status for each entryالاسم والعنوان والمنفذ والرابط والحالة لكل مدخل
localdns list
localdns list --json
remove
localdns remove <hostname>
Remove a managed name. Asks [y/N] first unless you pass --yes. Entries Locly didn't create are never touched.يحذف اسمًا مُدارًا. يسأل [y/N] أولًا إلا إذا مرّرت --yes. ولا يلمس أبدًا مدخلات لم يُنشئها Locly.
-y, --yes
Don't ask for confirmationبدون سؤال تأكيد
--json
Print the removed entry as JSONطباعة المدخل المحذوف بصيغة JSON
Switch a name off for a while without losing it: its line leaves the hosts file, but Locly keeps its address and port. resume turns it back on. In the dashboard, use the switch next to the name.أوقف اسمًا لفترة دون أن تفقده: يخرج سطره من ملف hosts، لكن Locly يحتفظ بعنوانه ومنفذه. والأمر resume يعيد تشغيله. وفي لوحة التحكم استخدم المفتاح بجانب الاسم.
Shows where the hosts file and config live, whether you can write to them, and the health of each entry.يعرض مكان ملف hosts وملف الإعدادات، وهل يمكنك الكتابة فيهما، وحالة كل مدخل.
--json
Includes healthy, writable and countsيتضمن healthy وwritable والأعداد
localdns status
localdns status --json
doctor
localdns doctor
Runs eight checks (OS, hosts file found, readable and writable, Locly section, config, UI port, port-free router) and prints a fix for anything wrong.يُجري ثمانية فحوصات (النظام، ووجود ملف hosts وإمكانية قراءته والكتابة فيه، وقسم Locly، والإعدادات، ومنفذ الواجهة، وموجّه الروابط بدون منفذ) ويطبع طريقة الإصلاح لأي مشكلة.
✓ Operating system supported
✓ Hosts file found
✓ Hosts file readable
✓ Hosts file writable
✓ LocalDNS section valid
✓ Configuration valid
✓ Local UI available
✓ Port-free URLs (router)
Everything looks good.
ui
localdns ui
Starts the dashboard and opens it in your browser at http://localdns.local, so there is no IP to remember (it is also always at http://127.0.0.1:7357). Add, edit and delete names, paste links as they are, and switch port-free URLs on or off. Because changes edit /etc/hosts, it asks for your password (sudo) on macOS and Linux; only the dashboard runs with sudo, and Ctrl+C stops everything.يشغّل لوحة التحكم ويفتحها في متصفحك على http://localdns.local، فلا حاجة لحفظ أي عنوان IP (وهي متاحة دائمًا أيضًا على http://127.0.0.1:7357). أضف الأسماء وعدّلها واحذفها، والصق الروابط كما هي، وفعّل الروابط بدون منفذ أو أوقفها. ولأن التغييرات تعدّل /etc/hosts، يطلب كلمة المرور (sudo) على macOS وLinux؛ لوحة التحكم وحدها تعمل بـ sudo، و Ctrl+C يوقف كل شيء.
--port <port>
Use another port (default 7357)استخدام منفذ آخر (الافتراضي 7357)
--no-open
Don't open the browserبدون فتح المتصفح تلقائيًا
--no-elevate
Read-only, never ask for sudoللقراءة فقط، بدون طلب sudo
The hosts file can't store ports, so http://app.local would go to port 80. The router listens there, on 127.0.0.1 only, and forwards each of your names to its port. It never runs as root (on macOS, the system opens the port and hands it to the router running as the restricted nobody user), starts on its own, and serves only names you added. The installer turns it on. Turn it off with the switch in the dashboard or localdns router disable; the dashboard then opens only at http://127.0.0.1:7357, which is where you turn it back on.ملف hosts لا يحفظ المنافذ، لذا فإن http://app.local يذهب إلى المنفذ 80. الموجّه يستمع هناك، على 127.0.0.1 فقط، ويحوّل كل اسم من أسمائك إلى منفذه. لا يعمل أبدًا بصلاحيات root (على macOS يفتح النظام المنفذ ويسلّمه للموجّه الذي يعمل بصلاحيات المستخدم المقيّد nobody)، ويبدأ تلقائيًا، ولا يخدم إلا الأسماء التي أضفتها. المثبِّت يفعّله تلقائيًا. أوقفه من المفتاح في لوحة التحكم أو بالأمر localdns router disable؛ وعندها تُفتح لوحة التحكم فقط على http://127.0.0.1:7357، ومنها تعيد تفعيله.
enable
Start it now and on its own from then onتشغيله الآن وتلقائيًا بعد ذلك
Removes Locly's hosts entries, its configuration, the router and the binary. Your other hosts entries are not modified.يحذف مدخلات Locly من ملف hosts وإعداداته والموجّه والبرنامج نفسه. مدخلاتك الأخرى في ملف hosts لا تتغيّر.
-y, --yes
Don't ask for confirmationبدون سؤال تأكيد
--keep-binary
Keep the localdns programالإبقاء على برنامج localdns
localdns uninstall
localdns uninstall --yes
info
localdns info
An overview of every command, flag, exit code and file location. The best starting point for people and AI agents alike.نظرة شاملة على كل الأوامر والخيارات ورموز الخروج وأماكن الملفات. أفضل نقطة بداية للبشر ولوكلاء الذكاء الاصطناعي على حد سواء.
localdns info
localdns info --json
localdns add --help
Flags for every commandخيارات لكل الأوامر
--json
Machine-readable output, errors includedمخرجات قابلة للقراءة آليًا، ومنها الأخطاء
-h, --help
Help for the commandمساعدة للأمر
--no-color
Plain output (or set NO_COLOR)مخرجات بلا ألوان (أو اضبط NO_COLOR)
--hosts-file
Use another hosts file (tests, CI)استخدام ملف hosts آخر (للاختبار وCI)
--config-dir
Use another config folderاستخدام مجلد إعدادات آخر
Exit codesرموز الخروج
0
Successنجاح
1
Unexpected error, or doctor found a problemخطأ غير متوقع، أو وجد doctor مشكلة
2
Invalid usage or inputاستخدام أو مدخلات غير صحيحة
3
Hostname not foundالاسم غير موجود
4
Conflict: exists, or defined outside Loclyتعارض: موجود مسبقًا، أو معرَّف خارج Locly
5
Administrator rights requiredتلزم صلاحيات المسؤول
6
Hosts section or config is invalidقسم hosts أو الإعدادات غير صالحة
7
Not confirmed (or --yes missing without a terminal)لم يتم التأكيد (أو غياب --yes بدون طرفية)
Allowed names. Only suffixes reserved for local use are accepted, so Locly can never override a real internet domain:الأسماء المسموحة. يقبل Locly فقط اللواحق المخصصة للاستخدام المحلي، لذلك لا يمكنه أبدًا تجاوز نطاق حقيقي على الإنترنت:
Allowed addresses. Loopback (127.0.0.0/8, ::1), private networks (10/8, 172.16/12, 192.168/16, fc00::/7), link-local, and 100.64/10 (e.g. Tailscale). Ports 1–65535 are optional.العناوين المسموحة. عناوين الجهاز نفسه (127.0.0.0/8 و::1)، والشبكات الخاصة (10/8 و172.16/12 و192.168/16 وfc00::/7)، وعناوين link-local، و100.64/10 (مثل Tailscale). والمنفذ (1–65535) اختياري.
AI agentsوكلاء الذكاء الاصطناعي
Made for AI agents, tooمصمَّم لوكلاء الذكاء الاصطناعي أيضًا
Claude Code, Codex, OpenCode, Cursor: any agent can drive Locly without a GUI and without interactive prompts.يستطيع Claude Code وCodex وOpenCode وCursor، وأي وكيل آخر، التحكم بـ Locly دون واجهة رسومية ودون أسئلة تفاعلية.
Discoverableقابل للاكتشاف
localdns info --json describes every command, flag and exit code.الأمر localdns info --json يصف كل أمر وخيار ورمز خروج.
Machine-readableمخرجات آلية
--json on every command, errors included. No scraping.--json متاح في كل أمر، ومنها الأخطاء، دون الحاجة لتحليل النصوص.
Never hangsلا يتوقف بانتظار إدخال
Without a terminal, confirmations fail fast with exit code 7 unless --yes is given.بدون طرفية، يفشل طلب التأكيد فورًا برمز الخروج 7 إلا إذا مُرِّر --yes.
Idempotent and predictableآمن عند التكرار ومتوقَّع
Repeating add is safe, and exit codes are stable.تكرار add آمن، ورموز الخروج ثابتة.
agent session
$ localdns info --json
$ localdns add api.local 127.0.0.1:3002 --json
{
"action": "added",
"entry": {
"hostname": "api.local",
"ip": "127.0.0.1",
"port": 3002,
"address": "127.0.0.1:3002",
"url": "http://api.local:3002",
"status": "active"
}
}
$ localdns add google.com 127.0.0.1 --json # exit 2
{
"error": {
"code": "invalid_input",
"message": "google.com is not a local hostname",
"hint": "LocalDNS only manages local hostnames …"
}
}
$ localdns remove api.local --yes --json
Securityالأمان
Secure by designآمن من الأساس
Locly manages local hostname mappings on this machine. Nothing more.يدير Locly ربط الأسماء المحلية على هذا الجهاز فقط. لا أكثر.
No DNS serverليس خادم DNS
It never answers DNS queries. Your OS resolves names, as always.لا يجيب على استعلامات DNS أبدًا، فنظام التشغيل هو من يترجم الأسماء كالمعتاد.
No root daemonلا خدمة بصلاحيات root
Only the one command that edits the hosts file is elevated, and then it exits.الأمر الذي يعدّل ملف hosts وحده يعمل بصلاحيات مرتفعة، ثم ينتهي.
Nothing open to your networkلا شيء مكشوف لشبكتك
The UI and the optional port-free router bind to 127.0.0.1 only. The UI has DNS-rebinding and CSRF protection; the router serves only names you added.الواجهة والموجّه الاختياري مربوطان بـ 127.0.0.1 فقط. الواجهة محمية من DNS rebinding وCSRF، والموجّه لا يخدم إلا الأسماء التي أضفتها.
No telemetryبلا تتبّع
No analytics, no outbound requests. Your data never leaves your machine.لا تحليلات ولا طلبات خارجية. بياناتك لا تغادر جهازك أبدًا.
No network changesلا تغييرات على الشبكة
No router, DNS, VPN, proxy or firewall changes. No traffic interception.لا تعديل على الراوتر أو DNS أو VPN أو البروكسي أو الجدار الناري، ولا اعتراض لحركة المرور.
No edits outside its blockلا تعديل خارج قسمه
Lines outside # BEGIN/END LOCALDNS are preserved byte for byte.الأسطر خارج # BEGIN/END LOCALDNS تبقى كما هي حرفيًا.
No internet domainsلا نطاقات إنترنت
google.com can't be mapped, so real domains always use normal DNS.لا يمكن ربط google.com، لذا تستخدم النطاقات الحقيقية DNS المعتاد دائمًا.
No unverified installsلا تثبيت دون تحقق
The installer checks SHA-256 checksums before copying anything.يتحقق المثبِّت من بصمات SHA-256 قبل نسخ أي شيء.
Enforced by tests, not promisesمضمون بالاختبارات، لا بالوعود
An architecture test fails if the core ever imports networking or process-execution packages. Another audits the source code to make sure the only listeners are the UI and the router, both on 127.0.0.1. CI proves that existing hosts entries survive every operation on macOS, Linux and Windows, without ever touching the runner's real hosts file.يفشل اختبار معماري إذا استورد قلب البرنامج أي مكتبة شبكات أو تشغيل عمليات. واختبار آخر يفحص الشيفرة للتأكد من أن المستمعَين الوحيدَين هما الواجهة والموجّه، وكلاهما على 127.0.0.1. ويثبت CI أن مدخلات hosts الموجودة تبقى سليمة بعد كل عملية على macOS وLinux وWindows، دون أن يلمس ملف hosts الحقيقي لجهاز الاختبار.
This page too: no cookies, no trackers, no third-party scripts or fonts.وهذه الصفحة أيضًا: بلا ملفات تعريف ارتباط، وبلا متتبّعات، وبلا سكربتات أو خطوط من أطراف خارجية.
FAQأسئلة شائعة
Questions, answeredإجابات لأسئلتك
Is Locly a DNS server?هل Locly خادم DNS؟
No. It edits a clearly marked block in your hosts file, which your operating system already reads before DNS. Nothing listens on port 53.لا. هو يعدّل قسمًا محددًا في ملف hosts الذي يقرؤه نظام التشغيل أصلًا قبل DNS. ولا شيء يستمع على المنفذ 53.
Why can't I add google.com?لماذا لا أستطيع إضافة google.com؟
On purpose. Locly only accepts names reserved for local use (.local, .test, .internal…), so it can never hijack a real website.عن قصد. يقبل Locly فقط الأسماء المخصصة للاستخدام المحلي (.local و.test و.internal…) حتى لا يتمكن أبدًا من اختطاف موقع حقيقي.
Do I need administrator rights?هل أحتاج صلاحيات المسؤول؟
Only to change the hosts file. On macOS and Linux, localdns asks for sudo for just that command. On Windows, use a terminal opened with “Run as administrator”. Reading commands never need it.فقط لتعديل ملف hosts. على macOS وLinux يطلب localdns صلاحية sudo لذلك الأمر وحده. وعلى Windows استخدم طرفية مفتوحة بخيار «تشغيل كمسؤول». أوامر القراءة لا تحتاجها أبدًا.
Do I have to type the port?هل يجب أن أكتب رقم المنفذ؟
No. The installer turns on Locly's router, so http://app.local opens 127.0.0.1:3000. It listens on 127.0.0.1:80 only, never runs as root, and forwards only names you added that point to 127.0.0.1. If port 80 is taken by another program, use http://app.local:3000 or run localdns router to see why. Names on other devices (ha.local:8123) keep their port.لا. المثبِّت يفعّل موجّه Locly، فيفتح http://app.local العنوان 127.0.0.1:3000. يستمع على 127.0.0.1:80 فقط، ولا يعمل أبدًا بصلاحيات root، ولا يحوّل إلا الأسماء التي أضفتها وتشير إلى 127.0.0.1. إذا كان برنامج آخر يستخدم المنفذ 80 فاستخدم http://app.local:3000 أو شغّل localdns router لمعرفة السبب. أما أسماء الأجهزة الأخرى (ha.local:8123) فتبقى بمنفذها.
My app opens at its name, but some features don't workتطبيقي يُفتح باسمه، لكن بعض الميزات لا تعمل
Browsers turn on some features (many sign-in flows, crypto.subtle, the clipboard, the camera) only on https:// or localhost pages. http://app.local is neither, so those parts of an app can fail there (an error like reading 'digest') while http://localhost:3000 worked. Use the .localhost ending instead: localdns edit app.local --name app.localhost, or Edit and click .localhost. Chrome, Edge and Firefox treat *.localhost as secure, like localhost.المتصفحات لا تفعّل بعض الميزات (مثل كثير من طرق تسجيل الدخول وcrypto.subtle والحافظة والكاميرا) إلا في صفحات https:// أو localhost. والرابط http://app.local ليس هذا ولا ذاك، لذلك قد تتعطل هذه الأجزاء من التطبيق (بخطأ مثل reading 'digest') بينما كان http://localhost:3000 يعمل. استخدم النهاية .localhost بدلًا منها: localdns edit app.local --name app.localhost، أو Edit ثم انقر .localhost. فـ Chrome وEdge وFirefox تعتبر *.localhost آمنة مثل localhost.
Can I switch a name off without deleting it?هل يمكنني إيقاف اسم دون حذفه؟
Yes. localdns pause app.local, or the switch next to it in the dashboard, takes it out of the hosts file but keeps its address and port. localdns resume app.local brings it back exactly as it was.نعم. الأمر localdns pause app.local، أو المفتاح بجانبه في لوحة التحكم، يُخرجه من ملف hosts لكنه يحتفظ بعنوانه ومنفذه. والأمر localdns resume app.local يعيده كما كان تمامًا.
Where is the port stored?أين يُحفظ رقم المنفذ؟
Hosts files can't hold ports, so Locly keeps them in /etc/localdns/config.json (C:\ProgramData\LocalDNS on Windows) to show full URLs in list, JSON and the UI.ملف hosts لا يدعم المنافذ، لذا يحفظها Locly في /etc/localdns/config.json (وفي C:\ProgramData\LocalDNS على Windows) ليعرض الروابط الكاملة في list ومخرجات JSON والواجهة.
Why are .local names slow on my Mac?لماذا أسماء .local بطيئة على جهاز Mac؟
macOS also uses .local for Bonjour (mDNS), and some lookups wait for it. If you notice delays, use .test or .localhost names.يستخدم macOS اللاحقة .local أيضًا لخدمة Bonjour (mDNS)، وبعض عمليات البحث تنتظرها. إذا لاحظت تأخيرًا فاستخدم أسماء تنتهي بـ .test أو .localhost.
A name doesn't work yet. What should I do?اسم لا يعمل بعد، ماذا أفعل؟
Run localdns doctor: it checks everything and prints a fix for each problem. Your system or browser may also cache old lookups, so try a new tab.شغّل localdns doctor: سيفحص كل شيء ويطبع طريقة إصلاح كل مشكلة. وقد يحتفظ النظام أو المتصفح بنتائج قديمة، فجرّب تبويبًا جديدًا.
How do I remove everything?كيف أحذف كل شيء؟
Run localdns uninstall. It removes Locly's entries, its config and the binary, and leaves every other hosts entry exactly as it was.شغّل localdns uninstall. سيحذف مدخلات Locly وإعداداته والبرنامج نفسه، ويترك كل مدخلات hosts الأخرى كما كانت تمامًا.
Give your local services real namesامنح خدماتك المحلية أسماء حقيقية
One line to install. One command per name.سطر واحد للتثبيت، وأمر واحد لكل اسم.
$curl -fsSL https://github.com/Devehab/Locly-DNS/releases/latest/download/install.sh | sh