-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathToDo.txt
33 lines (33 loc) · 6.24 KB
/
ToDo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
TODO
- Подчистить этот список
- add, replace и update как три способа работы с записями (строго добавление, полная перезапись и обновление сущетсвующих записей)
- Команда set может работать только с одной записью, или с двумя версиями одной записи (ipv4 и ipv6), а вот update может работать с масками, но при этом он не может добавлять и удалять домены в строках
- У всех ipv6 ставится скрытый тег IPV6, у всех ipv4 — IPV4, у скрытых ставится тег HIDDEN, у видимых — VISIBLE (при этом эти строки не нужно хранить в самом hosts, это и так понятно)
- В интерактивном режиме при возникновении спорных ситуаций спрашивать пользователя
- Раздельное управление ipv4 и ipv6 адресами (возможно через флаг ipv4 или ipv6 последним параметром)
- Возможность изменять параметры конкретных алиасов (автоматический вынос из строки)
- Как-то объединить код add/set/upd
- Какой-то символ, который позволял бы объединять несколько операций (по аналогии с && в командной строке, но внутри команды hosts)
- Если по требованию изменить свойство и оно на самом деле установлено в то же, что и было, выводить об этом инфу (например вместо SHOWN писать ALREADY)
- группы хостов, для каждой группы свои настройки по умолчанию
- или может быть лучше теги? [home], [work] и т.д. использовать вместо имени хоста или маски, [+work] добавит тег, [-work] удалит тег
- при обновлении записи добавление и удаление алиасов: +domain.ru -domain.ru -* -*.domain.ru
- профили: hosts profiles - список профилей, hosts setprofile work - выбрать профиль
- или их заменят группы? или профили на основе текущих backup / restore? с новыми именами save / load?
- При запуске командного интерпретатора без прав суперпользователя выводить предупреждение об этом
- При запуске под Mono в командном интерпретаторе не работают стрелки вверх-вниз (просмотр предыдущих команд) и вправо-влево (перемещение курсора по строке) — проблема в Console.ReadLine(), отправить баг-репорт в Xamarin
- Может ввести настройки (ширина колонок при выводе в консоль, при форматировании файла hosts, различные режимы по умолчанию)? Сохранять их в каталог пользователя с именем hosts.ini :)
- Убрать обязательность соглашаться с UAC
- Внутри hosts команда su для запуска своего интерпретатора с правами пользователя
- Вместе с hosts можно поставлять утилитку su
- Реализация open под Linux / Mac: в линуксе есть ENV переменная $EDITOR, через эту переменную можн опереопределять дефолтный консольный редактор, также есть команда editor (но ее нужно тестить), а есть xdg-open
http://stackoverflow.com/questions/13627767/open-file-in-default-editor-from-bash, скорее всего нужен xdg-open, а консольный vi мне кажется есть в каждом адекватном линуксе
- Операция explode для разделения строки с алиасами
- Операция implode (или merge?) для объединения нескольких строк в одну
- Выводить сообщения через события ObservableCollection? Тогда можно внутрь HostsEditor вынести логику процедур
- В HostsEditor добавить метод GetChanges (GetLog), который будет выводить лог с последнего сохранения, как-то фильтровать «не изменённые» изменения типа 127.0.0.1 заменили на 127.0.0.1?
- Выводить изменения в виде diff (+ перед добавленными строками, - перед удалёнными, изменённые строки выводятся в виде двух строк с - и +)
- Поскольку LINQ не работает с ObservableCollection, клонировать HostsEditor перед изменениями и делать diff между оригинальной и изменённой версией, в HostsItem можно добавить поле «номер строки в исходном файле» для точного определения изменившихся строк
- Метод, сообщающий, изменится ли файл при сохранении (IsChanged?)
- Добавить поддержку регулярок в паттерны (в формате /.*\.local/)
- Hi, I'm just discover your hosts commander, very nice! It would be nice if your app can work with lmhosts instead hosts, is it possible to add as option ? add x.x.x.x computer #PRE (very useful for vpn , with just hosts, there is slow issue) + "nbtstat -R" after updating lmhosts. What do you think ?