Skip to content

Releases: norealist/YourFileServer

v4.0

Choose a tag to compare

@norealist norealist released this 22 Feb 08:55
  • Теперь сервер поддерживает 2 и более подключений
  • В YFSio функции стали асинхронными
  • Теперь можно создавать и удалять директории
  • Перед удалением файла/директории нужно подтвердить действие
  • Значительно ускорена загрузка/скачивание файла благодаря разбиению файла на пакеты по 512 байт
  • В YFSnet появились новые методы: sendDataAsync и getDataAsync
  • Теперь если клиент пытается подключиться к серверу по http (то есть через браузер), то этот клиент будет забанен на 10 минут. Это специально сделано для того чтобы не нарушать работу сервера

Позже добавлю yfs для linux

v3.1

Choose a tag to compare

@norealist norealist released this 16 Nov 08:58
  • Исправил момент, когда зашифрованный файл скачался, ключ от этого файла есть в файле keytable, но он не расшифровывался.
  • Изменил работу функции getFiles

v3.0

Choose a tag to compare

@norealist norealist released this 26 Sep 19:25
  • Добавил возможность зашифровать файл перед отправкой на сервер, если пользователь хочет этого.

    Как шифруется файл:

    • В библиотеке yfs_keygen генерируется ключ из рандомных символов, которые записаны в константе DICT. Длина ключа варьируется от 16 до 64 символов (возможно позже сделаю кастомную длину ключа).
    • Потом ключ превращается в массив типа byte (byte[] _keyBytes)
    • Далее происходит следуещее:
      • Читается байт с файла
      • Происходит операция: прочтённый байт XOR N-ый байт (1,2,3,4 и тд) с массива _keyBytes
      • После байт инвертируется
      • Крч если не поняли вот код
      string key = new YFSkeygen()._keygen();
      byte[] _keyBytes = new YFSkeygen()._keyBytes(key);
      
      Console.WriteLine("\n[...] Файл шифруется перед отправкой. Подождите");
      while (readFile.BaseStream.Position != readFile.BaseStream.Length)
      {
         byte wb = readFile.ReadByte();
         foreach (byte b in _keyBytes)
         {
             wb ^= b;
             wb = (byte)(BYTE255 - wb);
         }
         writeFile.Write(wb);
      }
    • Зашифрованный файл отправляется на сервер, а ключ сохраняется в файле server_ip_addres.keytable
  • Изменил интерфейс

  • Добавил дополнительные обработки исключения, чтобы сервер не выключался

  • Теперь не получиться выйти за рамки выделенной директории сервера

    • до этой версии был баг, который позволял выйти за рамки выделенной папки. Например у сервера была выделенная директория D:\myserver, если перейти в папку / или .. или ../.., то ты бы попал в диск D:

(пересоздал этот тег)

v2.2 (03072024)

Choose a tag to compare

@norealist norealist released this 03 Jul 08:32
  • Добавил возможность получать информацию о файле, для этого надо нажать на клавишу F

v2.1:12062024

Choose a tag to compare

@norealist norealist released this 13 Jun 08:49
  • Добавил файл конфигурации запуска сервера (yfs_(имя компьютера).startup). Если в пункте useStartupFile стоит yes, то данные будут браться от файла запуска, если стоит no, то перед запуском сервера программа будет запрашивать данные (данные имеется ввиду: выделенная папка, порт, ip)

v2.0:10062024

Choose a tag to compare

@norealist norealist released this 10 Jun 13:12
  • Добавил проверку контрольной суммы файла после скачивания/загрузки.
  • Расширил логи сервера
  • Добавил прогресс скачивания/загрузки файла

v1.0:07062024

Choose a tag to compare

@norealist norealist released this 07 Jun 16:19
  • Добавил авторизацию к серверу по логину и паролю.
  • Прежде чем создать сервер, надо создать файл авторизации (AUTH).
  • UPD: нативно скомпилировал прогу для linux.

Windows: yfs.zip

Linux: yfs.tar.gz

b0.4

Choose a tag to compare

@norealist norealist released this 31 May 13:52
  • Сделал логотип
  • Убрал автоопределение ip адреса
  • Если папки не существует, то выводится сообщение, если попытаться прочитать содержимое несуществующей папки

b0.3

Choose a tag to compare

@norealist norealist released this 30 May 10:09
  • Добавил возможность отключиться от сервера
  • После отключения клиента сервер не отключается, а начинает повторно ожидать подключения
  • Добавил конструкции обработки ошибок
  • Чтобы перейти в каталог, вместо /papka можно просто написать papka
  • Чтобы перейти в подкаталог, вмсето /papka/podpapka можно написать podpapka

b0.2

Choose a tag to compare

@norealist norealist released this 29 May 09:23
  • Добавил возможность переходить в каталоги
  • UPD: пофиксил ошибку, при котором файл с сервера не удалялся после команды "удалить файл"