Skip to content

Instantly share code, notes, and snippets.

@fantasywind
Last active August 29, 2015 14:16
Show Gist options
  • Save fantasywind/abb75d23ea4018a6b101 to your computer and use it in GitHub Desktop.
Save fantasywind/abb75d23ea4018a6b101 to your computer and use it in GitHub Desktop.
(API) Hinet SMS Sender in Node.js
var net = require('net');
var bufferpack = require('bufferpack');
var ACCOUNT = 'ACCOUNT';
var PASSWORD = 'PASSWORD';
var MOBILE = 'TARGET_NUMBER';
var MESSAGE = 'MESSAGE';
var client = new net.Socket();
client.on('data', function (data) {
var response = data.toString('utf8');
// Send Message
if (response.match('ID/Password check successful')) {
var sender = new Buffer(266);
sender.fill("\0", 0, 266);
bufferpack.packTo('B', sender, 0, [1]);
bufferpack.packTo('B', sender, 1, [4]);
bufferpack.packTo('B', sender, 2, [1]);
bufferpack.packTo('B', sender, 3, [0]);
bufferpack.packTo('B', sender, 4, [14]);
bufferpack.packTo('B', sender, 5, [Math.min(new Buffer(MESSAGE).length, 160)]);
sender.write(MOBILE + "\0" + '01' + "\0", 6);
sender.write(MESSAGE, 106);
client.write(sender);
}
});
client.on('close', function () {
console.log('Connection closed.')
});
client.connect(8000, '202.39.54.130', function () {
// Login
var auth = new Buffer(266);
auth.fill("\0", 0, 266);
bufferpack.packTo('B', auth, 0, [0]);
bufferpack.packTo('B', auth, 1, [1]);
bufferpack.packTo('B', auth, 2, [0]);
bufferpack.packTo('B', auth, 3, [18]);
bufferpack.packTo('B', auth, 4, [0]);
auth.write(ACCOUNT + "\0" + PASSWORD + "\0", 6);
client.write(auth);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment