1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/shxsun-gohttpserver

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

gohttpserver

Сделайте лучший HTTP-файл-сервер. Улучшенный пользовательский интерфейс, поддержка загрузки, генерация QR-кодов для установки на Android и iOS.

Демо-сайт

  • Цель: сделать лучший HTTP-файл-сервер
  • Функции: удобный пользовательский интерфейс, поддержка файлов, прямая генерация QR-кода для установки пакетов на Android и iOS.

Binary можно скачать с github releases.

Примечания

Если вы используете go1.5, убедитесь, что вы установили GO15VENDOREXPERIMENT=1.

Размер загружаемых файлов теперь ограничен 1 ГБ.

Скриншоты

screen

Функции

  1. Поддержка генерации QR-кода
  2. Быстрое изменение пути хлебных крошек
  3. Все активы упакованы в отдельный двоичный файл
  4. Разные типы файлов имеют разные иконки
  5. Возможность показывать или скрывать скрытые файлы
  6. Поддержка загрузки (по соображениям безопасности её нужно включить опцией --upload)
  7. Предварительный просмотр README.md
  8. HTTP Basic Auth
  9. Частичная перезагрузка страниц при изменении каталога
  10. Если под каталогом только один каталог, путь будет объединён
  11. Загрузка zip-архива каталога
  12. Apple ipa автоматически генерирует .plist файл, который может быть распознан iPhone (требуется https)
  13. Прокси-сервер plist
  14. Статистика количества загрузок
  15. CORS включён
  16. Оффлайн загрузка
  17. Предварительный просмотр кода файла
  18. Поддержка редактирования файла
  19. Глобальный поиск файлов
  20. Скрытые команды download и qrcode на маленьком экране
  21. Поддержка выбора темы
  22. Можно использовать за Nginx
  23. .ghs.yml поддерживается (как .htaccess)
  24. Вычисление md5sum и sha
  25. Загрузка папки
  26. Сортировка по размеру или времени изменения
  27. Добавление информации о версии на индексную страницу
  28. Добавление API /-/info/some.(apk|ipa) для получения подробной информации
  29. Автоматическое добавление тегов к версии
  30. Пользовательское название поддерживается
  31. Настройка через файл конфигурации

Установка

go get -v github.com/codeskyblue/gohttpserver
cd $GOPATH/src/github.com/codeskyblue/gohttpserver
go build && ./gohttpserver

Использование

Слушайте порт 8000 на всех интерфейсах и включите загрузку

./gohttpserver -r ./ --addr :8000 --upload

Расширенное использование

Поддерживает обновление правил доступа, если есть файл с именем .ghs.yml в каталоге. Пример .ghs.yml:

---
upload: false

Например, если такой файл находится в каталоге foo, то в него нельзя загрузить файлы, а в bar — можно.

root -
  |-- foo
  |    |-- .ghs.yml
  |    `-- world.txt 
  `-- bar
       `-- hello.txt

Используйте конфигурационный файл. Укажите с помощью --conf, см. пример config.yml. Обратите внимание, что параметры командной строки могут перезаписывать настройки в config.yml.

Прокси-сервер ipa plist

Используется для серверов, которые не поддерживают https. По умолчанию используется https://plistproxy.herokuapp.com/plist.

./gohttpserver --plistproxy=https://someproxyhost.com/

Прокси-веб-сайт должен иметь возможность

$ http POST https://proxyhost.com/plist < app.plist
{
    "key": "18f99211"
}
$ http GET https://proxyhost.com/plist/18f99211
# show the app.plist content

Загрузка с помощью CURL

Например, загрузите файл с именем foo.txt в каталог somedir.

PS: максимальный размер загрузки ограничен 1 ГБ (жёстко задан).

$ curl -F file=@foo.txt localhost:8000/somedir

FAQ

Как работает поиск

Алгоритм поиска следует за поисковой системой Google. Ключевые слова разделяются пробелом, слова с префиксом - будут исключены.

  1. hello world означает, что должны присутствовать hello и world
  2. hello -world означает, что должно присутствовать hello, но не world

Руководство разработчика

Зависимости управляются godep.

go get -v github.com/tools/godep
go get github.com/jteeuwen/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...

Темы определены в каталоге res/themes. Сейчас их всего две: чёрная и зелёная.

Как собрать единый двоичный релиз

go-bindata-assetfs -tags bindata res/...
go build -tags bindata

Это всё. ^_^

Ссылки на веб-сайты

  • Здесь был текст ссылки.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Лучший статический файловый сервер HTTP, написанный на golang. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/shxsun-gohttpserver.git
git@api.gitlife.ru:oschina-mirror/shxsun-gohttpserver.git
oschina-mirror
shxsun-gohttpserver
shxsun-gohttpserver
master