Это мнемоническая база данных URL-адресов, редиректор и поисковая система.
Основная функция этого инструмента — перенаправить пользователей HTTP прямо на URL-адрес, связанный с ключевым словом, к которому они обращались. URL-адреса сложно запомнить и напечатать, но их легче использовать, если они названы кратко. Ссылки именуются или помечаются тегами и помещаются в списки, определяемые ключевыми словами . Эти ключевые слова представляют собой хорошо известные, интуитивно понятные строки, которые придумывают пользователи и описывают искомый список или ссылку.
Вторичная функция — предоставить место для хранения списков самых актуальных ссылок на данную тему.
Если пользователи хотят найти информацию о Марсе, они могут ввести go2 mars
в URL-адресе/строке поиска своего браузера. Это может быть перенаправлено непосредственно на ссылку или список ссылок о планете. Представьте, что в этом списке есть несколько ссылок или статей о Марсе. Как пользователь мог получить больше информации о спутнике Фобос, перейдя прямо к нему за один поиск? Кураторы списка могут пометить одну из ссылок в списке тегом phobos
. Теперь пользователи могут вводить go2 mars/phobos
в URL-адресе или строке поиска. Эта ссылка теперь стала каноническим перенаправлением для всех, кто ищет дополнительную информацию об этом спутнике Марса.
Редиректор go2 следует модели добавления, удаления и обработки данных, подобной Википедии. Если пользователи коллективно договариваются о том, что означают ключевые слова, и, в свою очередь, соглашаются с тем, каким должен быть список для этого ключевого слова, результатом является наиболее точное понимание группой этих мнемонических ключевых слов в любой данный момент. Чем больше людей используют редиректор, тем больше у вас редакторов, поддерживающих актуальность.
Для настройки приложения необходимо создать первоначальную конфигурацию и пустую базу данных ссылок. Для этого запустите скрипт установки из командной строки.
./install.sh
При этом файл godb.json
будет помещен на диск в корневом каталоге проекта, а затем в том же каталоге будет записан общий файл конфигурации go2config.json
. Настройки по умолчанию в файле конфигурации достаточны для начала работы, но просмотрите их, чтобы понять доступные настройки.
Редиректор необходимо скомпилировать на втором и последнем этапе установки. Простая go build
в корне проекта должна дать исполняемый файл. Запустите этот исполняемый файл без аргументов, чтобы увидеть запуск перенаправителя, прослушивающего эфемерный порт.
Сюда включен многоэтапный Dockerfile
который упрощает процесс сборки двоичного файла и предоставления работоспособного контейнера. Первоначальный контейнер сборки огромен, и его заменяют меньшим контейнером времени выполнения Alpine на базе Linux. Создание и запуск контейнера состоит из трех элементов: создание, сохранение базы данных ссылок и запуск контейнера.
Сборку контейнера можно выполнить с помощью: docker build -t go2redirector .
Если вы хотите проверить сам контейнер сборки, чтобы проверить/отладить среду сборки, вы можете получить к нему доступ, указав контейнер сборки по имени.
docker build --target builder -t go2build .
Вы можете создать том локально для постоянного пространства вне контейнера для godb.json
. Это позволит вашему контейнеру использовать один и тот же бог каждый раз, когда он выполняется. Пропустите эту процедуру, если вы не хотите сохранять базу данных между запусками контейнера.
docker volume create go2
docker volume inspect go2
Теперь запустите контейнер, используя том. Это запустит контейнер в режиме демона и удалит его, когда он остановится.
docker run --rm -p 8080:8080 -d -v go2:/home/gouser/data go2redirector
Обратите внимание, что вам не придется использовать такой том. Привязка к другому существующему каталогу также будет работать.
Перенаправитель будет прослушивать адрес 0.0.0.0:8080
внутри контейнера, в отличие от адреса по умолчанию 127.0.0.1
из go2config.json (по умолчанию).
Чтобы просмотреть журналы из контейнера, все они перенаправляются на стандартный вывод, поэтому вы можете сделать docker logs <name of running container>
Go2redirector теперь должен работать на localhost:8080
. Вы можете сделать это напрямую или, чтобы упростить задачу, настроить свой браузер, используя новое ключевое слово для поиска, например go2
.
Каждый браузер имеет немного отличающуюся процедуру настройки для включения поисковых систем по ключевым словам.
localhost:8080
(или любой другой URL-адрес, по которому вы запустили перенаправитель) в Firefox.go2
go2
.http://localhost:8080/?keyword=%s
Теперь ваш браузер можно использовать для доступа к go2redirector как поисковую систему. Установите ключевое слово go2
и используйте поле поиска.
go2 wiki/es
Если ваш браузер перенаправился на испанскую версию Википедии, все готово.
.
префикс к любому ключевому слову./
в строке перенаправления, введенной пользователем. Например, go2 planets/mars/weather
будет иметь поля «планеты» (ключевое слово), «марс» (тег) и параметр «погода».Формирование списка ссылок начинается с выбора интуитивно понятного ключевого слова. Это имя, под которым люди запомнят этот список ссылок. Подумайте о ключевом слове и о том, насколько оно общее. Применимо ли это к другим потенциальным спискам? Если да, возможно, придумайте более конкретное название ключевого слова или объедините два списка.
Тег — это имя ссылки в списке ссылок. Тег — это второе (необязательное) поле, которое пользователь вводит при перенаправлении go2. Если у вас есть список спутников Марса, вы можете пометить один из них словом «фобос», а другой — «деймос», в результате чего произойдет перенаправление, например go2 mars/phobos
чтобы перейти прямо к любой ссылке, описывающей этот спутник. Теги не являются обязательными. Если второе поле указано пользователем, перенаправитель пытается найти тег в списке по этому имени. Если его не удается найти, второе поле рассматривается как параметр замены для ссылки.
Если ссылка добавляется с URL-адресом, для которого у нас уже есть ссылка по какому-либо другому ключевому слову, мы разрешаем вам создать совершенно новую ссылку, поскольку у вас может быть другой заголовок и другие ассоциации ключевых слов. Если вы попытаетесь добавить дублирующую ссылку, при просмотре точечной страницы вам будут показаны другие ключевые слова, уже использующие ссылку.
Поле ввода в левом верхнем углу индексной страницы является основной точкой входа в приложение. Это поле, в которое пользователи могут вводить комбинации ключевых слов/тегов/параметров, чтобы перейти к перенаправлению или создать новые.
Ссылки могут иметь набор дат, определяющий срок существования ссылки в базе данных ссылок. По умолчанию срок действия ссылок никогда не истекает. Пользователи могут вводить различные сроки жизни ссылок. Самым уникальным из всех выбранных сроков жизни ссылок является «сжигание после прочтения», и это именно то, на что это похоже. Приложение уничтожит ссылку после того, как один человек использовал ее в качестве перенаправления. Это полезно для ссылок, которые вы будете использовать или делиться только один раз. Вам следует выбрать разумный срок жизни ссылки, если она не будет вечной. Это пассивная форма курирования в приложении, удаляющая ссылки по мере истечения срока их действия.
Чтобы принудительно получить доступ к странице списка ключевого слова (независимо от поведения списка), вы просто добавляете к этому ключевому слову точку или суффикс с косой чертой. При этом будет отображена страница списка, на которой ссылки можно будет изменять или помечать тегами.
Ссылки в списке могут иметь {1}
размещенный в любом месте URL-адреса, который будет служить строкой замены для одного позиционного параметра, предоставленного пользователем. Сейчас мы поддерживаем только один параметр, но это может измениться, если есть веская причина для двух или более. В предыдущей версии редиректора такие типы ссылок с подстановками назывались «специальными» ссылками и в качестве строки подстановки использовали {*}
. Например, ключевое слово go2 planets
может иметь несколько ссылок с различными названиями планет. Каждый URL-адрес ссылки может содержать строку замены {1}.
Для пользовательского ввода go2 planets/mars/weather
go2redirector найдет ключевое слово planets
, найдет ссылку, помеченную тегом mars
, получит ее URL-адрес www.nasa.gov/planets/mars/{1}.php
и выполнит замена на www.nasa.gov/planets/mars/weather.php
. Наконец, пользователь будет перенаправлен на этот URL-адрес.
Мне нужна вся возможная помощь, чтобы мой голанг начального уровня выглядел лучше. Мы хотим добавить новые функции, но недостаточно людей, чтобы это сделать. Если вы хотите внести свой вклад, просто создайте форк репозитория и отправьте PR! Сообщайте о любых запросах на улучшения или ошибках в системе отслеживания проблем здесь, в проекте go2redirector.
См. CONTRIBUTING.md
для получения дополнительной информации.
Оригинальный редиректор f5go был разработан Солом Пвансоном при содействии Брайса Бокмана и Treebird(tm).