• Почему apt-get не находит пакет polipo?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Почему бы не загуглить, в каких версиях Убунты есть интересующий вас пакет?

    https://packages.ubuntu.com/search?keywords=polipo
    Ответ написан
    4 комментария
  • Почему apt-get не находит пакет polipo?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Polipo ceased to be maintained on 6 November 2016 due to the increasingly widespread use of encryption (i.e. HTTPS) making caching proxies obsolete.

    Так что только самостоятельно собирать из исходников и самостоятельно бороться со всеми проблемами при такой сборке.
    Ответ написан
    Комментировать
  • Почему apt-get не находит пакет polipo?

    Lord_of_Rings
    @Lord_of_Rings
    Python developer
    wget http://archive.ubuntu.com/ubuntu/pool/universe/p/polipo/polipo_1.1.1-8_amd64.deb
    sudo dpkg -i polipo_1.1.1-8_amd64.deb
    Ответ написан
    Комментировать
  • Есть ли простой для восприятия алгоритм ассимитричного шифрования?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    База асимметричного шифрования весьма проста. Для RSA:
    Берём два простых числа p и s, например
    p = 19
    s = 13
    Вычисляем их произведение n и функцию Эйлера f:
    n = p * s = 247
    f = (p - 1) * (s - 1) = 216
    Подбираем коэффициент k и экспоненту e так, чтобы значение d = (k * f + 1)/e было целым
    k = 9
    e = 5
    d = 389, целое
    Пара (e, n) даёт нам ключ для шифрования, пара (d, n) - ключ для дешифрования.
    crypted = messagee % n
    decrypted = cryptedd % n
    Очевидно, что из за операций по модулю мы можем шифровать сообщения в диапазоне [0, n - 1].
    message = 200
    crypted = 2005 % 247 = 174
    decrypted = 174389 % 247 = 200
    Основная сложность в том, что для защиты от подбора ключа нам нужны очень большие простые числа и значения n. Вот тут и возникают алгоритмы вычисления степеней, модулей и прочих операций с 1024-, 2048-, 4096-разрядными числами.
    Ответ написан
    4 комментария
  • Как запустить сервис на этапе загрузки nest?

    @historydev
    Острая аллергия на анимешников
    click
    static init() // - make static method
    
    async function bootstrap() {  // change main.ts
      if (!ConfigService.init()) {
        console.error('Invalid config');
        return;
      }
      const app = await NestFactory.create(AppModule);
      // тут как-то нужно запустить метод init из сервиса config модуля.
      await app.listen(3000);
    }
    Ответ написан
    1 комментарий
  • Почему не отображается текст во встроенной странице (pdf-lib)?

    @vitaliy_balahnin
    Новичок в веб-разработке
    spoiler

    const { PDFDocument, StandardFonts, PDFFont, degrees, rgb, PDFNumber, PDFPage } = require('pdf-lib');
    const fs = require("fs");
    
    const rbgWrapper = (red, green, blue) => rgb(red / (255 / 100) / 100, green / (255 / 100) / 100, blue / (255 / 100) / 100);
    
    
    // CONSTANTS
    const STAMP_COLOR = [85, 0, 171];
    
    // Method for create PDF with stamp
    const createStampDoc = async () => {
      const newPDF = await PDFDocument.create();
      const width = 250;
    
      // Embed the Helvetica font
      const TimesRoman = await newPDF.embedFont(StandardFonts.TimesRoman)
    
      // Creating page for stamp
      const page = newPDF.addPage([width, 100]);
    
      const drawStamp = (page, x, y) => {
        let curY = y;
    
        curY += 10;
        page.moveTo(x, curY);
        page.drawText("TEXT ONE", {
          font: TimesRoman,
          size: 10,
          color: rbgWrapper(...STAMP_COLOR)
        });
    
        curY += 10;
        page.moveTo(x, curY);
        page.drawText("TEXT TWO", {
          font: TimesRoman,
          size: 10,
          color: rbgWrapper(...STAMP_COLOR)
        });
    
        // Border of stamp
        const height = curY - y + 10;
        page.drawRectangle({
          x: x,
          y: y,
          width: width,
          height: height,
          borderColor: rbgWrapper(...STAMP_COLOR),
          borderWidth: 1,
          opacity: 0.3,
          color: rbgWrapper(255, 255, 255)
        });
    
        page.setHeight(height);
    
    
        return { width, height };
      };
    
      drawStamp(page, 0, 0);
    
      return newPDF;
    };
    
    async function main() {
      // Creating new main PDF file
      const mainPDF = await PDFDocument.create();
      mainPDF.addPage([350, 400]);
      mainPDF.addPage([350, 400]);
    
      const stampPDF = await createStampDoc();
    
       const [copiedStampPage] = await mainPDF.copyPages(stampPDF, [0]);
     
       const embeddedPage = await mainPDF.embedPage(copiedStampPage);
    
      // In each page embedding stamp page
      const pages = mainPDF.getPages();
      for (const page of pages) {
        await page.drawPage(embeddedPage, { x: 100, y: 100, rotate: degrees(20), opacity: 1 });
      }
     
    
    
      const binaryFileWithStamp = await mainPDF.save();
      fs.writeFileSync("stamp.pdf", Buffer.from(binaryFileWithStamp));
    }
    
    main();


    https://replit.com/@vitos8686/PDFLIB2-1?v=1
    631c380db3e17856804190.png
    Ответ написан
    3 комментария