Page 1 of 2 12 LastLast
Results 1 to 15 of 111

Thread: Русские имена торрентов

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Русские имена торрентов

    Вопрос мелькал в топике про "Вопрос насчет торрента" http://wl500g.info/showthread.php?t=5438 но так и не был дан ответ
    Ситуация такая стоит enhanced-CTorrent и SEAKY's CTCS торренты качаются и раздаются ... жесткий диск отформатирован в ext3 но если скачиваемый файл назван по русски то в FTP он кракозябрами (хотя в терминале ls -l кажет все правильно) ... самбу даже не пробовал т.к. нужно скачивать через инет ... как это побороть??? поставил vsftpd проблему не решило ... 5-й пункт "Инструкции с нуля" проблему не решает ...

    ПРЯМАЯ ССЫЛКА НА РЕШЕНИЕ ПРОБЛЕМЫ:
    http://wl500g.info/showpost.php?p=53426&postcount=7
    Last edited by al37919; 17-03-2009 at 11:12.

  2. #2

    Up

    поднимаю ... что выходит я один такой, кому торрентсы руские поподаются ...

  3. #3
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    В терминале какая кодировка? UTF8?

  4. #4
    Quote Originally Posted by Oleg View Post
    В терминале какая кодировка? UTF8?
    У меня аналогичная "проблема", в терминале UTF-8. Может есть способ кодировку системы перевести на 1251? А то самба2 юникод не понимает, вот и получаются крякозябры.

  5. #5

    Присоединяюсь.

    Тоже недавно столкнулся с такой проблемой. В Midnight Commander'e,в частности, все показывает нормально, но передать эти файлы на компьютер с Windows с нормальными именами - не получается. Ладно бы там один два файла - можно потом и вручную переименовать, но когда их десятки (например торрент с кучей mp3) - это уже напрягает.
    Пробовал такой способ - все файлы переводил в один архив tar'ом. Потом этот tar пытался под Windows разархивировать начала WinRar'ом (крякозябры остались), затем 7-Zip, который, судя по документации поддерживает и UTF-8. Результат - не лучше. Поддерживать, он , может, и поддерживает, но конвертировать в 1251 видно не умеет.
    А проблема эта - в пользователях, создающих торренты. Ведь, как правило, на трекерах в правилах просьба или требование - не создавайте торренты с файлами с именами в кириллице- нет, все пофигу. Ну лень тебе переименовать - заархивируй тем же RAR'ом.

  6. #6

    Патч для vsftpd

    Вроде как есть возможность обучить vsftpd перекодировать UTF-8, но для этого его нужно пропатчить до соответствия рекомендациям RFC-2640. Вот народ уже делает http://vsftpd.devnet.ru/rus/ ктоб еще и для роутера это все адаптировал ....

  7. #7

    Проблема решена

    Эх-х-х-х-х Как всегда спасение утопающих дело рук самих утопающих.
    Пришлось самому все творить ... В общем проблема решена и постараюсь как можно подробно расказать решение (типа для НОВИЧКОВ)
    для начала устанавливаем (если не было) стандартный vsftpd
    ipkg install vsftpd
    настраиваем его (это довольно подробно уже описано пользуйтесь "Поиском")
    когда все заработало как вам нужно (за исключением нормального отображения руских имен) приступаем к устранению этой проблемы
    для начала установим все что нужно для нативной компеляции на роутере
    ipkg install optware-devel
    во время установки вам покажется что все повисло (в момент когда ставится buildroot) но это не так просто скачать и распаковать 42 метра тяжело ... идем пить пиво часа на 1.5-2
    после этого нам необходимо скачать исходники модифицированного vsftpd например так:

    mkdir /opt/source/vsftpd-2.0.5.ext3.3
    cd /opt/source/vsftpd-2.0.5.ext3.3
    wget http://vsftpd.devnet.ru/files/2.0.5/....ext3.3.tar.gz
    tar -xzvf ./vsftpd-2.0.5.ext3.3.tar.gz


    Затем нужно поправить файл vsf_findlibs.sh в 5 строке изменить egrep на grep
    Затем запускаем компиляцию:
    make
    после того как компиляция благополучно закончилась делаем следующее:
    mv /opt/sbin/vsftpd /opt/sbin/vsftpd.bak
    cp ./vsftpd /opt/sbin/

    после этого нужно добавить в его конфиг строки:
    convert_charset_enable=1
    local_charset=UTF8
    remote_charset=WIN1251

    усе теперь он будет перекодировать из UTF-8 в WIN-1251 и в винде имена будут по русски ... внем еще кучу всего наворотили связанного с кодировками если кому надо то подробности тут: http://vsftpd.devnet.ru/rus/
    я не стал разбираться как сделать пакет для opt-ware ... если кому захочется то вперед ....
    для особо ленивых прилагаю скомпиленный vsftpd бинарик .... Удачи!

    P.S. чтобы воспользоваться нижеприведенным ipk файлом сохраните /opt/etc/vsftpd.conf (если вы его настраивали) и если у вас установлен стандартный vsftpd из optware выполните
    PHP Code:
    ipkg remove vsftpd 
    после этого устанавливайте данный ipk (естественно, предварительно разархивировав его с помощью gunzip)

    [UPDATE al37919] Свежая версия находится здесь
    Attached Files Attached Files
    Last edited by al37919; 15-01-2010 at 08:43.

  8. #8
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    169
    Есть штука и поудобнее, специально для перекодировки имен файлов - convmv (http://j3e.de/linux/convmv/). Ей только нужен perl, который не так давно появился в правильном репозитории.
    Нужно только
    ipkg install perl
    Изменить первую строку скрипта на
    #!/opt/bin/perl
    Потом использовать, например, так:
    convmv -r --notest -f utf8 -t cp1251 *
    Так он рекурсивно перекодирует все файлы в текущем каталоге с utf8 на cp1251.
    Last edited by Xander; 26-04-2007 at 22:10.

  9. #9
    Quote Originally Posted by Xander View Post
    Есть штука и поудобнее, специально для перекодировки имен файлов - convmv (http://j3e.de/linux/convmv/). Ей только нужен perl, который не так давно появился в правильном репозитории.
    Нужно только
    ipkg install perl
    Изменить первую строку скрипта на
    #!/opt/bin/perl
    Потом использовать, например, так:
    convmv -r --notest -f utf8 -t cp1251 *
    Так он рекурсивно перекодирует все файлы в текущем каталоге с utf8 на cp1251.
    что значит поудобнее??? так юзверь ставит торрент на закачку и забирает его по ФТП в том начертании что он был... и делать ему ничего не нужно ... а если после закачки торрента файлы переименовать то они и раздаваться не будут ... Здесь обсуждалась проблема именно русских торрентов а не вообще файлов с русскими именами в UTF-8

  10. #10
    Помогите, кто знает, я совсем измучился, есть около 20 гигов минусовок, скаченных с торрентов, там названия были, видимо, на русском языке в win-1251, после закачки самба их в упор не видит, через mc все выглядит кракозяблами. Ручками переобозвать все папки и файлы очень проблематично, поскольку названия угадать по кракозяблам нельзя...

    Quote Originally Posted by Xander View Post
    Есть штука и поудобнее, специально для перекодировки имен файлов - convmv (http://j3e.de/linux/convmv/). Ей только нужен perl, который не так давно появился в правильном репозитории.
    Нужно только
    ipkg install perl
    Изменить первую строку скрипта на
    #!/opt/bin/perl
    Потом использовать, например, так:
    convmv -r --notest -f utf8 -t cp1251 *
    Так он рекурсивно перекодирует все файлы в текущем каталоге с utf8 на cp1251.
    Перл стоит, но в нашем репозитарии convmv нет, по крайней мере ipkg insall convmv не работает, а так, как мне рассказали, было бы можно всё красиво одним махом переименовать, например командой
    convmv -f <from> -t <to> * --notest
    Может как-то иначе можно это дело прикрутить?
    Было ещё такое:
    Quote Originally Posted by leniviy View Post
    Вот мой скрипт, который создаёт симлинки на utf-8 файлы в текущей директории. Ругать не надо, я не профи, мне лишь бы работало.
    Переделан вот из этого http://www.wl500g.info/showpost.php?...&postcount=315
    требует пакет recode
    Code:
    #!/bin/sh
    func1 () {
      ls "$1" | grep [РС] | \
      while read ELEMNAME; do
        renamed=`echo $ELEMNAME | sed 's/$//' | recode -q u8..1251 | sed -n '1p' | sed 's/.$//'`
        if [ "$renamed" != "$ELEMNAME" ]; then
          rerenamed=`echo $renamed | sed 's/$//' | recode -q 1251..u8`
          if [ "$rerenamed" = "$ELEMNAME" ]; then
            echo found UTF-8 file or folder: $1$ELEMNAME
            counter=""
            newlinkpath=$1$renamed$counter
            LINKCORRECT=0
            while [ -L "$newlinkpath" ] || [ -f "$newlinkpath" ] || [ -d "$newlinkpath" ]; do
              echo "  \"$newlinkpath\" already exists"
              if [ -L "$newlinkpath" ]; then
                LINKTRG=`ls -l "$newlinkpath" | awk '{print substr($0,index($0, "->")+3,33000)}'`
                echo "  it points to $LINKTRG"
                if [ "$ELEMNAME" = "$LINKTRG" ]; then
                  echo "  link is correct"
                  LINKCORRECT=1
                  break
                else
                  echo "  link is incorrect. will try another name"
                fi
              else
                echo "  it is not a symlink. will try another name"
              fi
              counter=`expr $counter + 1`
              newlinkpath=$1$renamed$counter
            done
            if [ "$LINKCORRECT" != "1" ]; then
              echo "  running command ln -s \"$ELEMNAME\" \"$newlinkpath\""
              ln -s "$ELEMNAME" "$newlinkpath"
            fi
          fi
        fi
      done
    
      ls -F "$1" | grep / | \
      while read DIRNAME; do
        func1 "$1$DIRNAME"
      done
                
    }
    
    if [ -n "$1" ]; then
      func1 $1/
    else
      func1 ./
    fi
    Пробовал сделать исполняемый скрипт из этого кода в папке с испорченными названиями, как его запустить, так и не понял... Указывал полный путь к нему от /tmp, в ответ получал, что такого файла нет...
    Если не сложно, расскажите, как при помощи либо этого скрипта, либо при помощи convmv изменить кодировку названий файлов в нужной папке, например, пусть в такой

    /tmp/mnt/disc1_1/Encode
    Заранее благодарен за помощь! Откликнитесь, пожалуйста, мне надо раз и навсегда с этим моментом разобраться, уж очень хочется точку в этом вопросе поставить.
    ASUS RT-N16 FW 1.9.2.7-rtn-r2044 + Корбина L2TP + Wi-Fi 802.11n
    DUNE BD Prime 3.0 + Qnap TS-119 Turbo NAS (Transmission + RGUI)
    **********
    Когда ложишься спать, никогда не знаешь, сколько комаров
    налетело в комнату, но чтобы не выспаться, хватит и одного ...

  11. #11

    Thumbs up

    Mirage-net
    Супер ! Спасибо огромное. Я-то хотел пойти другим путем - уже набросал программку под винды, которая переименовывает файлы из UTF-8 в 1251, да там затык оказался - спотыкается на имени папки. Файлы переименовывает, а папки -нет.
    Ну с пропатченным vsftpd это уже не нужно. На мой взгляд - самый удобный вариант
    Еще раз спасибо !

  12. #12
    конфигурация для перекодировки заработала только такая:

    convert_charset_enable=YES
    local_charset=UTF8
    remote_charset=CP1251

    вместо:

    convert_charset_enable=1
    local_charset=UTF8
    remote_charset=CPWIN1251

  13. #13
    Запустил по совету Mirage-net установку optware-devel
    ipkg install optware-devel
    Quote Originally Posted by Mirage-net View Post
    Эх-х-х-х-х Как всегда спасение утопающих дело рук самих утопающих.
    Пришлось самому все творить ... В общем проблема решена и постараюсь как можно подробно расказать решение
    ...
    для начала установим все что нужно для нативной компеляции на роутере
    ipkg install optware-devel
    во время установки вам покажется что все повисло (в момент когда ставится buildroot) но это не так просто скачать и распаковать 42 метра тяжело ... идем пить пиво часа на 1.5-2
    А в ответ через пару часов:

    An error ocurred, return value: 1.
    Collected errors:
    ERROR: The following packages conflict with wget-ssl:
    wget

    Что и где подкрутить подскажите, плиз...
    Last edited by BlackCat; 15-11-2007 at 14:11.

  14. #14
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    удалить wget, поставить wget-ssl и запустить инсталляцию optware-devel заново.

  15. #15
    Quote Originally Posted by BlackCat View Post
    Запустил по совету Mirage-net установку optware-devel
    ipkg install optware-devel


    А в ответ через пару часов:

    An error ocurred, return value: 1.
    Collected errors:
    ERROR: The following packages conflict with wget-ssl:
    wget

    Что и где подкрутить подскажите, плиз...
    Лучше сначала скачать пакет buildroot_4.1.1-12_mipsel.ipk (42 метра) затем запустить
    Code:
    ipkg install optware-devel
    когда установка дойдет до buildroot_4.1.1-12_mipsel.ipk прерываем ее и запускаем установку buildroot_4.1.1-12_mipsel.ipk с локального харда
    Code:
    ipkg install /полный_путь/buildroot_4.1.1-12_mipsel.ipk
    после долгой установки и ее завершения запускаем снова
    Code:
    ipkg install optware-devel
    проверено... работает

Page 1 of 2 12 LastLast

Similar Threads

  1. FAQ: часто задаваемые вопросы
    By Oleg in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 56
    Last Post: 13-09-2016, 13:06
  2. Вопрос насчет Torrent
    By arik in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1243
    Last Post: 05-10-2011, 00:29

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •