LINUX.ORG.RU

SFTPGo 2.0.0

 , ,


0

3

Вышла новая версия SFTPGo — SFTP-сервера с обширными возможностями, написанного на языке Go. Помимо протокола SFTP, сервер также поддерживает FTP/S и WebDAV. В качестве внутреннего хранилища поддерживаются локальные ФС, зашифрованные ФС, S3-совместимые хранилища, хранилища Google Cloud и Azure Blob Storage, а также другие SFTP-сервера. SFTPGo может быть запущен в portable режиме, а также имеет веб-интерфейс для администрирования.

Основные изменения в релизе:

  • Новая версия REST API v2 с поддержкой роли администратора.

  • Прозрачное шифрование хранимых данных (Data At Rest).

  • Поддержка KMS: учетные записи и ключи теперь могут хранится во внешней KMS (Vault, GCP KMS, AWS KMS).

  • SFTP теперь может использоваться как реализация внутреннего хранилища, позволяя использовать сервер в режиме SFTP-прокси.

  • Двунаправленная аутентификация через TLS (TLS with client certificate authentication) для FTP, WebDAV, REST API и web-админки.

  • Встроенный блокировщик: пользователь может настроить политику автоблокировки подозрительных клиентов.

>>> Подробности

★★★★☆

Проверено: Shaman007 ()
Последнее исправление: demidrol (всего исправлений: 3)
Ответ на: комментарий от anonymous

Потом, доев где-то до середины мисочки, начинаешь обосновывать ее нестандартность. Потом тебя ненадолго вынимают из мисочки и тычут в стандарт, но ты почему-то начинаешь аппелировать уже к «необязательности»

пора ему менять погоняло, встречайте - Мойша Stateless Ливерман

anonymous
()
Ответ на: комментарий от anonymous

Нуууу... баааатенька, да что ж за...

стыд-то за испанский?

Люди десятилетиями пользуются докачкой в браузерах, а ты в 2021 году при помощи браузера же пытаешься обосновать ее невозможность. Потом, доев где-то до середины мисочки, начинаешь обосновывать ее нестандартность. Потом тебя ненадолго вынимают из мисочки и тычут в стандарт, но ты почему-то начинаешь аппелировать уже к «необязательности».

Про «десятилетия» я и говорить не буду, т.к. видимо это Вы где-то машину времени сп… «украли» в общем и тут хоть уже http/2 (там тоже про «докачку» нет ничего, я смотрел) на дворе, Вы так и будете гундеть про десятилетия. Хотя, и http/1.0 ещё встречается. А вот по поводу «обязательности к использованию», я Вас от души сейчас и помакаю, уж коль Вы столь настойчиво просите. Я Вас за язык не тянул. Вы сами вызвались. =)))

Это Вы же говорили что браузер и сервер должны поддерживать accept-ranges, чтобы была реализована эта самая докачка? Вы. Давайте проверим прямо не сходя с места.

Итак, чтобы у Вас не было шансов погундеть про то, что у меня какой-то неправильный curl, открываем веб-версию. Данные вводим слева, ответ смотрим справа. Нас будет интересовать вкладка Headers, надеюсь, это понятно.

Для начала просто запрашиваем curl -X OPTIONS https://linux.org.ru. Ответ будет:

Server: QRATOR
Date: Tue, 09 Feb 2021 20:44:57 GMT
Content-Length: 0
Connection: keep-alive
Keep-Alive: timeout=15
Set-Cookie: CSRF_TOKEN=неважно, тут токен убран; Version=1; Max-Age=64281600; Expires=Thu, 23-Feb-2023 20:44:57 GMT; Path=/
Cache-Control: private
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Allow: GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Language: ru

Ну и где эти Ваши Accept-ranges: bytes, которые с Ваших слов должны, просто обязательно быть? Их нет в ответе сервера. Прямо на том же сервере, где Вы эту дурь и несли. =)))

Хорошо, теперь я запрошу первые 300 байт с данного URL. Ведь нам же неважно откуда мы качаем, «докачка» же «должна быть» (с Ваших же слов). И нам пофиг откуда запрашивать, хоть с начала документа (а не файла), хоть из середины, хоть с конца. Итак, запрашиваю – curl -r 0-299 https://linux.org.ru. В ответ мне возвращается документ полностью, в Заголовках всё так же глушняк насчёт Accept-ranges, про которые мне тут какой-то аноним просто уси… («упирался», конечно же), доказывая что они просто обязаны быть. Их нет. А, это Вы так упирались? Ну соболезную, чё… =)))

Точно так же я проверил ещё несколько сайтиков типа mail.ru, яндексов всяких, несколько в общем там каких-нибудь. Ну вот чисто навскидку. Что наслуху, то и проверял. Про сайт гугля молчу вообще. Там свой gws и Accept-ranges там тоже нет.

Да чтож ты будешь делать – неужто аноним врёт? =))) Или это у меня curl косой?

Открывыаю man curl и читаю:

You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you’ll instead get the whole document.

Перевести? Прочтёте сами («технический английский» не помешает, надеюсь)? Или, может, тем же гугль транслейтом попользуетесь, если совсем всё плохо? =)))

Заметьте – «you should also» здесь переводится как «Также Вы должны». Т.е., ни кто не говорит о том, что можете/не можете. Именно явно и чётко – должны. Впрочем, Вы – нет, Вам можно даже в RFC читать не то, что там написано, а то, что Вам захочется прочесть и потом путаясь в слюнях и соплях скулить «ну дисятилетиями работаит жи»… Может, работает, а может и нет. В отличие от ftp, кстати. И здесь так же сказано что (сюрприз-сюрприз!) более чем дохрена серверов с HTTP/1.1 не поддерживают эту возможность, так что, когда Вы запрашиваете какой-то диапазон, Вам возвращается весь документ. Это ровно то, что я наблюдал в поведении серверов. Где-то работает, где-то нет. Как странно и кому же верить? Неужто авторы curl злостно пи… «врут» в общем, а аноним прав? Да нет, как раз аноним-то и гонит пургу какую-то, не имея в себе сил признать что его просто по уши макнули в ..вно (первые две буквы как в названии языка программирования, да, и теперь меня терзают смутные сомненья, знаете ли…). =)))

Поэтому для гарантированной доставки используйте torrent-протоколы, как я и говорил с самого начала. Ftp, вываливающий в открытом виде в сеть пары login/password лучше не использовать в наши времена вовсе. Траффик там тоже не прикрыт ни чем.

Ну и да, матчасть учить. Бегом… =)))

Ладно, давай на конкретном примере. Смотри, тебе же совсем необязательно быть дурачком. И нет никакого четкого стандарта и рфц на дурость. И у человека нет однозначного метода «стать дурачком».

Вы просили пример? Вот он, выше. А про «стать дурачком» тут явно заметно что я вынужден преклоняться перед Вашим богатейшим опытом. Сразу видно что Вы уже им стали. Или были, не знаю. Не моё дело. =)))

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 2)
Ответ на: Нуууу... баааатенька, да что ж за... от Moisha_Liberman

Ну и где эти Ваши Accept-ranges: bytes, которые с Ваших слов должны, просто обязательно быть?

Зяма, не надо так передергивать, вы не в борделе, сказали же опционально.

Вот у этих freebsd.org есть, и у этих apache.org есть.

anonymous
()
Ответ на: Нуууу... баааатенька, да что ж за... от Moisha_Liberman

мне тут какой-то аноним просто уси… («упирался», конечно же)

Я как-то зарегился на сайте шоты и там видеофайлы отдавались без докачки и соединение всегда прерывалось на середине. Я тебе желаю всегда качать файлы таким способом. Чтобы ты всю жизнь качал и никогда не докачал.

rustolover
()
Ответ на: Нуууу... баааатенька, да что ж за... от Moisha_Liberman

Про «десятилетия» я и говорить не буду,

Ты лучше вообще ничего не говори, чавкай молча. Неумение в простейший поиск по интернету в наше время является тяжелой формой отсталости

Это Вы же говорили что браузер и сервер должны поддерживать accept-ranges

Вот так, вертясь и ерзая, маня и докатилась до прямой лжи.

Что ж, новый день - новая миска! Угощайся, мань, с добрым утром тебя.

anonymous
()
Ответ на: комментарий от anonymous

Ну и кто здесь врёт? =)))

wget -S -O - http://www.google.com 2>&1 | grep Accept

Accept-Ranges: none Vary: Accept-Encoding

Я таки понимаю что бестолочью быть по нонешним временам можно и даже модно, но давайте откроем опять таки приведённую выше ссылку и проверим запросом curl -X OPTIONS https://www.google.com.

В ответ получим:

llow: GET, HEAD
Date: Wed, 10 Feb 2021 05:53:36 GMT
Content-Type: text/html; charset=UTF-8
Server: gws
Content-Length: 1592
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Alt-Svc: ничего важного здесь нет, точно

И точно так же запросим первые 300 байт запросом curl -r 0-299 https://www.google.com. В ответ вернётся весь документ с сайта www.google.com, размером в 3191 байт и в заголовках будет:

Date: Wed, 10 Feb 2021 05:57:29 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=UTF-8
Strict-Transport-Security: max-age=31536000
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."
Content-Encoding: gzip
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Set-Cookie: 1P_JAR=2021-02-10-05; expires=Fri, 12-Mar-2021 05:57:29 GMT; path=/; domain=.google.com; Secure; SameSite=none
Set-Cookie: NID=оно тут не нужно; expires=Thu, 12-Aug-2021 05:57:29 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=none
Alt-Svc: тут тоже ничего для Вас нет
Transfer-Encoding: chunked

Т.е., опять таки нет тут этих самых Accept-ranges: bytes, о которых мне тут Ваш тупорылый собрат хлестался. Откуда у Вас взялось Accept-ranges: none? Да это Ваш wget Вам вывел всякую фигню, говорящую о том, что Accept-ranges не поддерживается сервером. Сервер не вернул Вам требуемые Accept-ranges: bytes. Об этом напимано прямо и явно в RFC 7233, раздел 2.3.

A server that does not support any kind of range request for the target resource MAY send

Accept-Ranges: none

to advise the client not to attempt a range request.

В данном случае сервер ничего не шлёт из того, что может говорить о поддержке этой вашей «докачки», поэтому Ваш клиент сразу Вам показывает что докачек тут не будет. Странный случай когда wget оказывается умнее анонима… =)))

Я же уже сказал – бегом матчасть учить. Не поверили? Ну зря, зря… =)))

P.S. И да, Вы всерьёз подумали что я про curl так просто сказал? Я знаю различия в работе wget и curl. Если нужна наиболее чистая проверка заголовков, то лучше curl нет ничего. Просто потому, что curl это инструмент для программиста, а wget это уже готовый инструмент (клиент) для скачки всякого файла по сети. Впрочем, разницу Вам явно не понять, зря я Вам это решил объяснить.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 2)
Ответ на: комментарий от anonymous

Тащщемта...

сказали же опционально.

Это именно я в треде и сказал о необязательности и опциональности данной фичи. И даже показал как проверить и даже на ЛОР это проверил. Нефиг мне тут было упираться и доказывать что оно «десятилетиями так у всех работаит».

И да. Строить свою работу на том, что фича обязательно будет, я бы не стал. А уж как там вы, бестолочи, да мне пофиг. Честно. =)))

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от rustolover

Я даже не знаю что это:

сайте шоты

за помойка и почему там надо зачем-то регаться. Но умного человека насторожило бы явно что прон в массе своей в большинстве случаев качался торрентами.

Я тебе желаю

Я Вам желаю просто мозгов. Хотя, видимо, уже поздно… =)))

Moisha_Liberman ★★
()
Ответ на: комментарий от anonymous

И Вас с добрым утром! =)

Вижу, Вы уже позавтракали? Плотненько, да? =)))

Мдааа… «А как дысааал… как дысааал…» © бородатый анекдот. Хе-хе… =)))

Moisha_Liberman ★★
()
Ответ на: Ну и кто здесь врёт? =))) от Moisha_Liberman

With the -D option, you have the ability to store the HTTP headers that a site sends back.

сurl -D - «http://www.google.com» | grep Accept-Ranges

% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0Accept-Ranges: none 100 17879 0 17879 0 0 169k 0 –:–:– –:–:– –:–:– 169k

Зяма, вы делаете мне нервы, нельзя же так беззастенчиво врать.

anonymous
()
Ответ на: комментарий от anonymous

Ну, блондинко, чё исчо придумаете? =)))

With the -D option, you have the ability to store the HTTP headers that a site sends back.

Уговорили… =))) Давайте воспользуемся командой curl -D - "https://www.google.com" и глянем что же там таки эти гои нам возвращают… =)))

А возвращают нам вот что:

HTTP/2 200 
date: Wed, 10 Feb 2021 06:58:37 GMT
expires: -1
cache-control: private, max-age=0
content-type: text/html; charset=ISO-8859-1
p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
set-cookie: 1P_JAR=2021-02-10-06; expires=Fri, 12-Mar-2021 06:58:38 GMT; path=/; domain=.google.com; Secure
set-cookie: NID=тут нет ничего для Вас
accept-ranges: none
vary: Accept-Encoding

# И далее идёт поскипанное здесь тело документа с сайта https://www.google.com, начиная с <!doctype html><html itemscope="" и заканчивая </script>        </body></html>

Ви би таки уже открыли бы себе сонсоль и проверили чьто ли? =))) Мне Вас таки ещё и curl научить пользоваться? А чем же Ви занимались в своём иешиботе, я стесняюсь спросить?

В возвращаемых заголовках нет ничего про Accep-ranges, как несложно заметить. Здесь есть что-то про заголовок accept-ranges, рекомендую сравнить две строки и удивиться. Откуда Ви таки себе придумываете что Вам что-то возвращает сервер, я и не знаю даже. Возможно, это у Вас там от сырости заводится? Или ветром надувает?

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 2)
Ответ на: Ну, блондинко, чё исчо придумаете? =))) от Moisha_Liberman

Что возвращает, то я и написал. Факт присутствия поля «accept-ranges:» налицо. Поля нечуствительны к регистру согласно RFC 7230 HTTP/1.1 «Message Syntax and Routing».

У меня уже был такой упрямый шмуль. Правда потом признался, что он не еврей, а даже совсем араб.

anonymous
()
Ответ на: комментарий от anonymous

Друг-анон, ты понимаешь, что ты приводишь рациональные доводы лживому дегенерату, который не умеет ни в курл, ни в снифферы, ни в чтение рфц, ни в чтение каментов на лоре, ни вообще ничего, кроме тройных скобочек?

Посуди сам: маня тестирует курлом докачку динамической индексной хэтэмэльки (!) о которой даже сам сервер внятно говорит «я не поддерживаю accept-ranges» (!!), чему маня не верит, несмотря на наличие соответствующего заголовка в его же дампе курла (!!!) и на основании этого делает выводы о чем угодно, только не о собственном IQ.

anonymous
()
Ответ на: комментарий от anonymous

Весело же. Особенно если учесть, что у пациента в анамнезе «network programming», «kernel», «kernel programming».

anonymous
()
Ответ на: комментарий от anonymous

А где в RFC

хоть что-то написано про accept-ranges? Там этого нет. Там есть про Accept-ranges и это (сюрприз-сюрприз) разные строки. Так-то, чёб не поговорить про aCcept-Ranges, например? Вы же тут про RFC упирались рассказывали? Ну так кто тут лжёт?

Дальше. Вы же тут упирались, рассказывая про то, что «дисятилетиями у всех всё работаит»? Ну так почему на сайте гугля этого нет? На ЛОРе, как на сайте, этого тоже нет? Где же обязательность к исполнению? Нет её, опять сбрехать изволили?

Друг-анон, ты понимаешь,

Вы уж извините что я в Ваш разговор со своим мужем или женой вмешиваюсь… Желаю вам жить долго и счастливо и помереть в один день… =)))

Moisha_Liberman ★★
()
Ответ на: комментарий от anonymous

Ахааа... =)))

Заодно хоть RFC научу вас читать и curl пользоваться… =)))

Moisha_Liberman ★★
()
Ответ на: А где в RFC от Moisha_Liberman

Тебе же сказали тупая задница, «Each header field consists of a name followed by a colon (»:«) and the field value. Field names are case-insensitive.»

anonymous
()
Ответ на: комментарий от anonymous

Ахааа... =)))

Факт присутствия поля «accept-ranges:» налицо.

Ну, то есть как мне тут Ваша жена или муж (я честно Вас не разбираю и не осуждаю) рассказывало, Accept-ranges: bytes это, значит, необязательная фича. Ну, коль Вы сами это признаёте, то уже хорошо. Значит, не врёт RFC, говоря о том, что Accept-Ranges: none или вообще ничего может и не возвращаться. Этот факт считаю доказанным.

Так же доказан тот факт, что man curl не врёт, говоря о том, что на дохренилиарде серваков с http/1.1 эта фича может так же не встречаться.

Отлично.

Поля нечуствительны к регистру согласно RFC 7230 HTTP/1.1 «Message Syntax and Routing».

Вообще-то, из-за дол… (ну, Вы поняли), которые не в состоянии воспроизвести сравнение строк, так называемые «строковые функции» в С считаются небезопасными. Т.е., strcmp() лучше бы поменять на strcasecmp()/strncasecmp(). Так что, этот RFC это для вас… для дол… «анонимов», я хотел сказать. =)))

Moisha_Liberman ★★
()
Ответ на: Ахааа... =))) от Moisha_Liberman
В синагоге идут выборы раввина. Все предлагают Рабиновича. Встает Либерман:
— Я против Рабиновича, потому что у него дочь пpocтитутка.
— Либерман, что вы говорите! У Рабиновича вообще нет дочери. У него четыре сына — и всё!
— Ну, я сказал свое мнение, а вы решайте.
anonymous
()
Ответ на: комментарий от anonymous
— Либерман, что вы говорите! У Рабиновича вообще нет дочери. У него четыре сына — и всё, ёбаный ты в голову дебил!
— Ну, я сказал свое мнение =))) а вы решайте =))).
anonymous
()
Ответ на: комментарий от anonymous

Подводя итоговую черту...

Я не могу не заметить что детонацией ваших анонимных пуканов я более чем удовлетворён. Да, именно из-за таких как вы, интернет это небезопасное место и поговорка про то, что если бы погроммисты строили бы цивилизацию, то первый же залётный дятел всё бы на фиг развалил, спрведлива.

Я не знаю кто и зачем вас назвал погроммистами (нет, называть вас обоих программистами у меня пальцы на клаве не гнутся, но факт остаётся фактом. Вас не спасёт ни один из существующих языков программирования – ни гошечка, ни рустик. Какой из «безопасных» языков ни изобретай. Ничего. Идиотов, которые «что хотят, то и воротят», от самих себя не спасёшь.

Вон из профессии! Оба!

Точка, пожалуй. =)))

Moisha_Liberman ★★
()
Ответ на: Подводя итоговую черту... от Moisha_Liberman

детонацией ваших анонимных пуканов я более чем удовлетворён\

Ты хотел сказать «я не ёбаный в голову дебил, я вас затралел». Что ж, обосравшиеся на публике долбоебы обычно так и говорят.

Да, именно из-за таких как мы интернет небезопасен для ёбаных в голову дебилов, пытающихся выставиться знатоками за счет туповатого сарказма и идиотских смайликов.

Точка, пожалуй. =)))

Даже не надейся, маня. Интернет помнит всё.

anonymous
()
Ответ на: комментарий от splinter

Смотрю, проекты на Go поперли - Syncthing, SFTPGo….

Скоро на D попрёт. готовьтесь, кому Go/Rust мало, а C++ больно

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.