推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
bjzhou1990

Greasy Fork 上的脚本 V2EX base64 decode 被举报下架了,原因是:代码经过最小化处理

  •  
  •   bjzhou1990 · Sep 29, 2021 · 6536 views
    This topic created in 1861 days ago, the information mentioned may be changed or developed.
    Greasy Fork 上的代码还不能最小化了?
    19 replies  •  2021-10-01 13:23:05 +08:00
    starsky007
    starsky007
    Sep 29, 2021 via Android❤️1
    2
    最小化的话,万一干坏事呢?
    wu67
    wu67
    Sep 29, 2021
    3
    所以我都是直接挂 GitHub 上, 然后通过 gf 发布, 这样他就会直接把我 GitHub 上的源码转过去了, 不存在什么最小化 /压缩 /混淆的问题
    autoxbc
    autoxbc
    Sep 29, 2021
    4
    确实不能最小化,扩展和油猴都不行,出过好几个加料的案例了
    C02TobNClov1Dz56
    C02TobNClov1Dz56
    Sep 29, 2021
    5
    不要最小化, 防止偷偷加料难以发现.
    flyhaozi
    flyhaozi
    Sep 29, 2021
    6
    用户脚本有啥最小化的必要吗
    ch2
    ch2
    Sep 29, 2021 via iPhone❤️1
    7
    你的代码在用户那里只会分发一次,有必要最小化?
    coolair
    coolair
    Sep 29, 2021
    8
    谁的电脑都不差这十几 K 的存储吧。
    Vegetable
    Vegetable
    Sep 29, 2021
    9
    。。。这个道理很难理解吗?
    RanKaede
    RanKaede
    Sep 30, 2021
    10
    不需要网络传输的东西为什么需要最小化呢?
    Trim21
    Trim21
    Sep 30, 2021 via Android
    11
    用打包工具打包是可以的,压缩是不行的。

    (带上一堆打包工具自己的辅助函数也挺破坏可读性的…)
    bjzhou1990
    bjzhou1990
    OP
    Sep 30, 2021
    12
    @ch2 base64 函数内置的不好用,用了三方的,我也没必要还专门去把他代码还原回去呀。。。
    seakingii
    seakingii
    Sep 30, 2021❤️1
    13
    @bjzhou1990 是的你没必要.所以别人举报不符合规则的项目是有必要的.

    为什么在别人的平台上,以自己为中心?
    ysc3839
    ysc3839
    Sep 30, 2021
    14
    @bjzhou1990 “base64 函数内置的不好用”

    只是解码纯文本的话,内置的有什么问题吗?是需要编码转换功能?
    0017
    0017
    Sep 30, 2021
    15
    @bjzhou1990 这不是风险更大了么,如果三方的里面加料了呢?
    Indexyz
    Indexyz
    Oct 1, 2021 via Android❤️1
    16
    @ysc3839 Browser JavaScript 内置的 Base64 函数( atob / btoa )不支持 utf8
    codehz
    codehz
    Oct 1, 2021❤️1
    17
    @Indexyz 谁说不支持的,js 的 string 可是很魔法的存在,F12 测试下看看

    btoa(Array.from(new TextEncoder().encode("❤️UTF-8 测试")).map(x=>String.fromCharCode(x)).join(''))
    // "4p2k77iPVVRGLTjmtYvor5U="
    new TextDecoder().decode(new Uint8Array(atob("4p2k77iPVVRGLTjmtYvor5U=").split('').map(x=>x.codePointAt(0))))
    // ❤️UTF-8 测试
    codehz
    codehz
    Oct 1, 2021
    18
    注:得到 4p2k77iPVVRGLTgg5rWL6K+V 是因为 V2EX 加了个空格(
    UnluckyNinja
    UnluckyNinja
    Oct 1, 2021
    19
    不能最小化不能混淆,引用的库尽量 require 官方的 cdn 分发版本,实在没有的话,greasyfork 上有专门的用来作为依赖库的分类,可以找现成的或者自己传,传完再 require,直接嵌入的必须明确说明。总之就是需要你主动来解释代码,不给源码也不说明,相当于放弃为自己的辩护了
    1 楼贴的官方规则写的很清楚了:“库是应被 @require 的脚本,除非因为技术原因不能这么做。如果一个库被内嵌入了脚本,那么你必须一并提供库的来源(比如一行评论指向原始地址、名称以及版本)。”
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1734 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 17:06 · PVG 01:06 · LAX 09:06 · JFK 12:06
    ♥ Do have faith in what you're doing.