I have been using imagebuilder for a while, its a great tool. But as the days pass, openwrt team keeps on developing new goodies.
I want to fix the versions of packages and ignore upgrades for a while, in imagebuilder. Is there any way to using local files instead of online resources?
I assume you're talking about master, since the release branches are stable by their very nature. The best solution would be to compile your own firmware, rather than relying on the SDK (or, as an alternative, use the SDK and pull in all packages of that very same build so you can use them with the SDK.
By compiling, you can pull a git checkout and rely on that.
You might want to limit the download to the subdirectories for your target and package architecture.
Their URLs can be found in the Image Builder's repositories.conf, or in the file /etc/opkg/distfeeds.conf on a running system; replace http://downloads.openwrt.org/ with rsync://downloads.openwrt.org/downloads/.