还记得2010年的时候,那时候开始喜欢上了js,经常逛MDN

一开始写些简单的油猴脚本,慢慢的接触了扩展开发,发现用自己的js知识 加上firefox的插件API,可以完成好多功能。

看了很多插件的源代码,集成很多插件功能,代码也是重构了好几个版本(基于FF功能,Components.utils.import封装了require模块加载,sqlite数据库操作,http拦截, 定时任务,Prefs操作等)

也发现FF插件其实很不安全(可以拦截http请求进行修改,进行中间人攻击)

不知不觉就写了2年。

后来FF也有了一套api工具包,我也主要通过aauto写相关的桌面程序了,就再没有更新过

特写这篇博文,记录下曾经写过的插件api功能

  github项目地址: https://github.com/legu2009/UserJS

  该插件为基础api包,通过overlay.xul,在chrome级别插入script结点引用

  简单介绍下文件夹和功能,时间太早了,有的一时也翔不起来了

|-content //插件内容文件夹

  |-datebase

    DateBase.js//sqlite数据库操作

  |-img

    Canvas.js//获取图像的base64数据或保存网页为图片

  |-io(这个用的比较少,有的可能api,只是其他插件的重写下)

    _FILE_BASE.js//系统文件描述符

    DIR_UTILS.js//文件夹公用函数

    File.js//文件操作

    File_base.js//文件操作

  |-network

    Ajax.js//ajax功能封装1.0

    Ajax2.js//ajax功能封装2.0

    CACHE.js//浏览器内存控制

    COOKIES.js//浏览器cookie控制

    HTTP_OBSERVER.js//http请求监听

    PROXY_OBSERVER.js//浏览器代理设置

    POP.js//基于pop,socket与服务器通信

    SMTP.js//基于SMTP,socket与服务器通信

    ServerSocket.js//服务器端socket代码

    Socket.js//客户端socket

  |-other

    保存的插件代码

  |-server

    httpd.js//httpserver//来源于别的项目

  |-UserJS//自己用的脚本,功能更加强,涉及安全问题,可以用于黑客技术

    network

      Ajax3.js//ajax功能封装3.0

      COOKIE_MANAGE//浏览器cookie管理,结合数据库(可以做多马甲浏览器)

      COOKIE_MANAGE_AND.js//浏览器cookie管理,无数据库

      HTTP_OBSERVER.js//HTTP请求响应的拦截,监控,可以修改返回,或制定返回文件

      HTTP_OBSERVER-53.js//以前一个版本的保存

      INFO_MANAGE.js//帐号信息管理

      OPTS_MANAGE.js//数据库初始化

  |-utils

    _TIMER.js//浏览器级别定时器api封装

    CLEAR.js//清空浏览器缓存功能(cookie,历史,flash 等)

    CONFIG.js//开启java,js功能

    dateFormat.js//时间格式化

    Group.js//组管理(用于定时任务,定时)

    jsBeautify.js

    PATH_MANAGE.js//路径管理,资源文件和实际文件路径,等相关功能

    Post.js//定时任务系统,主要是开发了个多帐号抢楼层逻辑

    Prefs.js//配置Prefs管理

    RSA.js//RSA加密

    Timer.js//定时器

    Worker.js//多任务管理,定时任务管理

    UTIL.js//公用库(md5,迭代器,加载脚本,编码转换,浏览器提示,通过调进程切换IP)

  init.js//插入chrome的初始化文件

  options.json//配置短路径配置文件,主要用于require

  overlay.xul//插件载入,修改chrome元素的信息xul文件

|-defaults //插件多语言等信息的文件夹

chrome.manifest //FF注册资源文件

install.rd f//FF插件信息文件

firefox 自写底层扩展,源码简介的更多相关文章

  1. (原创)通用查询实现方案(可用于DDD)[附源码] -- 简介

    [声明] 写作不易,转载请注明出处(http://www.cnblogs.com/wiseant/p/3985353.html).   [系列文章] 通用查询实现方案(可用于DDD)[附源码] -- ...

  2. 通用查询实现方案(可用于DDD)[附源码] -- 简介

    原文:通用查询实现方案(可用于DDD)[附源码] -- 简介 [声明] 写作不易,转载请注明出处(http://www.cnblogs.com/wiseant/p/3985353.html).   [ ...

  3. Redis核心设计原理(深入底层C源码)

    Redis 基本特性 1. 非关系型的键值对数据库,可以根据键以O(1) 的时间复杂度取出或插入关联值 2. Redis 的数据是存在内存中的 3. 键值对中键的类型可以是字符串,整型,浮点型等,且键 ...

  4. 手写Koa.js源码

    用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 ...

  5. 图解Janusgraph系列-图数据底层序列化源码分析(Data Serialize)

    图解Janusgraph系列-图数据底层序列化源码分析(Data Serialize) 大家好,我是洋仔,JanusGraph图解系列文章,实时更新~ 图数据库文章总目录: 整理所有图相关文章,请移步 ...

  6. C写的扫描器源码

    Title:C写的扫描器源码 --2010-10-27 20:02 无意间看见的一个源代码,弄回来读下. ----------------------------------------------- ...

  7. Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装

    原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...

  8. 手写@koa/router源码

    上一篇文章我们讲了Koa的基本架构,可以看到Koa的基本架构只有中间件内核,并没有其他功能,路由功能也没有.要实现路由功能我们必须引入第三方中间件,本文要讲的路由中间件是@koa/router,这个中 ...

  9. OpenSSL源码简介

    1.X.509标准 x509是由国际电信联盟(ITU-T)制定的数字证书标准:包含公钥和用户标志符.CA等: x509是数字证书的规范,P7和P12是两种封装形式:X.509是常见通用的证书格式.所有 ...

随机推荐

  1. ThInkPHP中的常量

    除了常规变量的输出外,模板引擎还支持系统变量和系统常量.以及系统特殊变量的输出.它们的输出不需要事先赋值给某个模板变量.系统变量的输出必须以$Think.打头,并且仍然可以支持使用函数.常用的系统变量 ...

  2. Android学习之DialogFragment

    DialogFrament是Android sdk中的对话框基类,开发人员可以针对此类进行扩展.他可以扩展出Android中的多种对话框,比如alertdialog,listdialog,radiod ...

  3. Web页面在手机上显示过大问题

    网上抄来了,自己也备忘下:增加<meta name="viewport" content="width=device-width, initial-scale=1. ...

  4. python程序不支持中文

    SyntaxError: Non-ASCII character '\xe8' in file delete.py on line 4, but no encoding declared; see h ...

  5. ZRender源码分析4:Painter(View层)-中

    回顾 上一篇说到:ZRender源码分析3:Painter(View层)-上,接上篇,开始Shape对象 总体理解 先回到上次的Painter的render方法 /** * 首次绘图,创建各种dom和 ...

  6. undo_retention:确定最优的撤销保留时间

    使用下面的公式来计算undo_retention参数的值: undo_retention=undo size/(db_block_size * undo_block_per_sec) 可以通过提交下面 ...

  7. Android开发:自定义GridView/ListView数据源

    http://mobile.51cto.com/android-259861.htm 在开发中,我们常常会遇到比较复杂的GridView/ListView的布局,重新实现BaseAdapter不但能帮 ...

  8. 修改Windows XP的桌面路径

    WinowsXP 的桌面的是在系统盘上,一但系统瘫痪需要重新安装系统时,总得记得去备份桌面的重要文件,如果一不小心忘记备份就重装系统的话,那些重要文件就一去不复返了.其实我们可以把桌面放到其它盘目录里 ...

  9. Ribbon Gymnastics

    Robert is a gymnastics coach. Unfortunately, he got four gymnastics beginners to attend the coming c ...

  10. iterm快捷键及操作技巧(附Linux快捷键)

    标签操作 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:com ...