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

OSCHINA-MIRROR/mirrors-pan-light

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

Pan-Light

Pan-Light — это неограниченная по скорости клиентская программа для облачного хранилища Baidu, разработанная на основе Golang и Qt5. Цель проекта — исследовать применение Golang в таких областях, как графические пользовательские интерфейсы, веб-серверы, планирование событий, WebSocket, длинные соединения P2P и т. д. Приглашаем разработчиков Golang присоединиться к этому проекту.

Официальный сайт программы | Онлайн-демонстрация | Техническая документация | Технический чат: 438604465 | Группа общения с пользователями: 222718962

Особенности

  • Использование легковесных сопрограмм Golang, высокая параллельность для сегментированной загрузки, возможность достижения оптимальной скорости загрузки путём регулировки степени параллелизма; сохранение данных о состоянии загрузки на диск для обеспечения возможности возобновления загрузки после перезапуска программы;
  • Реализация простого прокси на стороне клиента для обхода защиты от кражи Baidu и передачи видеофайлов из облачного хранилища на видеопроигрыватель Qt для онлайн-воспроизведения;
  • Онлайн-демонстрация: пользователям не нужно загружать программу, они могут испытать некоторые функции программы через веб-страницу; эта система может быть применена к другим продуктам для онлайн-демонстрации клиентских программ;
  • Принцип онлайн-демонстрации: незанятый персональный компьютер, запущенный через Docker, несколько «виртуальных машин», на которых установлена программа и служба VNC. Пользователь открывает веб-страницу, и сервер управляет подключением пользователя к виртуальной машине через Web RTC и незанятому компьютеру. Незанятый компьютер создаёт «туннель» между веб-страницей пользователя и виртуальной машиной. Веб-страница подключается к службе VNC виртуальной машины для удалённого управления.

О проекте

Этот проект является первым полноценным практическим проектом автора на языке Golang. Надеемся, что он будет полезен начинающим разработчикам Golang, которые ищут хорошие практические проекты. Мы приглашаем вас прочитать техническую документацию проекта, исходный код и принять участие в разработке. Однако, поскольку автор также является новичком, а объём работы над проектом довольно большой, у автора есть некоторые ограничения по времени и энергии, поэтому в области строгого контроля типов и других аспектов ещё предстоит дальнейшая работа. Например, вы увидите, что для удобства передачи сетевых данных в проекте широко используются типы map[string]interface{}, и строгие проверки типов не выполняются; некоторые низкочастотные конкурентные данные также были опущены и так далее. Приглашаем всех присоединиться к улучшению проекта.

Скриншоты программы

Скриншот 1

Скриншот 2

Скриншот 3

Скриншот 4

Прочее

  • Этот проект потребовал от автора много времени и усилий. Если вы считаете, что этот проект вам помог, пожалуйста, поставьте звёздочку.

  • Недавно неожиданно появилось много нетехнических пользователей. Поэтому необходимо сделать следующее пояснение:

    1. Этот проект всё ещё находится в стадии разработки, предварительная версия была выпущена, потому что основные функции были завершены, но всё ещё не хватает многих персонализированных функций, необходимых для клиентских программ, и существует множество ошибок. Поэтому нетехническим пользователям лучше выбрать другие более зрелые альтернативные продукты.
    2. Некоторые пользователи жалуются, что VIP-канал не работает: потому что за последние два дня внезапно появилось много обычных пользователей, сервер поддерживает только одну VIP-учетную запись, частота операций слишком высока, и она уже заблокирована Baidu. Я написал этот проект просто для эксперимента с технологией, чтобы попрактиковаться в использовании языка Golang. К сожалению, я продлил свою суперчленскую годовую подписку в прошлом месяце. Весь исходный код этого проекта является открытым исходным кодом. Если вы хотите использовать его самостоятельно, вы можете развернуть его самостоятельно. Но все ваши действия не имеют ничего общего с автором, автор не делится вашей прибылью и не несёт ответственности. Но проект написан мной, и я всё же должен напомнить вам: будьте законопослушным гражданином и стройте гармоничное социалистическое общество.
    3. Для настойчивых обычных пользователей, желающих использовать этот проект, вы можете настроить степень параллелизма до 256, чтобы достичь скорости загрузки 6–8 Мбит/с, но мы рекомендуем поддерживать официальные версии и оплачивать членство.
  • Существует множество форков, но пока нет PR. Автор сейчас очень занят и нуждается в поддержке сообщества для продвижения этого проекта.

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

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

Введение

Pan-Light — это безлимитный клиент облачного хранилища Baidu, разработанный на Golang и Qt5. Цель проекта — исследовать применение Golang в графическом интерфейсе клиента, веб-сервере и системе управления событиями, а также в вебе. Развернуть Свернуть
LGPL-3.0
Отмена

Обновления

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

Участники

все

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

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