Npm

Use Reget alone

Reget can be a

import{Reget,compose,mount}from'reget'importbrowserMiddlewarefrom'reget/lib/middlewares/browser'importcacheMiddlewarefrom'reget/lib/middlewares/cache'importlocalStorageMiddlewarefrom'reget/lib/middlewares/localStorage'importcookieMiddlewarefrom'reget/lib/middlewares/cookie'importkoaCookieMiddlewarefrom'reget/lib/middlewares/koaCookie'constreget=newReget({  handlercompose(mount('memory',cacheMiddleware()),{mount'memory', handlercacheMiddleware()},{      route'abc/:key',asyncget(ctx,next){},asyncput(ctx,next){},asyncpost(ctx,next){},}),})reget.put('memory/foo','bar')reget.get('memory/foo')==='bar'

reget will create a CallContext instance and pass down to middlewares

CallContext fields, getters and setters

regetObjectcacheObjectmethod'GET'url''path''ifModifiedSincenullheadersnullinputnullstatus404bodynullgetfunction(){}setfunction(){}

Use Reget alone

Reget can be a

import {Reget, compose, mount} from 'reget'

import browserMiddleware from 'reget/lib/middlewares/browser'
import cacheMiddleware from 'reget/lib/middlewares/cache'
import localStorageMiddleware from 'reget/lib/middlewares/localStorage'
import cookieMiddleware from 'reget/lib/middlewares/cookie'
import koaCookieMiddleware from 'reget/lib/middlewares/koaCookie'


const reget = new Reget({
  handler: compose(
    mount('memory', cacheMiddleware()),
    // or
    {mount: 'memory', handler: cacheMiddleware()},

    {
      route: 'abc/:key',
      async get(ctx, next) {
        // ...
      },
      async put(ctx, next) {
        // ...
      },
      async post(ctx, next) {
        // ...
      },
    }
  ),
})

reget.put('memory/foo', 'bar')
reget.get('memory/foo') === 'bar'

API

reget will create a CallContext instance and pass down to middlewares

CallContext fields, getters and setters

// ctx fields
reget: Object // caller reget object. Middleware is valid to call middlewares stack again, (prevent recursive problem on your own).
cache: Object // reget's cache. middleware can use this to safely put data into cache

// request related fields
method: 'GET' // default 'GET'
url: '/' // url with query string, default '/'
path: '/' // url without query string, default '/'
ifModifiedSince: null // default null
headers: null // default undefined
input: null // request body or data, default null

// response related fields
status: 404 // http-like response status getter and setter, default 404)
body: null  // http-like response body getter and setter, default null)
get: function() {} // get normalized header
set: function() {} // set header

Reget class

cache  // this instance's CacheStore
handler()  // assigned handler function for request (GET, PUT, POST), can be created by ```compose``` module
get(pathname, query, option)  // http get (Sync)
put(url, input, option)  // http put (Async/Promise)
post(url, input, option)  // http post (Async/Promise)
reload(url, option)  // http get (Async/Promise)
request(option)  // http request (Async/Promise)
serverRender()
getLoadingPromise(key) // get promise for all loading calls or one cache, null when promise not found
wait()  // wait for all pending requests and events
getCache() // If !key, entire store will be returned
setCache() // If key is object, key&value will be import to this cache store.
invalidate(key, allSuffix)
watch(key, func)
unwatch(key, func)

Middlewares

import {compose} from 'reget'

const handler = compose(
  {
    route: 'foo/:key',
    async get(ctx, next) {
      // ctx.params = {key: 'hi'}
      await next()
      ctx.body = ctx.body + ' World'
    },
    async put(ctx, next) {
      DB.save(ctx.input)
      ctx.status = 200
    },
  },
  ctx => {
    ctx.body = 'Hello'
  },
)

const ctx = {path: 'foo/hi'}
await handler(ctx)
// ctx.body === 'Hello World'

Middleware API

compose(…middlewares)
create a function that accept a context argument and pass down to all middlewares

middlewares can be one of

  • function(ctx, next){}
  • array of function(ctx, next){}
  • object: {route: ‘pathPattern’, get(){}, put(){}, post(){}, watch(){}, unwatch(){}}
  • object: {mount: ‘prefix’, handler: anotherMiddleware}
  • mount(‘prefix’, anotherMiddleware)

Middleware Example

browserMiddleware = {
  route: '/:key',
  watch({params: {key}, mountPath, reget}) {
    if (key === 'height' || key === 'width') {
      window.onresize = function() {
        const changes = {
          // mountPath = 'browser' if you use mount('browser', browserMiddleware)
          `${mountPath}/height`: window.innerHeight,
          `${mountPath}/width`: window.innerWidth,
        }
        reget.setCache(changes)
      }
      window.onresize()
    }
  },
  unwatch(ctx) {
    const {key} = ctx.params
    if (key === 'height' || key === 'width') {
      window.onresize = null
    }
  },
  get(ctx) {
    // just use the cached value
    ctx.status = 304
  },
  put(ctx) {
    // cannot put
    ctx.status = 404
  },
}

Middlewares

import{compose}from'reget'consthandler=compose({    route'foo/:key',asyncget(ctx,next){awaitnext()ctx.body=ctx.body+' World'},asyncput(ctx,next){DB.save(ctx.input)ctx.status=200},},ctx=>{ctx.body='Hello'},)constctx={path'foo/hi'}awaithandler(ctx)

compose(…middlewares)
create a function that accept a context argument and pass down to all middlewares

middlewares can be one of

  • function(ctx, next){}
  • array of function(ctx, next){}
  • object: {route: ‘pathPattern’, get(){}, put(){}, post(){}, watch(){}, unwatch(){}}
  • object: {mount: ‘prefix’, handler: anotherMiddleware}
  • mount(‘prefix’, anotherMiddleware)
browserMiddleware ={  route'/:key',watch({params{key}, mountPath, reget}){if(key ==='height'|| key ==='width'){window.onresize=function(){constchanges={`${mountPath}/height`window.innerHeight,`${mountPath}/width`window.innerWidth,}reget.setCache(changes)}window.onresize()}},unwatch(ctx){const{key}=ctx.paramsif(key ==='height'|| key ==='width'){window.onresize=null}},get(ctx){ctx.status=304},put(ctx){ctx.status=404},}

MKVToolnix 5.2.1.402 + Portable [2012, Видеоредактор, работа с MKV]

Год выпуска: 2012Жанр: Видеоредактор, Работа с MKVРазработчик: Moritz BunkusСайт разработчика: https://www.bunkus.org/Язык интерфейса: Мультиязычный (русский присутствует)Тип сборки: Standard + PortableРазрядность: 32/64-bitОперационная система: Windows XP, Vista, 7 Описание: MKVToolnix — функциональный набор инструментов для работы с видео-файлами MKV Matroska. Очень полезная программа, позволяет добавлять/убирать звуковые дорожки, cубтитры, склеивать/резать файлы. Все очень быстро и понятно. Поддерживаются такие типы видео потоков: AVI, Ogg/OGM, и RealVideo. MKVToolnix — специальный …

Программы / Программы для работы с Мультимедиа / Видеомонтаж, Авторинг
Подробнее  

GetRight/GetRight Pro 6.3e

Разработчик Headlight Software

Сайт программы: http://www.getright.com/; http://pro.getright.com/

Размер дистрибутива: GetRight — 4,78 Мбайт; GetRight Pro — 4,91 Мбайт

Работа под управлением: Windows 95/98/Me/NT/2000/XP/Vista

Способ распространения: shareware (30-дневная демо-версия: GetRight — http://download.getright.com/getright-download.exe; GetRight Pro — http://download.getright.com/getright_pro_setup.exe)

ЦенаGetRight — 19,95 долл.; GetRight Pro — 49,95 долл.

GetRight — давно присутствующий на рынке и завоевавший популярность благодаря удобству и надежной работе менеджер закачки, который сегодня уже далеко не столь привлекателен для широкого круга пользователей, поскольку по ряду параметров уступает аналогам и предлагается по весьма высокой цене. Да и дальнейшая разработка этого решения, по сути, уже не ведется. Данный download-менеджер позволяет скачивать файлы (в том числе по расписанию) по протоколам HTTP, HTTPS, FTP и FTPS и может использоваться для скачивания файлов с файлообменных серверов, получения новых музыкальных клипов в Podcast/RSS-канал и скачивания файлов по протоколу BitTorrent (имеется возможность одновременного получения части данных по FTP/HTTP, а части — из BitTorrent с последующим «склеиванием» на лету). Предусмотрена возможность автоматического добавления полученных мультимедиафайлов в плейлисты приложений MediaPlayer и iTunes. Однако утилита не поможет при скачивании видео с видеохостингов и частичном скачивании архивов.

GetRight автоматически интегрируется в ведущие браузеры, причем указать перечень интересующих браузеров можно при установке утилиты. Специальный встроенный обозреватель обеспечивает просмотр структуры папок FTP-серверов и HTTP-сайтов. Ограничение трафика производится вручную путем установки максимально допустимого предела скорости закачки, при этом разрешается включить флажок для снятия этого ограничения в моменты активности скринсейвера. Перед скачиванием можно проверить интересующий адрес на существование и уточнить размер файла. Количество одновременно скачиваемых файлов и число потоков регулируются, а лучшие «зеркала» для скачивания несложно найти автоматически либо указать вручную. В зависимости от типов закачиваемые файлы могут распределяться по разным папкам, для папок разрешается устанавливать приоритеты. По завершении закачки возможно автоматическое проведение оценки целостности полученных файлов и проверки их на вирусы.

Программа представлена в двух версиях — базовой GetRight и расширенной GetRight Pro. В Pro-версии предусмотрена возможность работы в режиме «клиент-сервер» (для скачивания файлов одним компьютером в сети, которому с остальных просто передаются ссылки) и в качестве прокси-сервера (позволяет другим интернет-утилитам использовать возможности GetRight по докачке файлов). В нее также встроен функционал для синхронизации уже скачанных файлов в случае появления на серверах их обновлений и закачки файлов на серверы, имеется скриптовый язык (обеспечивает расширенные возможности управления скачиванием), можно лимитировать скорость скачивания отдельных файлов и др.

Основные возможности программы ReGet Deluxe

Прежде всего, сразу отметим, что существует два основных типа программы ReGet Deluxe. Первый предназначен для домашнего использования, а второй выпускается для рабочих станций. Если разобраться, то обычный пользователь особой разницы в функционале и не заметит.

Если говорить об основных возможностях приложения ReGet Deluxe, начать, пожалуй, стоит с принципа работы. Программа при закачке файла не загружает его целиком с одного конкретного адреса, а разбивает на части, при этом выполняя поиск соответствующих «зеркал». Именно за счет этого и повышается скорость загрузки. Что касается поддержки протоколов закачки, то здесь представлено достаточно большое количество, включая FTP- и HTTP-серверы, защищенные файловые (SFTP) и (HTTPS) защищенные веб-серверы. Кроме всего прочего, поддерживается FTP-компрессия MODE-Z.

Интересным является и то, что программа ReGet Deluxe имеет возможность отображать содержимое сайтов, а также, позволяет выбирать нужные элементы для загрузки

Не менее важно и то, что приложение инспектирует некоторые элементы веб-страниц, обычно недоступные обычному пользователю. Это могут быть, кнопки, баннеры и т.д

Что касается последней версии программы ReGet Deluxe, то здесь разработчики уделили больше внимания именно внешнему виду интерфейса. Панель инструментов настраивается совершенно просто, по желанию каждого пользователя. Но вот интересным новшеством явилось то, что программа ReGet Deluxe способна с честью выходить из некоторых неприятных ситуаций. Дело в том, что некоторые файлообменные сети имеют ограничение по скорости, в некоторых случаях нужно зайти на страницу с использованием какого-либо браузера. Понятное дело, что правообладателю выгодно, чтобы загрузка контента производилась напрямую с его ресурса. Это ведь повышает популярность сайта и увеличивает его посещаемость. В данном случае при старте загрузки приложение ReGet Deluxe как бы представляется нужному ресурсу, как один из популярных браузеров и ведет себя в отклике соответствующим образом.

Напоследок остается сказать, что менеджер загрузок ReGet Deluxe может использовать собственную поисковую систему для загрузки того или иного контента, имеет полностью автоматизированные настройки, возобновляет загрузку после паузы или при отсутствии связи и подключает к интерфейсу дополнительные модули (плагины). В целом, как говорится, просто, быстро и удобно. Так что, программа ReGet Deluxe подойдет пользователю любого уровня подготовки.

Orbit Downloader 2.8.13

Разработчик: OrbitDownloader

Сайт программы: http://www.orbitdownloader.com/

Размер дистрибутива: 2,17 Мбайт

Работа под управлением: Windows NT/2000/XP/2003/Vista

Способ распространения: freeware (http://www.orbitdownloader.com/download.htm)

Цена: бесплатно

Orbit Downloader — очень простой в применении, но достаточно функциональный и удобный менеджер закачки, отличающийся расширенной поддержкой социальных сервисов. Он позволяет загружать не только файлы по протоколам FTP и HTTP, но и разного рода потоковый флэш-, видео- и аудиоконтент через протоколы RTSP/MMS/RTMP с MySpace, YouTube, Imeem, Pandora и других подобных сервисов. Возможна загрузка файлов с файлообменных сервисов (включая Rapidshare, MegaUpload, 4shared, Depositfiles и пр.), а также проведение загрузки по технологии Metalink, позволяющей скачивать отдельные сегменты из сетей практически с любым протоколом. Скачивание медиаконтента с социальных сервисов реализовано в этой утилите через встроенный модуль Grab++, работающий только под Internet Explorer. Причем технология скачивания принципиально отличается от принятой в других download-менеджерах: если обычно менеджеру загрузки принято просто указывать ссылку вида https://www.youtube.com/watch?v=.., то модуль Grab++ определяет прямую ссылку при наведении указателя мыши на нужный ролик в окне его просмотра.

Программа интегрируется в популярные браузеры, причем поддержка нужных браузеров настраивается уже в ходе ее установки. Ограничение трафика производится вручную через настройки. Одновременно могут скачиваться несколько файлов — каждый в несколько потоков, число потоков регулируется, можно также изменить количество потоков для отдельно взятой закачки. Уточнить размер файла перед закачкой невозможно, равно как и частично скачать ZIP-архив, но разрешается просматривать содержимое ZIP-файла до его скачивания. Увеличение скорости закачки достигается не только за счет многопоточности, но и благодаря использованию технологии Orbitnet, базирующейся на Р2Р и автопоиске «зеркал». Уже закачанные файлы несложно перераспределить по разным папкам. По завершении скачивания утилита может проверить файл на вирусы встроенным антивирусом, автоматически разорвать интернет-соединение и выключить компьютер.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий